local H=import("\046\047\066\097\115\101\073\110\115\116\097\110\099\101")local a=import("\046\046\047\073\110\115\116\097\110\099\101\080\114\111\112\101\114\116\121")local X=import("\046\046\047\116\121\112\101\115\047\086\101\099\116\111\114\050")local t=import("\046\046\047\069\110\117\109\047\090\073\110\100\101\120\066\101\104\097\118\105\111\114")local Y=H:extend("\083\099\114\101\101\110\071\117\105",{creatable=true})Y.properties.AbsolutePosition=a.readOnly({get=function(H)return X.new(0,0)end})Y.properties.AbsoluteSize=a.readOnly({get=function(H)return X.new(800,600)end})Y.properties.DisplayOrder=a.typed("\110\117\109\098\101\114",{getDefault=function()return 0 end})Y.properties.AutoLocalize=a.typed("\098\111\111\108\101\097\110",{getDefault=function()return true end})Y.properties.IgnoreGuiInset=a.typed("\098\111\111\108\101\097\110",{getDefault=function()return false end})Y.properties.ZIndexBehavior=a.enum(t,{getDefault=function()return t.Global end})Y.properties.Enabled=a.typed("\098\111\111\108\101\097\110",{getDefault=function()return true end})Y.properties.OnTopOfCoreBlur=a.typed("\098\111\111\108\101\097\110",{getDefault=function()return false end})return Y
local BaseInstance = import("./BaseInstance")
local InstanceProperty = import("../InstanceProperty")
local Vector2 = import("../types/Vector2")
local ZIndexBehavior = import("../Enum/ZIndexBehavior")

local ScreenGui = BaseInstance:extend("ScreenGui", {
	creatable = true,
})

ScreenGui.properties.AbsolutePosition = InstanceProperty.readOnly({
	get = function(self)
		return Vector2.new(0, 0)
	end,
})

ScreenGui.properties.AbsoluteSize = InstanceProperty.readOnly({
	get = function(self)
		return Vector2.new(800, 600)
	end,
})

ScreenGui.properties.DisplayOrder = InstanceProperty.typed("number", {
	getDefault = function()
		return 0
	end,
})

ScreenGui.properties.AutoLocalize = InstanceProperty.typed("boolean", {
	getDefault = function()
		return true
	end,
})

ScreenGui.properties.IgnoreGuiInset = InstanceProperty.typed("boolean", {
	getDefault = function()
		return false
	end,
})

ScreenGui.properties.ZIndexBehavior = InstanceProperty.enum(ZIndexBehavior, {
	getDefault = function()
		return ZIndexBehavior.Global
	end,
})

ScreenGui.properties.Enabled = InstanceProperty.typed("boolean", {
	getDefault = function()
		return true
	end,
})

ScreenGui.properties.OnTopOfCoreBlur = InstanceProperty.typed("boolean", {
	getDefault = function()
		return false
	end,
})

return ScreenGui
