-- Generated ApiVault API data shard. Do not edit manually.
-- version=0.1.0.2; shard=12; systems=20
local addonName, ApiVault = ...
local systems = ApiVault.APIData.systems
systems[#systems + 1] = {
	name = "HouseExteriorUI",
	type = "System",
	ns = "C_HouseExterior",
	env = "All",
	file = "HouseExteriorUIDocumentation.lua",
	hash = "bdb4c1f076717e844382db2e84880f92d101d06a8010f9600ade46209d53edd8",
	functions = {
		{
			n = "CancelActiveExteriorEditing",
			k = "Function",
			doc = {
				"Cancels all in-progress editing of house exterior fixtures, which will deselect any active targets",
			},
		},
		{
			n = "GetCoreFixtureOptionsInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "coreFixtureType",
					t = "HousingFixtureType",
					nilable = false,
				},
			},
			rets = {
				{
					n = "coreFixtureOptionsInfo",
					t = "HousingCoreFixtureInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetCurrentHouseExteriorSize",
			k = "Function",
			rets = {
				{
					n = "houseExteriorSize",
					t = "HousingFixtureSize",
					nilable = true,
				},
			},
		},
		{
			n = "GetCurrentHouseExteriorType",
			k = "Function",
			rets = {
				{
					n = "houseExteriorTypeID",
					t = "number",
					nilable = true,
				},
				{
					n = "houseExteriorTypeName",
					t = "cstring",
					nilable = true,
				},
			},
		},
		{
			n = "GetHouseExteriorSizeOptions",
			k = "Function",
			rets = {
				{
					n = "options",
					t = "HouseExteriorSizeOptionsInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetHouseExteriorTypeOptions",
			k = "Function",
			rets = {
				{
					n = "options",
					t = "HouseExteriorTypeOptionsInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetSelectedFixturePointInfo",
			k = "Function",
			rets = {
				{
					n = "fixturePointInfo",
					t = "HousingFixturePointInfo",
					nilable = true,
				},
			},
		},
		{
			n = "HasHoveredFixture",
			k = "Function",
			rets = {
				{
					n = "anyHoveredFixture",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "HasSelectedFixturePoint",
			k = "Function",
			rets = {
				{
					n = "anySelectedFixturePoint",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsAnyDecorAttachedToCoreFixture",
			k = "Function",
			doc = {
				"Returns true if any decor is attached to the specified core fixture type, OR any child fixtures attached to it; Will also return false if the type provided is not a core fixture type, or if not in Exterior Customization mode on an owned plot",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "coreFixtureType",
					t = "HousingFixtureType",
					nilable = false,
				},
			},
			rets = {
				{
					n = "anyAttachedDecor",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsAnyDecorAttachedToDoor",
			k = "Function",
			doc = {
				"Returns true if any decor is attached to the current House Exterior's door; Will also return false if not in Exterior Customization mode on an owned plot",
			},
			rets = {
				{
					n = "anyAttachedDecor",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsAnyDecorAttachedToHouseExterior",
			k = "Function",
			doc = {
				"Returns true if any decor is attached to any component of the current House Exterior; Will also return false if not in House Exterior Customization mode on an owned Plot",
			},
			rets = {
				{
					n = "anyAttachedDecor",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsAnyDecorAttachedToSelectedFixturePoint",
			k = "Function",
			doc = {
				"Returns true if any decor is attached to the Fixture occupying the currently selected fixture point; Will also return false if no point is currently selected, or if there is currently no Fixture there",
			},
			rets = {
				{
					n = "anyAttachedDecor",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsExteriorDecorHidden",
			k = "Function",
			rets = {
				{
					n = "decorHidden",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "RemoveFixtureFromSelectedPoint",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "attachedDecorAction",
					t = "HousingFixtureDecorAction",
					nilable = false,
					def = "Store",
					doc = {
						"What to do with any decor currently attached to the fixture",
					},
				},
			},
		},
		{
			n = "SelectCoreFixtureOption",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "fixtureID",
					t = "number",
					nilable = false,
				},
				{
					n = "attachedDecorAction",
					t = "HousingFixtureDecorAction",
					nilable = false,
					def = "Store",
					doc = {
						"What to do with any decor attached to the old core fixture; If the fixture being swapped is a variant (ie recolor) of the existing one, attached decor will always be reparented directly to the new one",
					},
				},
			},
		},
		{
			n = "SelectFixtureOption",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "fixtureID",
					t = "number",
					nilable = false,
				},
				{
					n = "attachedDecorAction",
					t = "HousingFixtureDecorAction",
					nilable = false,
					def = "Store",
					doc = {
						"If this fixture choice is replacing an existing one that has decor attached, what to do with any decor attached to the old one",
					},
				},
			},
		},
		{
			n = "SetExteriorDecorHidden",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "decorHidden",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetHouseExteriorSize",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "size",
					t = "HousingFixtureSize",
					nilable = false,
				},
				{
					n = "attachedDecorAction",
					t = "HousingFixtureDecorAction",
					nilable = false,
					def = "Store",
					doc = {
						"What to do with decor attached to any of the house's existing exterior components",
					},
				},
			},
		},
		{
			n = "SetHouseExteriorType",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "houseExteriorTypeID",
					t = "number",
					nilable = false,
				},
				{
					n = "attachedDecorAction",
					t = "HousingFixtureDecorAction",
					nilable = false,
					def = "Store",
					doc = {
						"What to do with decor attached to any of the house's existing exterior components",
					},
				},
			},
		},
	},
	events = {
		{
			n = "HouseExteriorDecorHiddenChanged",
			k = "Event",
			payload = {
				{
					n = "isDecorHidden",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSE_EXTERIOR_DECOR_HIDDEN_CHANGED",
		},
		{
			n = "HouseExteriorTypeUnlocked",
			k = "Event",
			payload = {
				{
					n = "fixtureID",
					t = "number",
					nilable = false,
				},
			},
			literal = "HOUSE_EXTERIOR_TYPE_UNLOCKED",
			unique = true,
		},
		{
			n = "HousingCoreFixtureChanged",
			k = "Event",
			payload = {
				{
					n = "coreFixtureType",
					t = "HousingFixtureType",
					nilable = false,
				},
			},
			literal = "HOUSING_CORE_FIXTURE_CHANGED",
			unique = true,
		},
		{
			n = "HousingFixtureHoverChanged",
			k = "Event",
			payload = {
				{
					n = "anyHovered",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_FIXTURE_HOVER_CHANGED",
		},
		{
			n = "HousingFixturePointFrameAdded",
			k = "Event",
			payload = {
				{
					n = "pointFrame",
					t = "HousingFixturePointFrame",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_FIXTURE_POINT_FRAME_ADDED",
		},
		{
			n = "HousingFixturePointFrameReleased",
			k = "Event",
			payload = {
				{
					n = "pointFrame",
					t = "HousingFixturePointFrame",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_FIXTURE_POINT_FRAME_RELEASED",
		},
		{
			n = "HousingFixturePointFramesReleased",
			k = "Event",
			SynchronousEvent = true,
			literal = "HOUSING_FIXTURE_POINT_FRAMES_RELEASED",
		},
		{
			n = "HousingFixturePointSelectionChanged",
			k = "Event",
			payload = {
				{
					n = "hasSelection",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_FIXTURE_POINT_SELECTION_CHANGED",
		},
		{
			n = "HousingFixtureUnlocked",
			k = "Event",
			payload = {
				{
					n = "fixtureID",
					t = "number",
					nilable = false,
				},
			},
			literal = "HOUSING_FIXTURE_UNLOCKED",
			unique = true,
		},
		{
			n = "HousingSetExteriorHouseSizeResponse",
			k = "Event",
			payload = {
				{
					n = "result",
					t = "HousingResult",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_SET_EXTERIOR_HOUSE_SIZE_RESPONSE",
		},
		{
			n = "HousingSetExteriorHouseTypeResponse",
			k = "Event",
			payload = {
				{
					n = "result",
					t = "HousingResult",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_SET_EXTERIOR_HOUSE_TYPE_RESPONSE",
		},
		{
			n = "HousingSetFixtureResponse",
			k = "Event",
			payload = {
				{
					n = "result",
					t = "HousingResult",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_SET_FIXTURE_RESPONSE",
		},
	},
}
systems[#systems + 1] = {
	name = "HousingBasicModeUI",
	type = "System",
	ns = "C_HousingBasicMode",
	env = "All",
	file = "HousingBasicModeUIDocumentation.lua",
	hash = "deb2a7195243e9c497175dab76069850566677a7bab7cdba9fdca0068037b4aa",
	functions = {
		{
			n = "CancelActiveEditing",
			k = "Function",
			doc = {
				"Cancels all in-progress editing of the selected target, which will reset any unsaved changes and deselect the active target; Un-placed decor will be returned to the house chest",
			},
		},
		{
			n = "CommitDecorMovement",
			k = "Function",
			doc = {
				"Attempt to save the changes made to the currently selected decor instance",
			},
		},
		{
			n = "CommitHouseExteriorPosition",
			k = "Function",
			doc = {
				"Attempt to save the changes made to the House Exterior's position within the plot",
			},
		},
		{
			n = "FinishPlacingNewDecor",
			k = "Function",
		},
		{
			n = "GetHoveredDecorInfo",
			k = "Function",
			doc = {
				"Returns info for the placed decor instance currently being hovered, if there is one",
			},
			rets = {
				{
					n = "info",
					t = "HousingDecorInstanceInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetSelectedDecorInfo",
			k = "Function",
			doc = {
				"Returns info for the decor instance that's currently selected, if there is one",
			},
			rets = {
				{
					n = "info",
					t = "HousingDecorInstanceInfo",
					nilable = true,
				},
			},
		},
		{
			n = "IsDecorSelected",
			k = "Function",
			doc = {
				"Returns true if a decor instance is currently selected and being dragged",
			},
			rets = {
				{
					n = "hasSelectedDecor",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsFreePlaceEnabled",
			k = "Function",
			doc = {
				"When free place is enabled, collision checks while dragging decor/the house exterior are ignored",
			},
			rets = {
				{
					n = "freePlaceEnabled",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsGridSnapEnabled",
			k = "Function",
			rets = {
				{
					n = "isGridSnapEnabled",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsGridVisible",
			k = "Function",
			rets = {
				{
					n = "gridVisible",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsHouseExteriorHovered",
			k = "Function",
			doc = {
				"Returns true if the house's exterior is currently being hovered",
			},
			rets = {
				{
					n = "isHouseExteriorHovered",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsHouseExteriorSelected",
			k = "Function",
			doc = {
				"Returns true if the house's exterior is currently selected and being moved",
			},
			rets = {
				{
					n = "isHouseExteriorSelected",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsHoveringDecor",
			k = "Function",
			doc = {
				"Returns true if a placed decor instance is currently being hovered",
			},
			rets = {
				{
					n = "isHoveringDecor",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsPlacingNewDecor",
			k = "Function",
			rets = {
				{
					n = "hasPendingDecor",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "RemoveSelectedDecor",
			k = "Function",
			doc = {
				"Attempt to return the currently selected decor instance back to the house chest",
			},
		},
		{
			n = "RotateDecor",
			k = "Function",
			doc = {
				"Rotates the currently selected decor along a single axis; For wall decor, rotates such that the object stays flat against its current wall; For all other decor, rotates around the Z (vertical) axis",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "rotDegrees",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "RotateHouseExterior",
			k = "Function",
			doc = {
				"Rotates the House Exterior around the Z (vertical) axis",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "rotDegrees",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "SetFreePlaceEnabled",
			k = "Function",
			doc = {
				"Set whether free place is enabled; When free place is enabled, collision checks while dragging decor/the house exterior are ignored",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "freePlaceEnabled",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetGridSnapEnabled",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "isGridSnapEnabled",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetGridVisible",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "gridVisible",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "StartPlacingNewDecor",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "catalogEntryVariantID",
					t = "HousingCatalogEntryVariantID",
					nilable = false,
				},
			},
		},
		{
			n = "StartPlacingPreviewDecor",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "decorRecordID",
					t = "number",
					nilable = false,
				},
				{
					n = "bundleCatalogShopProductID",
					t = "number",
					nilable = true,
				},
			},
		},
	},
	events = {
		{
			n = "HousingBasicModeHoveredTargetChanged",
			k = "Event",
			payload = {
				{
					n = "hasHoveredTarget",
					t = "bool",
					nilable = false,
				},
				{
					n = "targetType",
					t = "HousingBasicModeTargetType",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_BASIC_MODE_HOVERED_TARGET_CHANGED",
		},
		{
			n = "HousingBasicModePlacementFlagsUpdated",
			k = "Event",
			payload = {
				{
					n = "targetType",
					t = "HousingBasicModeTargetType",
					nilable = false,
				},
				{
					n = "activeFlags",
					t = "HousingDecorPlacementRestriction",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_BASIC_MODE_PLACEMENT_FLAGS_UPDATED",
		},
		{
			n = "HousingBasicModeSelectedTargetChanged",
			k = "Event",
			payload = {
				{
					n = "hasSelectedTarget",
					t = "bool",
					nilable = false,
				},
				{
					n = "targetType",
					t = "HousingBasicModeTargetType",
					nilable = false,
				},
				{
					n = "isPreview",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_BASIC_MODE_SELECTED_TARGET_CHANGED",
		},
		{
			n = "HousingDecorFreePlaceStatusChanged",
			k = "Event",
			payload = {
				{
					n = "isFreePlaceEnabled",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_DECOR_FREE_PLACE_STATUS_CHANGED",
		},
		{
			n = "HousingDecorGridSnapOccurred",
			k = "Event",
			SynchronousEvent = true,
			literal = "HOUSING_DECOR_GRID_SNAP_OCCURRED",
		},
		{
			n = "HousingDecorGridSnapStatusChanged",
			k = "Event",
			payload = {
				{
					n = "isGridSnapEnabled",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_DECOR_GRID_SNAP_STATUS_CHANGED",
		},
	},
	tables = {
		{
			n = "HousingBasicModeTargetType",
			k = "Enumeration",
			fields = {
				{
					n = "None",
					t = "HousingBasicModeTargetType",
					EnumValue = 0,
				},
				{
					n = "Decor",
					t = "HousingBasicModeTargetType",
					EnumValue = 1,
				},
				{
					n = "House",
					t = "HousingBasicModeTargetType",
					EnumValue = 2,
				},
			},
			max = 2,
			min = 0,
			num = 3,
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "HousingCatalogConstantsDocumentation.lua",
	hash = "7a57d8fe99039b724aa8414e226084d022af11e22df68efab57b012bf2e1f1d5",
	tables = {
		{
			n = "HousingCatalogEntryModelScenePresets",
			k = "Enumeration",
			fields = {
				{
					n = "DecorDefault",
					t = "HousingCatalogEntryModelScenePresets",
					EnumValue = 1317,
				},
				{
					n = "DecorTiny",
					t = "HousingCatalogEntryModelScenePresets",
					EnumValue = 1333,
				},
				{
					n = "DecorSmall",
					t = "HousingCatalogEntryModelScenePresets",
					EnumValue = 1334,
				},
				{
					n = "DecorMedium",
					t = "HousingCatalogEntryModelScenePresets",
					EnumValue = 1335,
				},
				{
					n = "DecorLarge",
					t = "HousingCatalogEntryModelScenePresets",
					EnumValue = 1336,
				},
				{
					n = "DecorHuge",
					t = "HousingCatalogEntryModelScenePresets",
					EnumValue = 1337,
				},
				{
					n = "DecorCeiling",
					t = "HousingCatalogEntryModelScenePresets",
					EnumValue = 1338,
				},
				{
					n = "DecorWall",
					t = "HousingCatalogEntryModelScenePresets",
					EnumValue = 1339,
				},
				{
					n = "DecorFlat",
					t = "HousingCatalogEntryModelScenePresets",
					EnumValue = 1318,
				},
				{
					n = "DecorHorizontalSurface",
					t = "HousingCatalogEntryModelScenePresets",
					EnumValue = 1452,
				},
			},
			max = 1452,
			min = 1317,
			num = 10,
		},
		{
			n = "HousingCatalogEntrySize",
			k = "Enumeration",
			fields = {
				{
					n = "None",
					t = "HousingCatalogEntrySize",
					EnumValue = 0,
				},
				{
					n = "Tiny",
					t = "HousingCatalogEntrySize",
					EnumValue = 65,
				},
				{
					n = "Small",
					t = "HousingCatalogEntrySize",
					EnumValue = 66,
				},
				{
					n = "Medium",
					t = "HousingCatalogEntrySize",
					EnumValue = 67,
				},
				{
					n = "Large",
					t = "HousingCatalogEntrySize",
					EnumValue = 68,
				},
				{
					n = "Huge",
					t = "HousingCatalogEntrySize",
					EnumValue = 69,
				},
			},
			max = 69,
			min = 0,
			num = 6,
		},
		{
			n = "HousingCatalogEntryType",
			k = "Enumeration",
			fields = {
				{
					n = "Invalid",
					t = "HousingCatalogEntryType",
					EnumValue = 0,
				},
				{
					n = "Decor",
					t = "HousingCatalogEntryType",
					EnumValue = 1,
				},
				{
					n = "Room",
					t = "HousingCatalogEntryType",
					EnumValue = 2,
				},
			},
			max = 2,
			min = 0,
			num = 3,
		},
		{
			n = "HousingCatalogSortType",
			k = "Enumeration",
			fields = {
				{
					n = "DateAdded",
					t = "HousingCatalogSortType",
					EnumValue = 0,
				},
				{
					n = "Alphabetical",
					t = "HousingCatalogSortType",
					EnumValue = 1,
				},
			},
			max = 1,
			min = 0,
			num = 2,
		},
		{
			n = "HousingCatalogConsts",
			k = "Constants",
			values = {
				{
					n = "HOUSING_CATALOG_FEATURED_CATEGORY_ID",
					t = "number",
					Value = 17,
				},
				{
					n = "HOUSING_CATALOG_ALL_CATEGORY_ID",
					t = "number",
					Value = 18,
				},
				{
					n = "HOUSING_CATALOG_DECOR_MODELSCENEID_DEFAULT",
					t = "number",
					Value = 1317,
				},
			},
		},
		{
			n = "HousingCatalogEntryID",
			k = "Structure",
			doc = {
				"Identifier for base entries in the catalog",
			},
			fields = {
				{
					n = "recordID",
					t = "number",
					nilable = false,
				},
				{
					n = "entryType",
					t = "HousingCatalogEntryType",
					nilable = false,
				},
			},
		},
		{
			n = "HousingCatalogEntryVariantID",
			k = "Structure",
			doc = {
				"Compound Identifier for entry variant stacks in the catalog",
			},
			fields = {
				{
					n = "recordID",
					t = "number",
					nilable = false,
				},
				{
					n = "entryType",
					t = "HousingCatalogEntryType",
					nilable = false,
				},
				{
					n = "variantIdentifier",
					t = "number",
					nilable = false,
					doc = {
						"Hashed value used to identify and differentiate stacks that are the same type and record, but have some variant-specific difference (e.g. dye colors)",
					},
				},
			},
		},
		{
			n = "HousingCatalogFilterTagGroupInfo",
			k = "Structure",
			fields = {
				{
					n = "groupID",
					t = "number",
					nilable = false,
				},
				{
					n = "groupName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "tags",
					t = "table",
					nilable = false,
					it = "HousingCatalogFilterTagInfo",
				},
			},
		},
		{
			n = "HousingCatalogFilterTagInfo",
			k = "Structure",
			fields = {
				{
					n = "tagID",
					t = "number",
					nilable = false,
				},
				{
					n = "tagName",
					t = "string",
					nilable = false,
				},
				{
					n = "orderIndex",
					t = "number",
					nilable = false,
				},
				{
					n = "anyAssociatedEntries",
					t = "bool",
					nilable = false,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "HousingCatalogSearcherAPI",
	type = "ScriptObject",
	ns = "",
	env = "All",
	file = "HousingCatalogSearcherAPIDocumentation.lua",
	hash = "33a9532cd641b4a127ff192392327cc25f004a3fc084a7d27d062c27c1c580c3",
	functions = {
		{
			n = "GetAllSearchItems",
			k = "Function",
			doc = {
				"Returns all catalog entries being searched (note these are NOT search results, this is the source collection of what's being searched)",
			},
			rets = {
				{
					n = "matchingEntryVariantIDs",
					t = "table",
					nilable = false,
					it = "HousingCatalogEntryVariantID",
				},
			},
		},
		{
			n = "GetCatalogSearchResults",
			k = "Function",
			doc = {
				"Returns the most recent search result entries",
			},
			rets = {
				{
					n = "matchingEntryVariantIDs",
					t = "table",
					nilable = false,
					it = "HousingCatalogEntryVariantID",
				},
			},
		},
		{
			n = "GetEditorModeContext",
			k = "Function",
			rets = {
				{
					n = "editorModeContext",
					t = "HouseEditorMode",
					nilable = true,
				},
			},
		},
		{
			n = "GetFilterTagStatus",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "groupID",
					t = "number",
					nilable = false,
				},
				{
					n = "tagID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "active",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "GetFilteredCategoryID",
			k = "Function",
			rets = {
				{
					n = "categoryID",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "GetFilteredSubcategoryID",
			k = "Function",
			rets = {
				{
					n = "subcategoryID",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "GetNumSearchItems",
			k = "Function",
			doc = {
				"Returns the total number of entries being searched through",
			},
			rets = {
				{
					n = "numSearchItems",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetSearchCount",
			k = "Function",
			doc = {
				"Returns the total number of owned instances across all most recent search result entries",
			},
			rets = {
				{
					n = "searchCount",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetSearchText",
			k = "Function",
			rets = {
				{
					n = "searchText",
					t = "string",
					nilable = true,
				},
			},
		},
		{
			n = "GetSortType",
			k = "Function",
			rets = {
				{
					n = "sortType",
					t = "HousingCatalogSortType",
					nilable = false,
				},
			},
		},
		{
			n = "IsAllowedIndoorsActive",
			k = "Function",
			rets = {
				{
					n = "isActive",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsAllowedOutdoorsActive",
			k = "Function",
			rets = {
				{
					n = "isActive",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsBaseVariantOnlyActive",
			k = "Function",
			rets = {
				{
					n = "isActive",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsCollectedActive",
			k = "Function",
			rets = {
				{
					n = "isActive",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsCustomizableOnlyActive",
			k = "Function",
			rets = {
				{
					n = "isActive",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsFirstAcquisitionBonusOnlyActive",
			k = "Function",
			rets = {
				{
					n = "isActive",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsSearchInProgress",
			k = "Function",
			rets = {
				{
					n = "isSearchInProgress",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsStoredOnlyActive",
			k = "Function",
			rets = {
				{
					n = "isActive",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsUncollectedActive",
			k = "Function",
			rets = {
				{
					n = "isActive",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "RunSearch",
			k = "Function",
			doc = {
				"Run search with all current param values",
			},
		},
		{
			n = "SetAllInFilterTagGroup",
			k = "Function",
			doc = {
				"Set the toggle state of all filter tags within a specific group; If active, only entries that match Any of the tags in the group will be included in search results",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "groupID",
					t = "number",
					nilable = false,
				},
				{
					n = "active",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetAllowedIndoors",
			k = "Function",
			doc = {
				"Search parameter; If true, entries that can be placed in house interiors will be included in the search; Note many decor objects can be placed both indoors and outdoors, so having only this toggled on may still include decor that can also be placed outdoors",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "isActive",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetAllowedOutdoors",
			k = "Function",
			doc = {
				"Search parameter; If true, entries that can be placed outside in plots will be included in the search; Note many decor objects can be placed both indoors and outdoors, so having only this toggled on may still include decor that can also be placed indoors",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "isActive",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetAutoUpdateOnParamChanges",
			k = "Function",
			doc = {
				"If true, searcher automatically updates results whenever search param values are changed",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "autoUpdateActive",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetBaseVariantOnly",
			k = "Function",
			doc = {
				"Search parameter; If true, only the base variant of each decor entry will be included",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "isActive",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetCollected",
			k = "Function",
			doc = {
				"Search parameter; If true, includes all owned entries, including those that are in storage OR placed in an owned house or plot; See IsStoredOnlyActive for a more exclusive toggle",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "isActive",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetCustomizableOnly",
			k = "Function",
			doc = {
				"Search parameter; If true, catalog entries that cannot be customized (ie dyed) will be excluded from the search",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "isActive",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetEditorModeContext",
			k = "Function",
			doc = {
				"Search parameter; If set, limits search results to only entries that are used/valid in the specified editor mode",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "editorModeContext",
					t = "HouseEditorMode",
					nilable = true,
				},
			},
		},
		{
			n = "SetFilterTagStatus",
			k = "Function",
			doc = {
				"Set the toggle state of a single filter tag within a specific group",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "groupID",
					t = "number",
					nilable = false,
				},
				{
					n = "tagID",
					t = "number",
					nilable = false,
				},
				{
					n = "active",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetFilteredCategoryID",
			k = "Function",
			doc = {
				"Search parameter; If set, limits search results to only those within the specified category",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "categoryID",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "SetFilteredSubcategoryID",
			k = "Function",
			doc = {
				"Search parameter; If set, limits search results to only those within the specified subcategory",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "subcategoryID",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "SetFirstAcquisitionBonusOnly",
			k = "Function",
			doc = {
				"Search parameter; If true, excludes any entries that do not reward house xp when acquired for the first time",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "isActive",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetResultsUpdatedCallback",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "callback",
					t = "HousingCatalogSearchResultsUpdatedCallback",
					nilable = false,
				},
			},
		},
		{
			n = "SetSearchText",
			k = "Function",
			doc = {
				"Search parameter; If set, multiple text fields are checked for instances of the text, including name, category, subcategory, and data tags",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "searchText",
					t = "string",
					nilable = true,
					doc = {
						"Supports advanced search tokens ('\"' '-' and '|'), case and accent insensitive; Set nil to clear out the search text",
					},
				},
			},
		},
		{
			n = "SetSortType",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "sortType",
					t = "HousingCatalogSortType",
					nilable = false,
				},
			},
		},
		{
			n = "SetStoredOnly",
			k = "Function",
			doc = {
				"Search parameter; If true, only entries that you have instances of available in storage will be included; This does not include entries that you own but have all been placed in a house; See IsCollectedActive for param that includes placed entries",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "isActive",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetUncollected",
			k = "Function",
			doc = {
				"Search parameter; If true, includes entries that are not owned, meaning not available in storage nor placed in any owned houses or plots",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "isActive",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "ToggleAllowedIndoors",
			k = "Function",
		},
		{
			n = "ToggleAllowedOutdoors",
			k = "Function",
		},
		{
			n = "ToggleBaseVariantOnly",
			k = "Function",
		},
		{
			n = "ToggleCollected",
			k = "Function",
		},
		{
			n = "ToggleCustomizableOnly",
			k = "Function",
		},
		{
			n = "ToggleFilterTag",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "groupID",
					t = "number",
					nilable = false,
				},
				{
					n = "tagID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "ToggleFirstAcquisitionBonusOnly",
			k = "Function",
		},
		{
			n = "ToggleStoredOnly",
			k = "Function",
		},
		{
			n = "ToggleUncollected",
			k = "Function",
		},
	},
	tables = {
		{
			n = "HousingCatalogSearchResultsUpdatedCallback",
			k = "CallbackType",
		},
	},
}
systems[#systems + 1] = {
	name = "HousingCatalogUI",
	type = "System",
	ns = "C_HousingCatalog",
	env = "All",
	file = "HousingCatalogUIDocumentation.lua",
	hash = "8272fdceabfe5535fade6047fa7a6b9d0f11d0da9364a5b20e60fb7f6fc547c7",
	functions = {
		{
			n = "CreateCatalogSearcher",
			k = "Function",
			doc = {
				"Creates a new instance of a HousingCatalog searcher; This can be used to asynchronously search/filter the HousingCatalog without affecting/being restricted by the filter state of other Housing Catalog UI displays",
			},
			rets = {
				{
					n = "searcher",
					t = "HousingCatalogSearcher",
					nilable = false,
				},
			},
		},
		{
			n = "DeletePreviewCartDecor",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "decorGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
		},
		{
			n = "DestroyEntry",
			k = "Function",
			doc = {
				"Attempt to delete the entry from storage",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "entryVariantID",
					t = "HousingCatalogEntryVariantID",
					nilable = false,
				},
				{
					n = "destroyAll",
					t = "bool",
					nilable = false,
					doc = {
						"If true, deletes all entries within the stack; If false, will only delete one",
					},
				},
			},
		},
		{
			n = "GetAllFilterTagGroups",
			k = "Function",
			rets = {
				{
					n = "filterTagGroups",
					t = "table",
					nilable = false,
					it = "HousingCatalogFilterTagGroupInfo",
				},
			},
		},
		{
			n = "GetAllVariantInfosForEntry",
			k = "Function",
			doc = {
				"Returns variant info for all variants of a given catalog entry; Variants represent different visual modifications of the same base entry (ex: dyed versions)",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "entryID",
					t = "HousingCatalogEntryID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "variantInfos",
					t = "table",
					nilable = false,
					it = "HousingCatalogEntryVariantInfo",
				},
			},
		},
		{
			n = "GetBundleInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bundleCatalogShopProductID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "bundleInfo",
					t = "HousingBundleInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetCartSizeLimit",
			k = "Function",
			rets = {
				{
					n = "cartSizeLimit",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetCatalogCategoryAndSubcategoryNames",
			k = "Function",
			doc = {
				"If found, returns the names of the parent category and the specified subcategory",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "subcategoryID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "categoryName",
					t = "string",
					nilable = false,
				},
				{
					n = "subcategoryName",
					t = "string",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetCatalogCategoryInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "categoryID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "info",
					t = "HousingCatalogCategoryInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetCatalogEntryInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "entryID",
					t = "HousingCatalogEntryID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "info",
					t = "HousingCatalogEntryInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetCatalogEntryInfoByItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemInfo",
					t = "ItemInfo",
					nilable = false,
					doc = {
						"ItemID, name, or link of an item that grants/corresponds to a particular type of housing catalog object (ex: decor)",
					},
				},
			},
			rets = {
				{
					n = "info",
					t = "HousingCatalogEntryInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetCatalogEntryInfoByRecordID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "entryType",
					t = "HousingCatalogEntryType",
					nilable = false,
				},
				{
					n = "recordID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "info",
					t = "HousingCatalogEntryInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetCatalogEntryRefundTimeStampByRecordID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "entryType",
					t = "HousingCatalogEntryType",
					nilable = false,
				},
				{
					n = "recordID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "refundTimeStamp",
					t = "time_t",
					nilable = true,
				},
			},
		},
		{
			n = "GetCatalogEntryVariantInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "entryVariantID",
					t = "HousingCatalogEntryVariantID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "info",
					t = "HousingCatalogEntryVariantInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetCatalogSubcategoryInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "subcategoryID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "info",
					t = "HousingCatalogSubcategoryInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetDecorMaxOwnedCount",
			k = "Function",
			doc = {
				"Returns the maximum total number of decor that can be in storage/in the house chest; Note that not all decor entries in storage count towards this limit (see GetDecorTotalOwnedCount)",
			},
			rets = {
				{
					n = "maxOwnedCount",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetDecorTotalOwnedCount",
			k = "Function",
			rets = {
				{
					n = "totalOwnedCount",
					t = "number",
					nilable = false,
					doc = {
						"The total number of owned decor in storage, including both exempt and non-exempt decor",
					},
				},
				{
					n = "exemptDecorCount",
					t = "number",
					nilable = false,
					doc = {
						"The number of decor that do not count against the max storage limit",
					},
				},
			},
		},
		{
			n = "GetDestroyableInstanceCount",
			k = "Function",
			doc = {
				"Returns the number of instances that can be to be destroyed in storage; These instances count towards the max storage limit",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "entryVariantID",
					t = "HousingCatalogEntryVariantID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "destroyableInstanceCount",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetFeaturedBundles",
			k = "Function",
			rets = {
				{
					n = "bundleInfos",
					t = "table",
					nilable = false,
					it = "HousingBundleInfo",
				},
			},
		},
		{
			n = "GetFeaturedSmallProducts",
			k = "Function",
			rets = {
				{
					n = "infos",
					t = "table",
					nilable = false,
					it = "HousingFeaturedSmallProductInfo",
				},
			},
		},
		{
			n = "GetMarketInfoForDecor",
			k = "Function",
			doc = {
				"Returns market info for a specific decor. This is decor-only for now but should be extended to support entry type and recordID generically",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "decorID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "marketInfo",
					t = "HousingMarketInfo",
					nilable = true,
				},
			},
		},
		{
			n = "HasFeaturedEntries",
			k = "Function",
			rets = {
				{
					n = "hasEntries",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "HousingMarketActionAddToCart",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "productID",
					t = "number",
					nilable = false,
				},
				{
					n = "withPreview",
					t = "bool",
					nilable = false,
				},
			},
			HasRestrictions = true,
		},
		{
			n = "HousingMarketActionClearCart",
			k = "Function",
			HasRestrictions = true,
		},
		{
			n = "HousingMarketActionRemoveFromCart",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "productID",
					t = "number",
					nilable = false,
				},
			},
			HasRestrictions = true,
		},
		{
			n = "HousingMarketActionViewBundle",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "productID",
					t = "number",
					nilable = false,
				},
			},
			HasRestrictions = true,
		},
		{
			n = "HousingMarketActionViewInStore",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "productID",
					t = "number",
					nilable = false,
				},
			},
			HasRestrictions = true,
		},
		{
			n = "IsPreviewCartItemShown",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "decorGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "isShown",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "PromotePreviewDecor",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "decorID",
					t = "number",
					nilable = false,
				},
				{
					n = "previewDecorGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "success",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "RequestHousingMarketInfoRefresh",
			k = "Function",
		},
		{
			n = "RequestHousingMarketRefundInfo",
			k = "Function",
		},
		{
			n = "SearchCatalogCategories",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "searchParams",
					t = "HousingCategorySearchInfo",
					nilable = false,
				},
			},
			rets = {
				{
					n = "categoryIDs",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
		},
		{
			n = "SearchCatalogSubcategories",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "searchParams",
					t = "HousingCategorySearchInfo",
					nilable = false,
				},
			},
			rets = {
				{
					n = "subcategoryIDs",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
		},
		{
			n = "SetPreviewCartItemShown",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "decorGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "shown",
					t = "bool",
					nilable = false,
				},
			},
		},
	},
	events = {
		{
			n = "HousingCatalogCategoryUpdated",
			k = "Event",
			payload = {
				{
					n = "categoryID",
					t = "number",
					nilable = false,
				},
			},
			literal = "HOUSING_CATALOG_CATEGORY_UPDATED",
			unique = true,
		},
		{
			n = "HousingCatalogSubcategoryUpdated",
			k = "Event",
			payload = {
				{
					n = "subcategoryID",
					t = "number",
					nilable = false,
				},
			},
			literal = "HOUSING_CATALOG_SUBCATEGORY_UPDATED",
			unique = true,
		},
		{
			n = "HousingDecorAddToPreviewList",
			k = "Event",
			payload = {
				{
					n = "previewItemData",
					t = "HousingPreviewItemData",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_DECOR_ADD_TO_PREVIEW_LIST",
		},
		{
			n = "HousingDecorPreviewListRemoveFromWorld",
			k = "Event",
			payload = {
				{
					n = "decorGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_DECOR_PREVIEW_LIST_REMOVE_FROM_WORLD",
		},
		{
			n = "HousingDecorPreviewListUpdated",
			k = "Event",
			SynchronousEvent = true,
			literal = "HOUSING_DECOR_PREVIEW_LIST_UPDATED",
		},
		{
			n = "HousingRefundListUpdated",
			k = "Event",
			SynchronousEvent = true,
			literal = "HOUSING_REFUND_LIST_UPDATED",
		},
		{
			n = "HousingStorageEntryUpdated",
			k = "Event",
			payload = {
				{
					n = "entryVariantID",
					t = "HousingCatalogEntryVariantID",
					nilable = false,
				},
			},
			literal = "HOUSING_STORAGE_ENTRY_UPDATED",
			unique = true,
		},
		{
			n = "HousingStorageUpdated",
			k = "Event",
			literal = "HOUSING_STORAGE_UPDATED",
			unique = true,
		},
	},
	tables = {
		{
			n = "HousingBundleDecorEntryInfo",
			k = "Structure",
			fields = {
				{
					n = "decorID",
					t = "number",
					nilable = false,
				},
				{
					n = "quantity",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "HousingBundleInfo",
			k = "Structure",
			fields = {
				{
					n = "productID",
					t = "number",
					nilable = false,
				},
				{
					n = "price",
					t = "number",
					nilable = false,
				},
				{
					n = "originalPrice",
					t = "number",
					nilable = true,
				},
				{
					n = "nonDecorProducts",
					t = "table",
					nilable = false,
					it = "number",
				},
				{
					n = "decorEntries",
					t = "table",
					nilable = false,
					it = "HousingBundleDecorEntryInfo",
				},
				{
					n = "canPreview",
					t = "bool",
					nilable = false,
					def = true,
					doc = {
						"Bundles containing non-decor items cannot be previewed",
					},
				},
			},
		},
		{
			n = "HousingCatalogCategoryInfo",
			k = "Structure",
			fields = {
				{
					n = "ID",
					t = "number",
					nilable = false,
				},
				{
					n = "orderIndex",
					t = "number",
					nilable = false,
				},
				{
					n = "name",
					t = "cstring",
					nilable = true,
				},
				{
					n = "icon",
					t = "textureAtlas",
					nilable = true,
				},
				{
					n = "subcategoryIDs",
					t = "table",
					nilable = false,
					it = "number",
				},
				{
					n = "anyStoredEntries",
					t = "bool",
					nilable = false,
					doc = {
						"True if the player owns anything that falls under this category",
					},
				},
			},
		},
		{
			n = "HousingCatalogEntryInfo",
			k = "Structure",
			doc = {
				"Base information about an object in the Catalog; For info for a specific owned stack of this object, see HousingCatalogEntryVariantInfo",
			},
			fields = {
				{
					n = "recordID",
					t = "number",
					nilable = false,
				},
				{
					n = "entryType",
					t = "HousingCatalogEntryType",
					nilable = false,
				},
				{
					n = "itemID",
					t = "number",
					nilable = true,
				},
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
				{
					n = "asset",
					t = "ModelAsset",
					nilable = true,
					doc = {
						"3D model asset for displaying in the UI; May be nil if the entry doesn't have a model, or has one that isn't supported by UI model scenes",
					},
				},
				{
					n = "iconTexture",
					t = "FileAsset",
					nilable = true,
					doc = {
						"Entry icon in the form of a texture file; Catalog entries should have either this OR an iconAtlas set",
					},
				},
				{
					n = "iconAtlas",
					t = "textureAtlas",
					nilable = true,
					doc = {
						"Entry icon in the form a texture atlas element; Catalog entries should have either this OR an iconTexture set",
					},
				},
				{
					n = "uiModelSceneID",
					t = "number",
					nilable = true,
					doc = {
						"Specific UI model scene ID to use when previewing this entry's 3D model; If not set, the default catalog model scene is used",
					},
				},
				{
					n = "categoryIDs",
					t = "table",
					nilable = false,
					it = "number",
				},
				{
					n = "subcategoryIDs",
					t = "table",
					nilable = false,
					it = "number",
				},
				{
					n = "dataTagsByID",
					t = "LuaValueVariant",
					nilable = false,
					doc = {
						"Simple localized 'tag' strings that are primarily used for things like categorization and filtering",
					},
				},
				{
					n = "size",
					t = "HousingCatalogEntrySize",
					nilable = false,
				},
				{
					n = "placementCost",
					t = "number",
					nilable = false,
					doc = {
						"How much of the applicable budget placing this entry would cost (if any)",
					},
				},
				{
					n = "totalNumStored",
					t = "number",
					nilable = false,
					doc = {
						"The total number of instances of this entry that exist in storage across all variants; Does not include unredeemed instances (see remainingRedeemable)",
					},
				},
				{
					n = "remainingRedeemable",
					t = "number",
					nilable = false,
					doc = {
						"The number of unredeemed instances of this entry that exist in storage; Some auto-awarded housing objects are granted in this 'lazily-instantiated' way, and will be 'redeemed' on first being placed",
					},
				},
				{
					n = "totalNumPlaced",
					t = "number",
					nilable = false,
					doc = {
						"The total number of instances of this entry that have been placed across all of the player's houses and plots, across all variants",
					},
				},
				{
					n = "destroyableInstanceCount",
					t = "number",
					nilable = false,
					doc = {
						"The number of instances that can be destroyed for this entry.",
					},
				},
				{
					n = "isUniqueTrophy",
					t = "bool",
					nilable = false,
					doc = {
						"This decor is flagged to display as a unique trophy item.",
					},
				},
				{
					n = "isAllowedOutdoors",
					t = "bool",
					nilable = false,
					doc = {
						"True if this entry is something that is allowed to be placed outside, within a plot",
					},
				},
				{
					n = "isAllowedIndoors",
					t = "bool",
					nilable = false,
					doc = {
						"True if this entry is something that is allowed to be placed indoors, within a house interior",
					},
				},
				{
					n = "canCustomize",
					t = "bool",
					nilable = false,
					doc = {
						"True if this entry is something that can be customized; Kinds of customization vary depending on the entry type",
					},
				},
				{
					n = "isPrefab",
					t = "bool",
					nilable = false,
				},
				{
					n = "quality",
					t = "ItemQuality",
					nilable = true,
				},
				{
					n = "firstAcquisitionBonus",
					t = "number",
					nilable = false,
					doc = {
						"House XP that can be gained upon acquiring this entry for the first time",
					},
				},
				{
					n = "sourceText",
					t = "cstring",
					nilable = false,
					doc = {
						"Describes specific sources this entry may be gained from; Faction-specific sources may or may not be included based on the current player's faction",
					},
				},
			},
		},
		{
			n = "HousingCatalogEntryVariantInfo",
			k = "Structure",
			doc = {
				"Represents a single stack of instances of an object in the Catalog, that are all of a specific variation; For example, a stack of undyed chairs, or blue-dyed tables",
			},
			fields = {
				{
					n = "entryVariantID",
					t = "HousingCatalogEntryVariantID",
					nilable = false,
				},
				{
					n = "numStored",
					t = "number",
					nilable = false,
					doc = {
						"The number of instances of this specific variant that exist in storage",
					},
				},
				{
					n = "dyeSlots",
					t = "table",
					nilable = false,
					it = "HousingDecorDyeSlot",
					doc = {
						"Dye slot information for this variant; Empty for entries that can't be dyed",
					},
				},
			},
		},
		{
			n = "HousingCatalogSubcategoryInfo",
			k = "Structure",
			fields = {
				{
					n = "ID",
					t = "number",
					nilable = false,
				},
				{
					n = "orderIndex",
					t = "number",
					nilable = false,
				},
				{
					n = "parentCategoryID",
					t = "number",
					nilable = false,
				},
				{
					n = "name",
					t = "cstring",
					nilable = true,
				},
				{
					n = "icon",
					t = "textureAtlas",
					nilable = true,
				},
				{
					n = "anyStoredEntries",
					t = "bool",
					nilable = false,
					doc = {
						"True if the player owns anything that falls under this subcategory",
					},
				},
			},
		},
		{
			n = "HousingCategorySearchInfo",
			k = "Structure",
			fields = {
				{
					n = "withStoredEntriesOnly",
					t = "bool",
					nilable = false,
					def = false,
					doc = {
						"If true, search will only return categories/subcategories that the player has something stored under",
					},
				},
				{
					n = "includeFeaturedCategory",
					t = "bool",
					nilable = false,
					def = false,
				},
				{
					n = "editorModeContext",
					t = "HouseEditorMode",
					nilable = true,
					doc = {
						"If set, will restrict results to only categories associated with/used by this Editor Mode",
					},
				},
			},
		},
		{
			n = "HousingFeaturedSmallProductInfo",
			k = "Structure",
			fields = {
				{
					n = "entryVariantID",
					t = "HousingCatalogEntryVariantID",
					nilable = true,
				},
				{
					n = "productID",
					t = "number",
					nilable = false,
				},
				{
					n = "price",
					t = "number",
					nilable = false,
				},
				{
					n = "originalPrice",
					t = "number",
					nilable = true,
				},
				{
					n = "canPreview",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "HousingMarketInfo",
			k = "Structure",
			fields = {
				{
					n = "price",
					t = "number",
					nilable = false,
				},
				{
					n = "productID",
					t = "number",
					nilable = false,
				},
				{
					n = "bundleIDs",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
		},
		{
			n = "HousingPreviewItemData",
			k = "Structure",
			fields = {
				{
					n = "decorGUID",
					t = "WOWGUID",
					nilable = true,
				},
				{
					n = "productID",
					t = "number",
					nilable = true,
				},
				{
					n = "bundleCatalogShopProductID",
					t = "number",
					nilable = true,
				},
				{
					n = "isBundleParent",
					t = "bool",
					nilable = false,
				},
				{
					n = "isBundleChild",
					t = "bool",
					nilable = false,
				},
				{
					n = "id",
					t = "number",
					nilable = false,
				},
				{
					n = "decorID",
					t = "number",
					nilable = false,
				},
				{
					n = "name",
					t = "string",
					nilable = false,
				},
				{
					n = "icon",
					t = "number",
					nilable = false,
				},
				{
					n = "price",
					t = "number",
					nilable = false,
				},
				{
					n = "salePrice",
					t = "number",
					nilable = true,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "HousingCleanupModeUI",
	type = "System",
	ns = "C_HousingCleanupMode",
	env = "All",
	file = "HousingCleanupModeUIDocumentation.lua",
	hash = "e508c6be520690531c9ad0e231bf9fc63be22186a007924afa1db8a88be5af40",
	functions = {
		{
			n = "GetHoveredDecorInfo",
			k = "Function",
			rets = {
				{
					n = "info",
					t = "HousingDecorInstanceInfo",
					nilable = true,
				},
			},
		},
		{
			n = "IsHoveringDecor",
			k = "Function",
			rets = {
				{
					n = "isHoveringDecor",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "RemoveSelectedDecor",
			k = "Function",
		},
	},
	events = {
		{
			n = "HousingCleanupModeHoveredTargetChanged",
			k = "Event",
			payload = {
				{
					n = "hasHoveredTarget",
					t = "bool",
					nilable = false,
				},
				{
					n = "targetType",
					t = "HousingCleanupModeTargetType",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_CLEANUP_MODE_HOVERED_TARGET_CHANGED",
		},
		{
			n = "HousingCleanupModeTargetSelected",
			k = "Event",
			SynchronousEvent = true,
			literal = "HOUSING_CLEANUP_MODE_TARGET_SELECTED",
		},
	},
	tables = {
		{
			n = "HousingCleanupModeTargetType",
			k = "Enumeration",
			fields = {
				{
					n = "None",
					t = "HousingCleanupModeTargetType",
					EnumValue = 0,
				},
				{
					n = "Decor",
					t = "HousingCleanupModeTargetType",
					EnumValue = 1,
				},
				{
					n = "HouseExterior",
					t = "HousingCleanupModeTargetType",
					EnumValue = 2,
				},
			},
			max = 2,
			min = 0,
			num = 3,
		},
	},
}
systems[#systems + 1] = {
	name = "HousingCustomizeModeUI",
	type = "System",
	ns = "C_HousingCustomizeMode",
	env = "All",
	file = "HousingCustomizeModeUIDocumentation.lua",
	hash = "38ffa1bb0a1ed8e764686ec3e0e49339104c6b4f0d58da2788e0a76d72cc51d0",
	functions = {
		{
			n = "ApplyDyeToSelectedDecor",
			k = "Function",
			doc = {
				"If a dyeable decor is selected, applies a specific dye color in a specific slot as a preview; See CommitDyesForSelectedDecor to actually save applied dye changes",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "dyeSlotID",
					t = "number",
					nilable = false,
				},
				{
					n = "dyeColorID",
					t = "number",
					nilable = true,
					doc = {
						"If not provided, clears the dye from the specified dye slot, returning that part of the decor asset to its default color",
					},
				},
			},
		},
		{
			n = "ApplyThemeToRoom",
			k = "Function",
			doc = {
				"Attempt to apply a specific theme set (aka style) to all applicable room components in the current room",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "themeSetID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "ApplyThemeToSelectedRoomComponent",
			k = "Function",
			doc = {
				"Attempt to apply a specific theme set (aka style) to the currently selected room component only",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "themeSetID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "ApplyWallpaperToAllWalls",
			k = "Function",
			doc = {
				"Attempt to apply a specific wallpaper (aka material/texture) to all applicable room components in the current room",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "roomComponentTextureRecID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "ApplyWallpaperToSelectedRoomComponent",
			k = "Function",
			doc = {
				"Attempt to apply a specific wallpaper (aka material/texture) to the currently selected room component only",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "roomComponentTextureRecID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "CancelActiveEditing",
			k = "Function",
			doc = {
				"Cancels all in-progress editing of the selected target, which will reset any unapplied customization changes and deselect the active target",
			},
		},
		{
			n = "ClearDyesForSelectedDecor",
			k = "Function",
			doc = {
				"Clears all previewed dye changes on the selected decor; Does not clear any already saved dyes that were previously applied",
			},
		},
		{
			n = "ClearTargetRoomComponent",
			k = "Function",
			doc = {
				"Deselect the currently selected room component, if there is one",
			},
		},
		{
			n = "CommitDyesForSelectedDecor",
			k = "Function",
			doc = {
				"Attempt to save all previewed dye changes made to the selected decor",
			},
			rets = {
				{
					n = "hasChanges",
					t = "bool",
					nilable = false,
					doc = {
						"True if there were any changes to save",
					},
				},
			},
		},
		{
			n = "GetHoveredDecorInfo",
			k = "Function",
			doc = {
				"Returns info for the placed decor instance currently being hovered, if there is one",
			},
			rets = {
				{
					n = "info",
					t = "HousingDecorInstanceInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetHoveredRoomComponentInfo",
			k = "Function",
			doc = {
				"Returns info for the room component currently being hovered, if there is one",
			},
			rets = {
				{
					n = "info",
					t = "HousingRoomComponentInstanceInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetNumDyesToRemoveOnSelectedDecor",
			k = "Function",
			doc = {
				"If a dyeable decor instance is selected, returns how many dye slots would be cleared on applying all currently previewed dye changes",
			},
			rets = {
				{
					n = "numDyesToRemove",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetNumDyesToSpendOnSelectedDecor",
			k = "Function",
			doc = {
				"If a dyeable decor instance is selected, returns how many dye items would be spent on applying all currently previewed dye changes",
			},
			rets = {
				{
					n = "numDyesToSpend",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetPreviewDyesOnSelectedDecor",
			k = "Function",
			doc = {
				"If a dyeable decor instance is selected, returns info structs for each new/changed dye currently being previewed",
			},
			rets = {
				{
					n = "previewDyes",
					t = "table",
					nilable = false,
					it = "PreviewDyeSlotInfo",
				},
			},
		},
		{
			n = "GetRecentlyUsedDyes",
			k = "Function",
			doc = {
				"Returns a list of ids for the dyes most recently applied by the player, if any",
			},
			rets = {
				{
					n = "recentDyes",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
		},
		{
			n = "GetRecentlyUsedThemeSets",
			k = "Function",
			doc = {
				"Returns a list of ids for the theme sets (aka styles) most recently applied by the player, if any",
			},
			rets = {
				{
					n = "recentThemeSets",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
		},
		{
			n = "GetRecentlyUsedWallpapers",
			k = "Function",
			doc = {
				"Returns a list of ids for the wallpapers most recently applied by the player, if any",
			},
			rets = {
				{
					n = "recentWallpapers",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
		},
		{
			n = "GetSelectedDecorInfo",
			k = "Function",
			doc = {
				"Returns info for the decor instance that's currently selected, if there is one",
			},
			rets = {
				{
					n = "info",
					t = "HousingDecorInstanceInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetSelectedRoomComponentInfo",
			k = "Function",
			doc = {
				"Returns info for the currently selected room component, if there is one",
			},
			rets = {
				{
					n = "info",
					t = "HousingRoomComponentInstanceInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetThemeSetInfo",
			k = "Function",
			doc = {
				"Returns the name of the specified theme set (aka style) if it exists",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "themeSetID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "name",
					t = "string",
					nilable = true,
				},
			},
		},
		{
			n = "GetWallpapersForRoomComponentType",
			k = "Function",
			doc = {
				"Get all wallpapers (aka materials/textures) available for the selected room component type, if any",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "type",
					t = "HousingRoomComponentType",
					nilable = false,
				},
			},
			rets = {
				{
					n = "availableWallpapers",
					t = "table",
					nilable = false,
					it = "RoomComponentWallpaper",
				},
			},
		},
		{
			n = "IsDecorSelected",
			k = "Function",
			doc = {
				"Returns true if a decor instance is currently selected for customization",
			},
			rets = {
				{
					n = "hasSelectedDecor",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsHouseExteriorDoorHovered",
			k = "Function",
			doc = {
				"Returns true if the entry door of the house's exterior is currently being hovered",
			},
			rets = {
				{
					n = "isHouseExteriorDoorHovered",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsHoveringDecor",
			k = "Function",
			doc = {
				"Returns true if a placed decor instance is currently being hovered",
			},
			rets = {
				{
					n = "isHoveringDecor",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsHoveringRoomComponent",
			k = "Function",
			doc = {
				"Returns true if a room component is currently being hovered",
			},
			rets = {
				{
					n = "isHovering",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsRoomComponentSelected",
			k = "Function",
			doc = {
				"Returns true if a room component is currently selected for customization",
			},
			rets = {
				{
					n = "hasSelectedComponent",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "RoomComponentSupportsVariant",
			k = "Function",
			doc = {
				"Check whether a specific room component supports a particular variant; What kind of id or enum 'variant' equates to is complicated, as it depends on the component type",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "componentID",
					t = "number",
					nilable = false,
				},
				{
					n = "variant",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "variantSupported",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "RoomConnectionSupportsDoorType",
			k = "Function",
			doc = {
				"Check whether a specific room component, within a specific room, supports a particular doorType",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "roomGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "componentID",
					t = "number",
					nilable = false,
				},
				{
					n = "newDoortype",
					t = "HousingRoomComponentDoorType",
					nilable = false,
				},
			},
			rets = {
				{
					n = "doorTypeSupported",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetRoomComponentCeilingType",
			k = "Function",
			doc = {
				"Attempt to set a specific ceiling component, within a specific room, to a specific new ceiling type",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "roomGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "componentID",
					t = "number",
					nilable = false,
				},
				{
					n = "ceilingType",
					t = "HousingRoomComponentCeilingType",
					nilable = false,
				},
			},
		},
		{
			n = "SetRoomComponentDoorType",
			k = "Function",
			doc = {
				"Attempt to set a specific door component, within a specific room, to a specific new door type",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "roomGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "componentID",
					t = "number",
					nilable = false,
				},
				{
					n = "newDoortype",
					t = "HousingRoomComponentDoorType",
					nilable = false,
				},
			},
		},
	},
	events = {
		{
			n = "HousingCustomizeModeHoveredTargetChanged",
			k = "Event",
			payload = {
				{
					n = "hasHoveredTarget",
					t = "bool",
					nilable = false,
				},
				{
					n = "targetType",
					t = "HousingCustomizeModeTargetType",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_CUSTOMIZE_MODE_HOVERED_TARGET_CHANGED",
		},
		{
			n = "HousingCustomizeModeSelectedTargetChanged",
			k = "Event",
			payload = {
				{
					n = "hasSelectedTarget",
					t = "bool",
					nilable = false,
				},
				{
					n = "targetType",
					t = "HousingCustomizeModeTargetType",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_CUSTOMIZE_MODE_SELECTED_TARGET_CHANGED",
		},
		{
			n = "HousingDecorCustomizationChanged",
			k = "Event",
			payload = {
				{
					n = "decorGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_DECOR_CUSTOMIZATION_CHANGED",
		},
		{
			n = "HousingDecorDyeFailure",
			k = "Event",
			payload = {
				{
					n = "decorGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "housingResult",
					t = "HousingResult",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_DECOR_DYE_FAILURE",
		},
		{
			n = "HousingRoomComponentCustomizationChangeFailed",
			k = "Event",
			payload = {
				{
					n = "roomGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "componentID",
					t = "number",
					nilable = false,
				},
				{
					n = "housingResult",
					t = "HousingResult",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_ROOM_COMPONENT_CUSTOMIZATION_CHANGE_FAILED",
		},
		{
			n = "HousingRoomComponentCustomizationChanged",
			k = "Event",
			payload = {
				{
					n = "roomGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "componentID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_ROOM_COMPONENT_CUSTOMIZATION_CHANGED",
		},
	},
	tables = {
		{
			n = "HousingCustomizeModeTargetType",
			k = "Enumeration",
			fields = {
				{
					n = "None",
					t = "HousingCustomizeModeTargetType",
					EnumValue = 0,
				},
				{
					n = "Decor",
					t = "HousingCustomizeModeTargetType",
					EnumValue = 1,
				},
				{
					n = "RoomComponent",
					t = "HousingCustomizeModeTargetType",
					EnumValue = 2,
				},
				{
					n = "ExteriorHouse",
					t = "HousingCustomizeModeTargetType",
					EnumValue = 3,
				},
			},
			max = 3,
			min = 0,
			num = 4,
		},
		{
			n = "HousingRoomComponentInstanceInfo",
			k = "Structure",
			fields = {
				{
					n = "roomGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "type",
					t = "HousingRoomComponentType",
					nilable = false,
				},
				{
					n = "componentID",
					t = "number",
					nilable = false,
				},
				{
					n = "canBeCustomized",
					t = "bool",
					nilable = false,
				},
				{
					n = "currentThemeSet",
					t = "number",
					nilable = true,
				},
				{
					n = "availableThemeSets",
					t = "table",
					nilable = false,
					it = "number",
				},
				{
					n = "currentWallpaper",
					t = "number",
					nilable = true,
				},
				{
					n = "currentRoomComponentTextureRecID",
					t = "number",
					nilable = true,
				},
				{
					n = "ceilingType",
					t = "HousingRoomComponentCeilingType",
					nilable = false,
				},
				{
					n = "doorType",
					t = "HousingRoomComponentDoorType",
					nilable = false,
				},
			},
		},
		{
			n = "PreviewDyeSlotInfo",
			k = "Structure",
			fields = {
				{
					n = "dyeColorID",
					t = "number",
					nilable = false,
				},
				{
					n = "dyeSlotID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "RoomComponentWallpaper",
			k = "Structure",
			fields = {
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
				{
					n = "roomComponentTextureRecID",
					t = "number",
					nilable = false,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "HousingDecorSharedDocumentation.lua",
	hash = "255294a4b79d60b75075339c3372506e687d255cf12e0b6833df7750b02b5ab8",
	tables = {
		{
			n = "HousingDecorPlacementRestriction",
			k = "Enumeration",
			fields = {
				{
					n = "TooFarAway",
					t = "HousingDecorPlacementRestriction",
					EnumValue = 1,
				},
				{
					n = "OutsideRoomBounds",
					t = "HousingDecorPlacementRestriction",
					EnumValue = 2,
				},
				{
					n = "OutsidePlotBounds",
					t = "HousingDecorPlacementRestriction",
					EnumValue = 4,
				},
				{
					n = "ChildOutsideBounds",
					t = "HousingDecorPlacementRestriction",
					EnumValue = 8,
				},
				{
					n = "InvalidTarget",
					t = "HousingDecorPlacementRestriction",
					EnumValue = 16,
				},
				{
					n = "InvalidCollision",
					t = "HousingDecorPlacementRestriction",
					EnumValue = 32,
				},
				{
					n = "InvalidLightOverlap",
					t = "HousingDecorPlacementRestriction",
					EnumValue = 64,
				},
			},
			max = 64,
			min = 1,
			num = 7,
		},
		{
			n = "HousingDecorDyeSlot",
			k = "Structure",
			fields = {
				{
					n = "ID",
					t = "number",
					nilable = false,
				},
				{
					n = "dyeColorCategoryID",
					t = "number",
					nilable = false,
					doc = {
						"What category of dye colors this slot is for; This currently has no functional useage as slots accept colors of any category, but may be used for things like labeling in the future",
					},
				},
				{
					n = "orderIndex",
					t = "number",
					nilable = false,
					doc = {
						"Display sort order",
					},
				},
				{
					n = "channel",
					t = "number",
					nilable = false,
					doc = {
						"The specific shader channel that this slot affects when a dye color is applied",
					},
				},
				{
					n = "dyeColorID",
					t = "number",
					nilable = true,
					doc = {
						"What dye color (if any) is currently applied to this slot",
					},
				},
				{
					n = "dyeColorName",
					t = "cstring",
					nilable = true,
					doc = {
						"The name of the dye color (if any) that is currently applied to this slot",
					},
				},
			},
		},
		{
			n = "HousingDecorInstanceInfo",
			k = "Structure",
			doc = {
				"Info for an instance of Housing Decor that has been/is being placed within a House or its exterior Plot",
			},
			fields = {
				{
					n = "decorGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "decorID",
					t = "number",
					nilable = false,
				},
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
				{
					n = "isLocked",
					t = "bool",
					nilable = false,
					doc = {
						"True if this decor is already being edited by someone else",
					},
				},
				{
					n = "canBeCustomized",
					t = "bool",
					nilable = false,
					doc = {
						"True if this decor can be customized, namely by applying Dyes",
					},
				},
				{
					n = "canBeRemoved",
					t = "bool",
					nilable = false,
					doc = {
						"False if this decor must remain placed in the house and cannot be placed back into house chest storage",
					},
				},
				{
					n = "isAllowedOutdoors",
					t = "bool",
					nilable = false,
				},
				{
					n = "isAllowedIndoors",
					t = "bool",
					nilable = false,
				},
				{
					n = "isRefundable",
					t = "bool",
					nilable = false,
				},
				{
					n = "dyeSlots",
					t = "table",
					nilable = false,
					it = "HousingDecorDyeSlot",
					doc = {
						"Empty for decor that can't be dyed (see canBeCustomized)",
					},
				},
				{
					n = "dataTagsByID",
					t = "LuaValueVariant",
					nilable = false,
					doc = {
						"Simple localized 'tag' strings that are primarily used for things like categorization and filtering",
					},
				},
				{
					n = "size",
					t = "HousingCatalogEntrySize",
					nilable = false,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "HousingDecorUI",
	type = "System",
	ns = "C_HousingDecor",
	env = "All",
	file = "HousingDecorUIDocumentation.lua",
	hash = "aefd5f4133a9c8ff13339b4e767b6360661399a23f8188450df7b8216dd80b0a",
	functions = {
		{
			n = "CancelActiveEditing",
			k = "Function",
			doc = {
				"Cancels all in-progress editing of the selected target, which will reset any unsaved changes and deselect the active target",
			},
		},
		{
			n = "CommitDecorMovement",
			k = "Function",
			doc = {
				"Attempt to save the changes made to the currently selected decor instance",
			},
		},
		{
			n = "EnterPreviewState",
			k = "Function",
		},
		{
			n = "ExitPreviewState",
			k = "Function",
		},
		{
			n = "GetAllPlacedDecor",
			k = "Function",
			doc = {
				"Placed Decor List APIs currently restricted due to being potentially very expensive operations, may be reworked & opened up in the future",
			},
			rets = {
				{
					n = "placedDecor",
					t = "table",
					nilable = false,
					it = "HousingDecorInstanceListEntry",
				},
			},
			HasRestrictions = true,
		},
		{
			n = "GetDecorHyperlink",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "decorID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "hyperLink",
					t = "string",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetDecorIcon",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "decorID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "icon",
					t = "fileID",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetDecorInstanceInfoForGUID",
			k = "Function",
			doc = {
				"Returns info for the placed decor instance associated with the passed Decor GUID, if there is one",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "decorGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "info",
					t = "HousingDecorInstanceInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetDecorName",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "decorID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "name",
					t = "string",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetHoveredDecorInfo",
			k = "Function",
			doc = {
				"Returns info for the placed decor instance currently being hovered, if there is one",
			},
			rets = {
				{
					n = "info",
					t = "HousingDecorInstanceInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetMaxPlacementBudget",
			k = "Function",
			doc = {
				"Returns the max decor placement budget for the current house interior or plot; Can be increased via house level",
			},
			rets = {
				{
					n = "maxBudget",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetNumDecorPlaced",
			k = "Function",
			doc = {
				"Returns the number of individual decor objects placed in the current house or plot; This is NOT the value used in placement budget calculations, see GetSpentPlacementBudget for that",
			},
			rets = {
				{
					n = "numPlaced",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetNumPreviewDecor",
			k = "Function",
			rets = {
				{
					n = "numDecor",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetSelectedDecorInfo",
			k = "Function",
			doc = {
				"Returns info for the placed decor instance that's currently selected, if there is one",
			},
			rets = {
				{
					n = "info",
					t = "HousingDecorInstanceInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetSpentPlacementBudget",
			k = "Function",
			doc = {
				"Returns how much of the current house interior or plot's decor placement budget has been spent; Different kinds of decor take up different budget amounts, so this value isn't an individual decor count, see GetNumDecorPlaced for that",
			},
			rets = {
				{
					n = "totalCost",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "HasMaxPlacementBudget",
			k = "Function",
			doc = {
				"Returns whether there's a max decor placement budget available and active for the current player, in the current house interior or plot",
			},
			rets = {
				{
					n = "hasMaxBudget",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsDecorSelected",
			k = "Function",
			doc = {
				"Returns true if a placed decor instance is currently selected",
			},
			rets = {
				{
					n = "hasSelectedDecor",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsGridVisible",
			k = "Function",
			rets = {
				{
					n = "gridVisible",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsHouseExteriorDoorHovered",
			k = "Function",
			doc = {
				"Returns true if the entry door of the house's exterior is currently being hovered",
			},
			rets = {
				{
					n = "isHouseExteriorDoorHovered",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsHouseExteriorHovered",
			k = "Function",
			doc = {
				"Returns true if the house's exterior is currently being hovered",
			},
			rets = {
				{
					n = "isHouseExteriorHovered",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsHoveringDecor",
			k = "Function",
			doc = {
				"Returns true if a placed decor instance is currently being hovered",
			},
			rets = {
				{
					n = "isHoveringDecor",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsModeDisabledForPreviewState",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "mode",
					t = "HouseEditorMode",
					nilable = false,
				},
			},
			rets = {
				{
					n = "isModeDisabled",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsPreviewState",
			k = "Function",
			rets = {
				{
					n = "isPreviewState",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "RemovePlacedDecorEntry",
			k = "Function",
			doc = {
				"Placed Decor List APIs currently restricted due to being potentially very expensive operations, may be reworked & opened up in the future",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "decorGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			HasRestrictions = true,
		},
		{
			n = "RemoveSelectedDecor",
			k = "Function",
			doc = {
				"Attempt to return the currently selected decor instance back to the house chest",
			},
		},
		{
			n = "SetGridVisible",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "gridVisible",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetPlacedDecorEntryHovered",
			k = "Function",
			doc = {
				"Placed Decor List APIs currently restricted due to being potentially very expensive operations, may be reworked & opened up in the future",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "decorGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "hovered",
					t = "bool",
					nilable = false,
				},
			},
			HasRestrictions = true,
		},
		{
			n = "SetPlacedDecorEntrySelected",
			k = "Function",
			doc = {
				"Placed Decor List APIs currently restricted due to being potentially very expensive operations, may be reworked & opened up in the future",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "decorGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "selected",
					t = "bool",
					nilable = false,
				},
			},
			HasRestrictions = true,
		},
	},
	events = {
		{
			n = "HouseDecorAddedToChest",
			k = "Event",
			payload = {
				{
					n = "decorGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "decorID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSE_DECOR_ADDED_TO_CHEST",
		},
		{
			n = "HouseExteriorPositionFailure",
			k = "Event",
			payload = {
				{
					n = "housingResult",
					t = "HousingResult",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSE_EXTERIOR_POSITION_FAILURE",
		},
		{
			n = "HouseExteriorPositionSuccess",
			k = "Event",
			SynchronousEvent = true,
			literal = "HOUSE_EXTERIOR_POSITION_SUCCESS",
		},
		{
			n = "HousingDecorGridVisibilityStatusChanged",
			k = "Event",
			payload = {
				{
					n = "isGridVisible",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_DECOR_GRID_VISIBILITY_STATUS_CHANGED",
		},
		{
			n = "HousingDecorPlaceFailure",
			k = "Event",
			payload = {
				{
					n = "housingResult",
					t = "HousingResult",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_DECOR_PLACE_FAILURE",
		},
		{
			n = "HousingDecorPlaceSuccess",
			k = "Event",
			payload = {
				{
					n = "decorGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "size",
					t = "HousingCatalogEntrySize",
					nilable = false,
				},
				{
					n = "isNew",
					t = "bool",
					nilable = false,
					doc = {
						"Will be true if the decor is newly placed from storage, false if it was already placed and just moved",
					},
				},
				{
					n = "isPreview",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_DECOR_PLACE_SUCCESS",
		},
		{
			n = "HousingDecorPreviewStateChanged",
			k = "Event",
			payload = {
				{
					n = "isPreviewState",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_DECOR_PREVIEW_STATE_CHANGED",
		},
		{
			n = "HousingDecorRemoved",
			k = "Event",
			payload = {
				{
					n = "decorGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_DECOR_REMOVED",
		},
		{
			n = "HousingDecorSelectResponse",
			k = "Event",
			payload = {
				{
					n = "result",
					t = "HousingResult",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_DECOR_SELECT_RESPONSE",
		},
		{
			n = "HousingNumDecorPlacedChanged",
			k = "Event",
			SynchronousEvent = true,
			literal = "HOUSING_NUM_DECOR_PLACED_CHANGED",
		},
	},
	tables = {
		{
			n = "LightRadiusIndicatorType",
			k = "Enumeration",
			fields = {
				{
					n = "Always",
					t = "LightRadiusIndicatorType",
					EnumValue = 0,
				},
				{
					n = "Overlap",
					t = "LightRadiusIndicatorType",
					EnumValue = 1,
				},
				{
					n = "Never",
					t = "LightRadiusIndicatorType",
					EnumValue = 2,
				},
			},
			max = 2,
			min = 0,
			num = 3,
		},
		{
			n = "HousingDecorInstanceListEntry",
			k = "Structure",
			doc = {
				"Smaller structs with the minimum fields from HousingDecorInstanceInfo needed to identify/display a slim list of placed decor",
			},
			fields = {
				{
					n = "decorGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "HousingExpertModeUI",
	type = "System",
	ns = "C_HousingExpertMode",
	env = "All",
	file = "HousingExpertModeUIDocumentation.lua",
	hash = "7e7b5a5b0bd477b24ffba357ef3398f909b06b25e2f89a7e38af8bc733176ddb",
	functions = {
		{
			n = "CancelActiveEditing",
			k = "Function",
			doc = {
				"Cancels all in-progress editing of the selected target, which will reset any unsaved changes and deselect the active target; Will not reset any already-applied changes",
			},
		},
		{
			n = "CommitDecorMovement",
			k = "Function",
			doc = {
				"Attempt to save the changes made to the currently selected decor instance",
			},
		},
		{
			n = "CommitHouseExteriorPosition",
			k = "Function",
			doc = {
				"Attempt to save the changes made to the House Exterior's position within the plot",
			},
		},
		{
			n = "GetHoveredDecorInfo",
			k = "Function",
			doc = {
				"Returns info for the placed decor instance currently being hovered, if there is one",
			},
			rets = {
				{
					n = "info",
					t = "HousingDecorInstanceInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetPrecisionSubmode",
			k = "Function",
			doc = {
				"Returns the currently active Expert submode, if there is one",
			},
			rets = {
				{
					n = "activeSubMode",
					t = "HousingPrecisionSubmode",
					nilable = true,
				},
			},
		},
		{
			n = "GetPrecisionSubmodeRestriction",
			k = "Function",
			doc = {
				"Returns the type of restriction currently active on the submode; Will return HousingExpertSubmodeRestriction:None if submode is not currently restricted",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "subMode",
					t = "HousingPrecisionSubmode",
					nilable = false,
				},
			},
			rets = {
				{
					n = "restriction",
					t = "HousingExpertSubmodeRestriction",
					nilable = false,
				},
			},
		},
		{
			n = "GetSelectedDecorInfo",
			k = "Function",
			doc = {
				"Returns info for the placed decor instance that's currently selected, if there is one",
			},
			rets = {
				{
					n = "info",
					t = "HousingDecorInstanceInfo",
					nilable = true,
				},
			},
		},
		{
			n = "IsDecorSelected",
			k = "Function",
			doc = {
				"Returns true if a placed decor instance is currently selected",
			},
			rets = {
				{
					n = "hasSelectedDecor",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsGridVisible",
			k = "Function",
			rets = {
				{
					n = "gridVisible",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsHouseExteriorHovered",
			k = "Function",
			doc = {
				"Returns true if the house's exterior is currently being hovered",
			},
			rets = {
				{
					n = "isHouseExteriorHovered",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsHouseExteriorSelected",
			k = "Function",
			doc = {
				"Returns true if the house's exterior is currently selected",
			},
			rets = {
				{
					n = "isHouseExteriorSelected",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsHoveringDecor",
			k = "Function",
			doc = {
				"Returns true if a placed decor instance is currently being hovered",
			},
			rets = {
				{
					n = "isHoveringDecor",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "RemoveSelectedDecor",
			k = "Function",
			doc = {
				"Attempt to return the currently selected decor instance back to the house chest",
			},
		},
		{
			n = "ResetPrecisionChanges",
			k = "Function",
			doc = {
				"Reset the selected target's transform back to default values; This is NOT an undo, meaning it will completely reset the transform value to default, NOT just recently-made changes",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "activeSubmodeOnly",
					t = "bool",
					nilable = false,
					doc = {
						"If true, only transform values associated with the currently active submode with be reset (ex: in Scale submode, only target's scale will be reset); If false, all transform values will be reset",
					},
				},
			},
		},
		{
			n = "SelectNextRotationAxis",
			k = "Function",
			doc = {
				"In the rotation submode, swaps the selected axis to the next available one, in order of X -> Y -> Z (wrapping back around to X again, etc); If no axis is selected, selects the first available one, also in that order",
			},
		},
		{
			n = "SetGridVisible",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "gridVisible",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetPrecisionIncrementingActive",
			k = "Function",
			doc = {
				"Sets a specific type of incremental change active or inactive; Whilever that type is active and target stays selected, incremental changes of that type will continue to be made every frame",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "incrementType",
					t = "HousingIncrementType",
					nilable = false,
				},
				{
					n = "active",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetPrecisionSubmode",
			k = "Function",
			doc = {
				"Activate a specific Expert submode",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "subMode",
					t = "HousingPrecisionSubmode",
					nilable = false,
				},
			},
		},
	},
	events = {
		{
			n = "HousingDecorPrecisionManipulationEvent",
			k = "Event",
			payload = {
				{
					n = "event",
					t = "TransformManipulatorEvent",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_DECOR_PRECISION_MANIPULATION_EVENT",
		},
		{
			n = "HousingDecorPrecisionManipulationStatusChanged",
			k = "Event",
			payload = {
				{
					n = "isManipulatingSelection",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_DECOR_PRECISION_MANIPULATION_STATUS_CHANGED",
		},
		{
			n = "HousingDecorPrecisionSubmodeChanged",
			k = "Event",
			payload = {
				{
					n = "activeSubmode",
					t = "HousingPrecisionSubmode",
					nilable = true,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_DECOR_PRECISION_SUBMODE_CHANGED",
		},
		{
			n = "HousingExpertModeHoveredTargetChanged",
			k = "Event",
			payload = {
				{
					n = "hasHoveredTarget",
					t = "bool",
					nilable = false,
				},
				{
					n = "targetType",
					t = "HousingExpertModeTargetType",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_EXPERT_MODE_HOVERED_TARGET_CHANGED",
		},
		{
			n = "HousingExpertModePlacementFlagsUpdated",
			k = "Event",
			payload = {
				{
					n = "targetType",
					t = "HousingExpertModeTargetType",
					nilable = false,
				},
				{
					n = "activeFlags",
					t = "HousingDecorPlacementRestriction",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_EXPERT_MODE_PLACEMENT_FLAGS_UPDATED",
		},
		{
			n = "HousingExpertModeSelectedTargetChanged",
			k = "Event",
			payload = {
				{
					n = "hasSelectedTarget",
					t = "bool",
					nilable = false,
				},
				{
					n = "targetType",
					t = "HousingExpertModeTargetType",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_EXPERT_MODE_SELECTED_TARGET_CHANGED",
		},
	},
	tables = {
		{
			n = "HousingExpertModeTargetType",
			k = "Enumeration",
			fields = {
				{
					n = "None",
					t = "HousingExpertModeTargetType",
					EnumValue = 0,
				},
				{
					n = "Decor",
					t = "HousingExpertModeTargetType",
					EnumValue = 1,
				},
				{
					n = "House",
					t = "HousingExpertModeTargetType",
					EnumValue = 2,
				},
			},
			max = 2,
			min = 0,
			num = 3,
		},
		{
			n = "HousingExpertSubmodeRestriction",
			k = "Enumeration",
			fields = {
				{
					n = "None",
					t = "HousingExpertSubmodeRestriction",
					EnumValue = 0,
				},
				{
					n = "NotInExpertMode",
					t = "HousingExpertSubmodeRestriction",
					EnumValue = 1,
				},
				{
					n = "NoHouseExteriorScale",
					t = "HousingExpertSubmodeRestriction",
					EnumValue = 2,
				},
				{
					n = "NoWMOScale",
					t = "HousingExpertSubmodeRestriction",
					EnumValue = 3,
				},
			},
			max = 3,
			min = 0,
			num = 4,
		},
		{
			n = "HousingIncrementType",
			k = "Enumeration",
			fields = {
				{
					n = "Left",
					t = "HousingIncrementType",
					EnumValue = 1,
				},
				{
					n = "Right",
					t = "HousingIncrementType",
					EnumValue = 2,
				},
				{
					n = "Forward",
					t = "HousingIncrementType",
					EnumValue = 4,
				},
				{
					n = "Back",
					t = "HousingIncrementType",
					EnumValue = 8,
				},
				{
					n = "Up",
					t = "HousingIncrementType",
					EnumValue = 16,
				},
				{
					n = "Down",
					t = "HousingIncrementType",
					EnumValue = 32,
				},
				{
					n = "RotateLeft",
					t = "HousingIncrementType",
					EnumValue = 64,
				},
				{
					n = "RotateRight",
					t = "HousingIncrementType",
					EnumValue = 128,
				},
				{
					n = "ScaleUp",
					t = "HousingIncrementType",
					EnumValue = 256,
				},
				{
					n = "ScaleDown",
					t = "HousingIncrementType",
					EnumValue = 512,
				},
			},
			max = 512,
			min = 1,
			num = 10,
		},
		{
			n = "HousingPrecisionSubmode",
			k = "Enumeration",
			fields = {
				{
					n = "Translate",
					t = "HousingPrecisionSubmode",
					EnumValue = 0,
				},
				{
					n = "Rotate",
					t = "HousingPrecisionSubmode",
					EnumValue = 1,
				},
				{
					n = "Scale",
					t = "HousingPrecisionSubmode",
					EnumValue = 2,
				},
			},
			max = 2,
			min = 0,
			num = 3,
		},
	},
}
systems[#systems + 1] = {
	name = "HousingFixturePointFrameAPI",
	type = "ScriptObject",
	ns = "",
	env = "All",
	file = "HousingFixturePointFrameAPIDocumentation.lua",
	hash = "6e44d5bc37a76d72dcfbb26f497adafbb92bb89ecdbe2c818bfc4ddb98faf326",
	functions = {
		{
			n = "HasAttachedFixture",
			k = "Function",
			rets = {
				{
					n = "hasAttachedFixture",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsSelected",
			k = "Function",
			rets = {
				{
					n = "isSelected",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsValid",
			k = "Function",
			rets = {
				{
					n = "isValid",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "Select",
			k = "Function",
		},
		{
			n = "SetUpdateCallback",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "cb",
					t = "FixturePointUpdatedCallback",
					nilable = false,
				},
			},
		},
	},
	tables = {
		{
			n = "FixturePointUpdatedCallback",
			k = "CallbackType",
		},
	},
}
systems[#systems + 1] = {
	name = "HousingInspectModeUI",
	type = "System",
	ns = "C_HousingInspectMode",
	env = "All",
	file = "HousingInspectModeUIDocumentation.lua",
	hash = "37e668a648962f6eff7e973b2496f5f512fba15f59f2bb71903ecc2e1936f4eb",
	functions = {
		{
			n = "EnterInspectMode",
			k = "Function",
			doc = {
				"Enters inspect mode, enabling decor inspection",
			},
		},
		{
			n = "ExitInspectMode",
			k = "Function",
			doc = {
				"Exits inspect mode, disabling decor inspection",
			},
		},
		{
			n = "GetHoveredDecorGUID",
			k = "Function",
			doc = {
				"Returns the GUID of the decor instance currently being hovered, if there is one",
			},
			rets = {
				{
					n = "decorGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
		},
		{
			n = "IsHoveringDecor",
			k = "Function",
			doc = {
				"Returns true if a decor instance is currently being hovered in inspect mode",
			},
			rets = {
				{
					n = "isHoveringDecor",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsInInspectMode",
			k = "Function",
			doc = {
				"Returns true if the player is currently in inspect mode",
			},
			rets = {
				{
					n = "isInInspectMode",
					t = "bool",
					nilable = false,
				},
			},
		},
	},
	events = {
		{
			n = "HousingInspectModeDecorHoveredChanged",
			k = "Event",
			SynchronousEvent = true,
			literal = "HOUSING_INSPECT_MODE_DECOR_HOVERED_CHANGED",
		},
		{
			n = "HousingInspectModeStateUpdated",
			k = "Event",
			SynchronousEvent = true,
			literal = "HOUSING_INSPECT_MODE_STATE_UPDATED",
		},
	},
}
systems[#systems + 1] = {
	name = "HousingLayoutPinFrameAPI",
	type = "ScriptObject",
	ns = "",
	env = "All",
	file = "HousingLayoutPinFrameAPIDocumentation.lua",
	hash = "7a48b3ea41e00ad7b689a53e7d31fcfcf643dc162c27947dc0a207c4730ef9ec",
	functions = {
		{
			n = "CanMove",
			k = "Function",
			rets = {
				{
					n = "moveRestriction",
					t = "HousingLayoutRestriction",
					nilable = false,
				},
			},
		},
		{
			n = "CanRemove",
			k = "Function",
			rets = {
				{
					n = "removalRestriction",
					t = "HousingLayoutRestriction",
					nilable = false,
				},
			},
		},
		{
			n = "CanRotate",
			k = "Function",
			rets = {
				{
					n = "rotateRestriction",
					t = "HousingLayoutRestriction",
					nilable = false,
				},
			},
		},
		{
			n = "Drag",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "isAccessible",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "GetDoorConnectionInfo",
			k = "Function",
			rets = {
				{
					n = "connectionInfo",
					t = "DoorConnectionInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetPinType",
			k = "Function",
			rets = {
				{
					n = "type",
					t = "HousingLayoutPinType",
					nilable = false,
				},
			},
		},
		{
			n = "GetRoomGUID",
			k = "Function",
			rets = {
				{
					n = "roomGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
		},
		{
			n = "GetRoomName",
			k = "Function",
			rets = {
				{
					n = "name",
					t = "cstring",
					nilable = true,
				},
			},
		},
		{
			n = "IsAnyPartOfRoomSelected",
			k = "Function",
			doc = {
				"Returns true if this pin's associated room, or anything attached to it, is selected. Ex: If pin is for a door, returns true if its room, or any other doors on that room, are selected",
			},
			rets = {
				{
					n = "isSelected",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsConnectedToDraggingRoom",
			k = "Function",
			rets = {
				{
					n = "isConnectedToDraggingRoom",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsOccupiedDoor",
			k = "Function",
			doc = {
				"Will be nil if pin is not a Door",
			},
			rets = {
				{
					n = "isOccupied",
					t = "bool",
					nilable = true,
				},
			},
		},
		{
			n = "IsPartOfDraggingRoom",
			k = "Function",
			rets = {
				{
					n = "isPartOfDraggingRoom",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsSelected",
			k = "Function",
			doc = {
				"Returns true if this pin's object is itself selected; See IsAnyPartOfRoomSelected for a broader Selected check",
			},
			rets = {
				{
					n = "isSelected",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsValid",
			k = "Function",
			rets = {
				{
					n = "isValid",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsValidForSelectedFloorplan",
			k = "Function",
			rets = {
				{
					n = "isValid",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "Select",
			k = "Function",
		},
		{
			n = "SetUpdateCallback",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "cb",
					t = "PinUpdatedCallback",
					nilable = false,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "HousingLayoutUI",
	type = "System",
	ns = "C_HousingLayout",
	env = "All",
	file = "HousingLayoutUIDocumentation.lua",
	hash = "58b8b122aeed6b1fba81274e548a7fdb79d2dd69593a740967ea410dbd88ea09",
	functions = {
		{
			n = "AnyRoomsOnFloor",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "floor",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "anyRooms",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CanSetViewedFloor",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "floor",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "canSet",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CancelActiveLayoutEditing",
			k = "Function",
		},
		{
			n = "ConfirmStairChoice",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "choice",
					t = "HousingLayoutStairDirection",
					nilable = true,
					doc = {
						"If not set, the pending stair operation will be cancelled",
					},
				},
			},
		},
		{
			n = "DeselectFloorplan",
			k = "Function",
		},
		{
			n = "DeselectRoomOrDoor",
			k = "Function",
		},
		{
			n = "GetNumActiveRooms",
			k = "Function",
			rets = {
				{
					n = "numRooms",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetNumFloors",
			k = "Function",
			rets = {
				{
					n = "numFloors",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetRoomPlacementBudget",
			k = "Function",
			doc = {
				"Returns the max room placement budget for the current house interior; Can be increased via house level",
			},
			rets = {
				{
					n = "placementBudget",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetSelectedDoor",
			k = "Function",
			doc = {
				"If a door is selected, returns its component id and the guid of the room it belongs to; Otherwise returns nothing",
			},
			rets = {
				{
					n = "selectedDoorComponentID",
					t = "number",
					nilable = false,
				},
				{
					n = "roomGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetSelectedFloorplan",
			k = "Function",
			rets = {
				{
					n = "roomID",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "GetSelectedRoom",
			k = "Function",
			doc = {
				"If a Room is selected, returns the room's guid; Otherwise returns nothing",
			},
			rets = {
				{
					n = "roomGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetSelectedStairwellRoomCount",
			k = "Function",
			rets = {
				{
					n = "stairwellRoomCount",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetSpentPlacementBudget",
			k = "Function",
			doc = {
				"Returns how much of the current house's room placement budget has been spent; Different kinds of rooms take up different budget amounts, so this value isn't an individual room count, see GetNumActiveRooms for that",
			},
			rets = {
				{
					n = "spentPlacementBudget",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetViewedFloor",
			k = "Function",
			rets = {
				{
					n = "floor",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "HasAnySelections",
			k = "Function",
			doc = {
				"Returns true if any room, door, or floorplan is currently selected or being dragged",
			},
			rets = {
				{
					n = "hasAnySelections",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "HasRoomPlacementBudget",
			k = "Function",
			doc = {
				"Returns whether there's a max room placement budget available and active for the current player, in the current house interior",
			},
			rets = {
				{
					n = "hasBudget",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "HasSelectedDoor",
			k = "Function",
			doc = {
				"Returns true if a door component is currently selected",
			},
			rets = {
				{
					n = "hasSelectedDoor",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "HasSelectedFloorplan",
			k = "Function",
			rets = {
				{
					n = "hasSelectedFloorplan",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "HasSelectedRoom",
			k = "Function",
			doc = {
				"Returns true if a room is selected, will NOT return true if a door is selected",
			},
			rets = {
				{
					n = "hasSelectedRoom",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "HasStairs",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "roomRecordID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "hasStairs",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "HasValidConnection",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "roomGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "componentID",
					t = "number",
					nilable = false,
				},
				{
					n = "roomId",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "canPlace",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsBaseRoom",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "roomGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "isBaseRoom",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsDraggingRoom",
			k = "Function",
			rets = {
				{
					n = "isDragging",
					t = "bool",
					nilable = false,
				},
				{
					n = "isAccessibleDrag",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "MoveDraggedRoom",
			k = "Function",
			doc = {
				"Attempt to move the room currently being dragged to a specific connection point on a specific other room",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "sourceDoorIndex",
					t = "number",
					nilable = false,
				},
				{
					n = "destRoom",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "destDoorIndex",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "MoveLayoutCamera",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "direction",
					t = "HousingLayoutCameraDirection",
					nilable = false,
				},
				{
					n = "isPressed",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "RemoveRoom",
			k = "Function",
			doc = {
				"Attempt to return a previously placed room to the House Chest",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "roomGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
		},
		{
			n = "RotateFocusedRoom",
			k = "Function",
			doc = {
				"Rotates either the currently dragged or currently selected room, if either exist",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "isLeft",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "RotateRoom",
			k = "Function",
			doc = {
				"Attempt to rotate an already placed room",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "roomGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "isLeft",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SelectFloorplan",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "roomID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "SetViewedFloor",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "floor",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "StartDrag",
			k = "Function",
		},
		{
			n = "StopDrag",
			k = "Function",
		},
		{
			n = "StopDraggingRoom",
			k = "Function",
		},
		{
			n = "ZoomLayoutCamera",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "zoomIn",
					t = "bool",
					nilable = false,
				},
			},
			rets = {
				{
					n = "zoomChanged",
					t = "bool",
					nilable = false,
				},
			},
		},
	},
	events = {
		{
			n = "HousingLayoutDoorSelected",
			k = "Event",
			doc = {
				"Fired when one of the door nodes of an already placed room has been selected",
			},
			payload = {
				{
					n = "roomGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "componentID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_LAYOUT_DOOR_SELECTED",
		},
		{
			n = "HousingLayoutDoorSelectionChanged",
			k = "Event",
			doc = {
				"Fired when one of the door nodes of an already placed room has been selected or deselected",
			},
			payload = {
				{
					n = "hasSelection",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_LAYOUT_DOOR_SELECTION_CHANGED",
		},
		{
			n = "HousingLayoutDragTargetChanged",
			k = "Event",
			doc = {
				"Fired when an already placed room has either started or stopped being dragged",
			},
			payload = {
				{
					n = "isDraggingRoom",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_LAYOUT_DRAG_TARGET_CHANGED",
		},
		{
			n = "HousingLayoutFloorplanSelectionChanged",
			k = "Event",
			doc = {
				"Fired when a room option in the House Chest has been selected or deselected",
			},
			payload = {
				{
					n = "hasSelection",
					t = "bool",
					nilable = false,
				},
				{
					n = "roomID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_LAYOUT_FLOORPLAN_SELECTION_CHANGED",
		},
		{
			n = "HousingLayoutNumFloorsChanged",
			k = "Event",
			payload = {
				{
					n = "prevNumFloors",
					t = "number",
					nilable = false,
				},
				{
					n = "numFloors",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_LAYOUT_NUM_FLOORS_CHANGED",
		},
		{
			n = "HousingLayoutPinFrameAdded",
			k = "Event",
			payload = {
				{
					n = "pinFrame",
					t = "HousingLayoutPinFrame",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_LAYOUT_PIN_FRAME_ADDED",
		},
		{
			n = "HousingLayoutPinFrameReleased",
			k = "Event",
			payload = {
				{
					n = "pinFrame",
					t = "HousingLayoutPinFrame",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_LAYOUT_PIN_FRAME_RELEASED",
		},
		{
			n = "HousingLayoutPinFramesReleased",
			k = "Event",
			SynchronousEvent = true,
			literal = "HOUSING_LAYOUT_PIN_FRAMES_RELEASED",
		},
		{
			n = "HousingLayoutRoomComponentThemeSetChanged",
			k = "Event",
			payload = {
				{
					n = "roomGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "componentID",
					t = "number",
					nilable = false,
				},
				{
					n = "newThemeSet",
					t = "number",
					nilable = false,
				},
				{
					n = "result",
					t = "HousingResult",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_LAYOUT_ROOM_COMPONENT_THEME_SET_CHANGED",
		},
		{
			n = "HousingLayoutRoomMoveInvalid",
			k = "Event",
			SynchronousEvent = true,
			literal = "HOUSING_LAYOUT_ROOM_MOVE_INVALID",
		},
		{
			n = "HousingLayoutRoomMoved",
			k = "Event",
			doc = {
				"Fired when a previously placed room has been moved to a different position or rotation",
			},
			SynchronousEvent = true,
			literal = "HOUSING_LAYOUT_ROOM_MOVED",
		},
		{
			n = "HousingLayoutRoomReceived",
			k = "Event",
			doc = {
				"Fired when info for a newly placed room has been recieved while in Layout Mode",
			},
			payload = {
				{
					n = "prevNumFloors",
					t = "number",
					nilable = false,
				},
				{
					n = "currNumFloors",
					t = "number",
					nilable = false,
				},
				{
					n = "isUpstairs",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_LAYOUT_ROOM_RECEIVED",
		},
		{
			n = "HousingLayoutRoomRemoved",
			k = "Event",
			doc = {
				"Fired when a previously placed room has been removed while in Layout Mode",
			},
			SynchronousEvent = true,
			literal = "HOUSING_LAYOUT_ROOM_REMOVED",
		},
		{
			n = "HousingLayoutRoomReturned",
			k = "Event",
			doc = {
				"Fired when a room that was being dragged is let go of without being placed, and is returned to the House Chest",
			},
			SynchronousEvent = true,
			literal = "HOUSING_LAYOUT_ROOM_RETURNED",
		},
		{
			n = "HousingLayoutRoomSelectionChanged",
			k = "Event",
			doc = {
				"Fired when an already placed room has been selected or deselected",
			},
			payload = {
				{
					n = "hasSelection",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_LAYOUT_ROOM_SELECTION_CHANGED",
		},
		{
			n = "HousingLayoutRoomSnapped",
			k = "Event",
			doc = {
				"Fired when a room being dragged has been snapped to a particular door connection",
			},
			SynchronousEvent = true,
			literal = "HOUSING_LAYOUT_ROOM_SNAPPED",
		},
		{
			n = "HousingLayoutViewedFloorChanged",
			k = "Event",
			payload = {
				{
					n = "floor",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSING_LAYOUT_VIEWED_FLOOR_CHANGED",
		},
		{
			n = "ShowStairDirectionConfirmation",
			k = "Event",
			SynchronousEvent = true,
			literal = "SHOW_STAIR_DIRECTION_CONFIRMATION",
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "HousingLayoutUITypesDocumentation.lua",
	hash = "50646d6f53204bf132396086311c807e18d1c5d0f739665ac95771e529bd73c7",
	tables = {
		{
			n = "HousingLayoutCameraDirection",
			k = "Enumeration",
			fields = {
				{
					n = "None",
					t = "HousingLayoutCameraDirection",
					EnumValue = 0,
				},
				{
					n = "Up",
					t = "HousingLayoutCameraDirection",
					EnumValue = 1,
				},
				{
					n = "Down",
					t = "HousingLayoutCameraDirection",
					EnumValue = 2,
				},
				{
					n = "Left",
					t = "HousingLayoutCameraDirection",
					EnumValue = 4,
				},
				{
					n = "Right",
					t = "HousingLayoutCameraDirection",
					EnumValue = 8,
				},
			},
			max = 8,
			min = 0,
			num = 5,
		},
		{
			n = "HousingLayoutPinType",
			k = "Enumeration",
			fields = {
				{
					n = "Door",
					t = "HousingLayoutPinType",
					EnumValue = 0,
				},
				{
					n = "Room",
					t = "HousingLayoutPinType",
					EnumValue = 1,
				},
			},
			max = 1,
			min = 0,
			num = 2,
		},
		{
			n = "HousingLayoutStairDirection",
			k = "Enumeration",
			fields = {
				{
					n = "Up",
					t = "HousingLayoutStairDirection",
					EnumValue = 0,
				},
				{
					n = "Down",
					t = "HousingLayoutStairDirection",
					EnumValue = 1,
				},
			},
			max = 1,
			min = 0,
			num = 2,
		},
		{
			n = "DoorConnectionInfo",
			k = "Structure",
			fields = {
				{
					n = "doorID",
					t = "number",
					nilable = false,
				},
				{
					n = "connectionType",
					t = "HousingRoomComponentType",
					nilable = false,
				},
				{
					n = "doorFacing",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "RoomOptionInfo",
			k = "Structure",
			fields = {
				{
					n = "roomName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "roomID",
					t = "number",
					nilable = false,
				},
				{
					n = "learned",
					t = "bool",
					nilable = false,
				},
				{
					n = "numOwned",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "PinUpdatedCallback",
			k = "CallbackType",
		},
	},
}
systems[#systems + 1] = {
	name = "HousingNeighborhoodUI",
	type = "System",
	ns = "C_HousingNeighborhood",
	env = "All",
	file = "HousingNeighborhoodUIDocumentation.lua",
	hash = "fb390af82d2e394d13d2498c6f7d2549501a43f5b4a4b16125ac98006ec7a833",
	functions = {
		{
			n = "CanReturnAfterVisitingHouse",
			k = "Function",
			rets = {
				{
					n = "canReturn",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CancelInviteToNeighborhood",
			k = "Function",
			doc = {
				"Only available when interacting with a bulletin board game object",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "playerName",
					t = "cstring",
					nilable = false,
				},
			},
		},
		{
			n = "DemoteToResident",
			k = "Function",
			doc = {
				"Only available when interacting with a bulletin board game object",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "playerGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
		},
		{
			n = "GetCornerstoneHouseInfo",
			k = "Function",
			doc = {
				"Only available when interacting with a cornerstone game object",
			},
			rets = {
				{
					n = "houseInfo",
					t = "HouseInfo",
					nilable = false,
				},
			},
		},
		{
			n = "GetCornerstoneNeighborhoodInfo",
			k = "Function",
			doc = {
				"Only available when interacting with a cornerstone game object",
			},
			rets = {
				{
					n = "neighborhoodInfo",
					t = "NeighborhoodInfo",
					nilable = false,
				},
			},
		},
		{
			n = "GetCornerstonePurchaseMode",
			k = "Function",
			doc = {
				"Only available when interacting with a cornerstone game object",
			},
			rets = {
				{
					n = "purchaseMode",
					t = "CornerstonePurchaseMode",
					nilable = false,
				},
			},
		},
		{
			n = "GetCurrentNeighborhoodTextureSuffix",
			k = "Function",
			rets = {
				{
					n = "neighborhoodTextureSuffix",
					t = "cstring",
					nilable = false,
				},
			},
		},
		{
			n = "GetDiscountedMovePrice",
			k = "Function",
			doc = {
				"Only available when interacting with a cornerstone game object",
			},
			rets = {
				{
					n = "movePrice",
					t = "number",
					nilable = false,
					doc = {
						"Can be negative if the refund from moving is more than the cost of the new house",
					},
				},
			},
		},
		{
			n = "GetMoveCooldownTime",
			k = "Function",
			doc = {
				"Only available when interacting with a cornerstone game object",
			},
			rets = {
				{
					n = "movecooldownTime",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetNeighborhoodMapData",
			k = "Function",
			rets = {
				{
					n = "neighborhoodPlots",
					t = "table",
					nilable = false,
					it = "NeighborhoodPlotMapInfo",
				},
			},
		},
		{
			n = "GetNeighborhoodName",
			k = "Function",
			rets = {
				{
					n = "neighborhoodName",
					t = "string",
					nilable = false,
				},
			},
		},
		{
			n = "GetNeighborhoodPlotName",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "plotIndex",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "neighborhoodName",
					t = "string",
					nilable = false,
				},
			},
		},
		{
			n = "GetPreviousHouseIdentifier",
			k = "Function",
			doc = {
				"Only available when interacting with a cornerstone game object",
			},
			rets = {
				{
					n = "previousHouseIdentifier",
					t = "string",
					nilable = false,
				},
			},
		},
		{
			n = "HasPermissionToPurchase",
			k = "Function",
			doc = {
				"Only available when interacting with a cornerstone game object",
			},
			rets = {
				{
					n = "cantPurchaseReason",
					t = "PurchaseHouseDisabledReason",
					nilable = false,
				},
			},
		},
		{
			n = "InvitePlayerToNeighborhood",
			k = "Function",
			doc = {
				"Only available when interacting with a bulletin board game object",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "playerName",
					t = "cstring",
					nilable = false,
				},
			},
		},
		{
			n = "IsNeighborhoodManager",
			k = "Function",
			rets = {
				{
					n = "isManager",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsNeighborhoodOwner",
			k = "Function",
			rets = {
				{
					n = "isOwner",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsPlayerInOtherPlayersPlot",
			k = "Function",
			doc = {
				"This returns true if the player is in a plot that is owned by another player",
			},
			rets = {
				{
					n = "isInUnownedPlot",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsPlotAvailableForPurchase",
			k = "Function",
			doc = {
				"Only available when interacting with a cornerstone game object",
			},
			rets = {
				{
					n = "isAvailable",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsPlotOwnedByPlayer",
			k = "Function",
			doc = {
				"Only available when interacting with a cornerstone game object",
			},
			rets = {
				{
					n = "isPlayerOwned",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "OnBulletinBoardClosed",
			k = "Function",
		},
		{
			n = "OnCornerstoneClosed",
			k = "Function",
		},
		{
			n = "PromoteToManager",
			k = "Function",
			doc = {
				"Only available when interacting with a bulletin board game object",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "playerGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
		},
		{
			n = "RequestNeighborhoodInfo",
			k = "Function",
		},
		{
			n = "RequestNeighborhoodRoster",
			k = "Function",
			doc = {
				"Only available when interacting with a bulletin board game object",
			},
		},
		{
			n = "RequestPendingNeighborhoodInvites",
			k = "Function",
			doc = {
				"Only available when interacting with a bulletin board game object",
			},
		},
		{
			n = "TransferNeighborhoodOwnership",
			k = "Function",
			doc = {
				"Only available when interacting with a bulletin board game object",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "playerGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
		},
		{
			n = "TryEvictPlayer",
			k = "Function",
			doc = {
				"Only available when interacting with a bulletin board game object",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "plotID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "TryMoveHouse",
			k = "Function",
			doc = {
				"Only available when interacting with a cornerstone game object",
			},
		},
		{
			n = "TryPurchasePlot",
			k = "Function",
			doc = {
				"Only available when interacting with a cornerstone game object",
			},
		},
	},
	events = {
		{
			n = "CancelNeighborhoodInviteResponse",
			k = "Event",
			payload = {
				{
					n = "result",
					t = "NeighborhoodInviteResult",
					nilable = false,
				},
				{
					n = "playerName",
					t = "cstring",
					nilable = true,
				},
			},
			SynchronousEvent = true,
			literal = "CANCEL_NEIGHBORHOOD_INVITE_RESPONSE",
		},
		{
			n = "ClosePlotCornerstone",
			k = "Event",
			SynchronousEvent = true,
			literal = "CLOSE_PLOT_CORNERSTONE",
		},
		{
			n = "NeighborhoodInfoUpdated",
			k = "Event",
			payload = {
				{
					n = "neighborhoodInfo",
					t = "NeighborhoodInfo",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "NEIGHBORHOOD_INFO_UPDATED",
		},
		{
			n = "NeighborhoodInviteResponse",
			k = "Event",
			payload = {
				{
					n = "result",
					t = "NeighborhoodInviteResult",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "NEIGHBORHOOD_INVITE_RESPONSE",
		},
		{
			n = "NeighborhoodMapDataUpdated",
			k = "Event",
			literal = "NEIGHBORHOOD_MAP_DATA_UPDATED",
			unique = true,
		},
		{
			n = "NeighborhoodNameUpdated",
			k = "Event",
			payload = {
				{
					n = "neighborhoodGuid",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "neighborhoodName",
					t = "cstring",
					nilable = false,
				},
			},
			literal = "NEIGHBORHOOD_NAME_UPDATED",
			unique = true,
		},
		{
			n = "OpenPlotCornerstone",
			k = "Event",
			SynchronousEvent = true,
			literal = "OPEN_PLOT_CORNERSTONE",
		},
		{
			n = "PendingNeighborhoodInvitesRecieved",
			k = "Event",
			payload = {
				{
					n = "result",
					t = "NeighborhoodInviteResult",
					nilable = false,
				},
				{
					n = "pendingInviteList",
					t = "table",
					nilable = true,
					it = "string",
				},
			},
			SynchronousEvent = true,
			literal = "PENDING_NEIGHBORHOOD_INVITES_RECIEVED",
		},
		{
			n = "PurchasePlotResult",
			k = "Event",
			payload = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "PURCHASE_PLOT_RESULT",
		},
		{
			n = "ShowPlayerEvictedDialog",
			k = "Event",
			SynchronousEvent = true,
			literal = "SHOW_PLAYER_EVICTED_DIALOG",
		},
		{
			n = "UpdateBulletinBoardMemberType",
			k = "Event",
			payload = {
				{
					n = "player",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "residentType",
					t = "ResidentType",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UPDATE_BULLETIN_BOARD_MEMBER_TYPE",
		},
		{
			n = "UpdateBulletinBoardRoster",
			k = "Event",
			payload = {
				{
					n = "neighborhoodInfo",
					t = "NeighborhoodInfo",
					nilable = false,
				},
				{
					n = "rosterMemberList",
					t = "table",
					nilable = false,
					it = "NeighborhoodRosterMemberInfo",
				},
			},
			SynchronousEvent = true,
			literal = "UPDATE_BULLETIN_BOARD_ROSTER",
		},
		{
			n = "UpdateBulletinBoardRosterStatuses",
			k = "Event",
			payload = {
				{
					n = "rosterMemberList",
					t = "table",
					nilable = false,
					it = "NeighborhoodRosterMemberUpdateInfo",
				},
			},
			SynchronousEvent = true,
			literal = "UPDATE_BULLETIN_BOARD_ROSTER_STATUSES",
		},
	},
	tables = {
		{
			n = "CornerstonePurchaseMode",
			k = "Enumeration",
			fields = {
				{
					n = "Basic",
					t = "CornerstonePurchaseMode",
					EnumValue = 0,
				},
				{
					n = "Import",
					t = "CornerstonePurchaseMode",
					EnumValue = 1,
				},
				{
					n = "Move",
					t = "CornerstonePurchaseMode",
					EnumValue = 2,
				},
			},
			max = 2,
			min = 0,
			num = 3,
		},
	},
}
systems[#systems + 1] = {
	name = "HousingUI",
	type = "System",
	ns = "C_Housing",
	env = "All",
	file = "HousingUIDocumentation.lua",
	hash = "a7d82c50fac313e008dfb557c3af5556f9c4ddfa561a448e1df2610d25f7d6ad",
	functions = {
		{
			n = "AcceptNeighborhoodOwnership",
			k = "Function",
		},
		{
			n = "CanEditCharter",
			k = "Function",
			rets = {
				{
					n = "canEditCharter",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CanTakeReportScreenshot",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "plotIndex",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "reason",
					t = "InvalidPlotScreenshotReason",
					nilable = false,
				},
			},
		},
		{
			n = "CreateGuildNeighborhood",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "neighborhoodName",
					t = "cstring",
					nilable = false,
				},
			},
		},
		{
			n = "CreateNeighborhoodCharter",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "neighborhoodName",
					t = "cstring",
					nilable = false,
				},
			},
		},
		{
			n = "DeclineNeighborhoodOwnership",
			k = "Function",
		},
		{
			n = "DoesFactionMatchNeighborhood",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "neighborhoodGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "factionMatches",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "EditNeighborhoodCharter",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "neighborhoodName",
					t = "cstring",
					nilable = false,
				},
			},
		},
		{
			n = "GetCurrentHouseInfo",
			k = "Function",
			rets = {
				{
					n = "houseInfo",
					t = "HouseInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetCurrentHouseLevelFavor",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "houseGuid",
					t = "WOWGUID",
					nilable = false,
				},
			},
		},
		{
			n = "GetCurrentHouseRefundAmount",
			k = "Function",
			rets = {
				{
					n = "refundAmount",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetCurrentNeighborhoodGUID",
			k = "Function",
			rets = {
				{
					n = "neighborhoodGUID",
					t = "WOWGUID",
					nilable = true,
				},
			},
		},
		{
			n = "GetHouseLevelFavorForLevel",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "level",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "houseFavor",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetHouseLevelRewardsForLevel",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "level",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetHousingAccessFlags",
			k = "Function",
			rets = {
				{
					n = "accessFlags",
					t = "HouseSettingFlags",
					nilable = false,
				},
			},
		},
		{
			n = "GetMaxHouseLevel",
			k = "Function",
			rets = {
				{
					n = "level",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetNeighborhoodTextureSuffix",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "neighborhoodGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "neighborhoodTextureSuffix",
					t = "cstring",
					nilable = false,
				},
			},
		},
		{
			n = "GetOthersOwnedHouses",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "playerGUID",
					t = "WOWGUID",
					nilable = true,
				},
				{
					n = "bnetID",
					t = "number",
					nilable = true,
				},
				{
					n = "isInPlayersGuild",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "GetPlayerOwnedHouses",
			k = "Function",
		},
		{
			n = "GetTrackedHouseGuid",
			k = "Function",
			rets = {
				{
					n = "trackedHouse",
					t = "WOWGUID",
					nilable = true,
				},
			},
		},
		{
			n = "GetUIMapIDForNeighborhood",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "neighborhoodGuid",
					t = "WOWGUID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "uiMapID",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "GetVisitCooldownInfo",
			k = "Function",
			rets = {
				{
					n = "spellCooldownInfo",
					t = "SpellCooldownInfo",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "HasHousingExpansionAccess",
			k = "Function",
			rets = {
				{
					n = "hasAccess",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "HouseFinderDeclineNeighborhoodInvitation",
			k = "Function",
		},
		{
			n = "HouseFinderRequestNeighborhoods",
			k = "Function",
		},
		{
			n = "HouseFinderRequestReservationAndPort",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "neighborhoodGuid",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "plotID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "IsHousingMarketCartFullRemoveEnabled",
			k = "Function",
			rets = {
				{
					n = "isHousingMarketCartFullRemoveEnabled",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsHousingMarketEnabled",
			k = "Function",
			rets = {
				{
					n = "isHousingMarketEnabled",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsHousingMarketShopEnabled",
			k = "Function",
			rets = {
				{
					n = "isHousingMarketShopEnabled",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsHousingServiceEnabled",
			k = "Function",
			rets = {
				{
					n = "isAvailable",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsInsideHouse",
			k = "Function",
			rets = {
				{
					n = "isInside",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsInsideHouseOrPlot",
			k = "Function",
			rets = {
				{
					n = "isInside",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsInsideOwnHouse",
			k = "Function",
			rets = {
				{
					n = "isInsideOwnHouse",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsInsidePlot",
			k = "Function",
			rets = {
				{
					n = "isInside",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsOnNeighborhoodMap",
			k = "Function",
			rets = {
				{
					n = "isOnNeighborhoodMap",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "LeaveHouse",
			k = "Function",
		},
		{
			n = "OnCharterConfirmationAccepted",
			k = "Function",
		},
		{
			n = "OnCharterConfirmationClosed",
			k = "Function",
		},
		{
			n = "OnCreateCharterNeighborhoodClosed",
			k = "Function",
		},
		{
			n = "OnCreateGuildNeighborhoodClosed",
			k = "Function",
		},
		{
			n = "OnHouseFinderClickPlot",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "plotID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "OnRequestSignatureClicked",
			k = "Function",
		},
		{
			n = "OnSignCharterClicked",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "charterOwnerGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
		},
		{
			n = "RelinquishHouse",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "houseGuid",
					t = "WOWGUID",
					nilable = false,
				},
			},
		},
		{
			n = "RequestCurrentHouseInfo",
			k = "Function",
		},
		{
			n = "RequestHouseFinderNeighborhoodData",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "neighborhoodGuid",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "neighborhoodName",
					t = "cstring",
					nilable = false,
				},
			},
		},
		{
			n = "RequestPlayerCharacterList",
			k = "Function",
		},
		{
			n = "ReturnAfterVisitingHouse",
			k = "Function",
			HasRestrictions = true,
		},
		{
			n = "SaveHouseSettings",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "playerGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "accessFlags",
					t = "HouseSettingFlags",
					nilable = false,
				},
			},
		},
		{
			n = "SearchBNetFriendNeighborhoods",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bnetName",
					t = "cstring",
					nilable = false,
				},
			},
			rets = {
				{
					n = "isValidBnetFriend",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SearchBNetFriendNeighborhoodsByID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bnetID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "isValidBnetFriend",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetTrackedHouseGuid",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "trackedHouse",
					t = "WOWGUID",
					nilable = true,
				},
			},
		},
		{
			n = "StartTutorial",
			k = "Function",
		},
		{
			n = "TeleportHome",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "neighborhoodGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "houseGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "plotID",
					t = "number",
					nilable = false,
				},
			},
			HasRestrictions = true,
		},
		{
			n = "TryRenameNeighborhood",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "neighborhoodName",
					t = "cstring",
					nilable = false,
				},
			},
		},
		{
			n = "ValidateCreateGuildNeighborhoodSize",
			k = "Function",
		},
		{
			n = "ValidateNeighborhoodName",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "neighborhoodName",
					t = "cstring",
					nilable = false,
				},
			},
		},
		{
			n = "VisitHouse",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "neighborhoodGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "houseGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "plotID",
					t = "number",
					nilable = false,
				},
			},
			HasRestrictions = true,
		},
	},
	events = {
		{
			n = "AddNeighborhoodCharterSignature",
			k = "Event",
			payload = {
				{
					n = "signature",
					t = "cstring",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "ADD_NEIGHBORHOOD_CHARTER_SIGNATURE",
		},
		{
			n = "BNetNeighborhoodListUpdated",
			k = "Event",
			payload = {
				{
					n = "result",
					t = "HousingResult",
					nilable = false,
				},
				{
					n = "neighborhoodInfos",
					t = "table",
					nilable = true,
					it = "NeighborhoodInfo",
				},
			},
			SynchronousEvent = true,
			literal = "B_NET_NEIGHBORHOOD_LIST_UPDATED",
		},
		{
			n = "CloseCharterConfirmationUI",
			k = "Event",
			SynchronousEvent = true,
			literal = "CLOSE_CHARTER_CONFIRMATION_UI",
		},
		{
			n = "CloseCreateCharterNeighborhoodUI",
			k = "Event",
			SynchronousEvent = true,
			literal = "CLOSE_CREATE_CHARTER_NEIGHBORHOOD_UI",
		},
		{
			n = "CloseCreateGuildNeighborhoodUI",
			k = "Event",
			SynchronousEvent = true,
			literal = "CLOSE_CREATE_GUILD_NEIGHBORHOOD_UI",
		},
		{
			n = "CreateNeighborhoodResult",
			k = "Event",
			payload = {
				{
					n = "result",
					t = "HousingResult",
					nilable = false,
				},
				{
					n = "neighborhoodName",
					t = "cstring",
					nilable = true,
				},
			},
			SynchronousEvent = true,
			literal = "CREATE_NEIGHBORHOOD_RESULT",
		},
		{
			n = "CurrentHouseInfoRecieved",
			k = "Event",
			payload = {
				{
					n = "houseInfo",
					t = "HouseInfo",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "CURRENT_HOUSE_INFO_RECIEVED",
		},
		{
			n = "CurrentHouseInfoUpdated",
			k = "Event",
			payload = {
				{
					n = "houseInfo",
					t = "HouseInfo",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "CURRENT_HOUSE_INFO_UPDATED",
		},
		{
			n = "DeclineNeighborhoodInvitationResponse",
			k = "Event",
			payload = {
				{
					n = "success",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "DECLINE_NEIGHBORHOOD_INVITATION_RESPONSE",
		},
		{
			n = "ForceRefreshHouseFinder",
			k = "Event",
			SynchronousEvent = true,
			literal = "FORCE_REFRESH_HOUSE_FINDER",
		},
		{
			n = "HouseFinderNeighborhoodDataRecieved",
			k = "Event",
			payload = {
				{
					n = "neighborhoodPlots",
					t = "table",
					nilable = false,
					it = "NeighborhoodPlotMapInfo",
				},
			},
			SynchronousEvent = true,
			literal = "HOUSE_FINDER_NEIGHBORHOOD_DATA_RECIEVED",
		},
		{
			n = "HouseInfoUpdated",
			k = "Event",
			SynchronousEvent = true,
			literal = "HOUSE_INFO_UPDATED",
		},
		{
			n = "HouseLevelChanged",
			k = "Event",
			payload = {
				{
					n = "newHouseLevelInfo",
					t = "HouseLevelInfo",
					nilable = true,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSE_LEVEL_CHANGED",
		},
		{
			n = "HouseLevelFavorUpdated",
			k = "Event",
			payload = {
				{
					n = "houseLevelFavor",
					t = "HouseLevelFavor",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSE_LEVEL_FAVOR_UPDATED",
		},
		{
			n = "HousePlotEntered",
			k = "Event",
			SynchronousEvent = true,
			literal = "HOUSE_PLOT_ENTERED",
		},
		{
			n = "HousePlotExited",
			k = "Event",
			SynchronousEvent = true,
			literal = "HOUSE_PLOT_EXITED",
		},
		{
			n = "HouseReservationResponseRecieved",
			k = "Event",
			payload = {
				{
					n = "result",
					t = "HousingResult",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HOUSE_RESERVATION_RESPONSE_RECIEVED",
		},
		{
			n = "HousingMarketAvailabilityUpdated",
			k = "Event",
			SynchronousEvent = true,
			literal = "HOUSING_MARKET_AVAILABILITY_UPDATED",
		},
		{
			n = "HousingServicesAvailabilityUpdated",
			k = "Event",
			SynchronousEvent = true,
			literal = "HOUSING_SERVICES_AVAILABILITY_UPDATED",
		},
		{
			n = "MoveOutReservationUpdated",
			k = "Event",
			SynchronousEvent = true,
			literal = "MOVE_OUT_RESERVATION_UPDATED",
		},
		{
			n = "NeighborhoodGuildSizeValidated",
			k = "Event",
			payload = {
				{
					n = "approved",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "NEIGHBORHOOD_GUILD_SIZE_VALIDATED",
		},
		{
			n = "NeighborhoodListUpdated",
			k = "Event",
			payload = {
				{
					n = "result",
					t = "HousingResult",
					nilable = false,
				},
				{
					n = "neighborhoodInfos",
					t = "table",
					nilable = true,
					it = "NeighborhoodInfo",
				},
			},
			SynchronousEvent = true,
			literal = "NEIGHBORHOOD_LIST_UPDATED",
		},
		{
			n = "NeighborhoodNameValidated",
			k = "Event",
			payload = {
				{
					n = "approved",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "NEIGHBORHOOD_NAME_VALIDATED",
		},
		{
			n = "NewHousingItemAcquired",
			k = "Event",
			payload = {
				{
					n = "itemType",
					t = "HousingItemToastType",
					nilable = false,
				},
				{
					n = "itemName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "icon",
					t = "fileID",
					nilable = true,
				},
			},
			SynchronousEvent = true,
			literal = "NEW_HOUSING_ITEM_ACQUIRED",
		},
		{
			n = "OpenCharterConfirmationUI",
			k = "Event",
			payload = {
				{
					n = "neighborhoodName",
					t = "string",
					nilable = false,
				},
				{
					n = "locationName",
					t = "string",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "OPEN_CHARTER_CONFIRMATION_UI",
		},
		{
			n = "OpenCreateCharterNeighborhoodUI",
			k = "Event",
			payload = {
				{
					n = "locationName",
					t = "cstring",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "OPEN_CREATE_CHARTER_NEIGHBORHOOD_UI",
		},
		{
			n = "OpenCreateGuildNeighborhoodUI",
			k = "Event",
			payload = {
				{
					n = "locationName",
					t = "cstring",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "OPEN_CREATE_GUILD_NEIGHBORHOOD_UI",
		},
		{
			n = "OpenNeighborhoodCharter",
			k = "Event",
			payload = {
				{
					n = "neighborhoodInfo",
					t = "NeighborhoodInfo",
					nilable = false,
				},
				{
					n = "signatures",
					t = "table",
					nilable = false,
					it = "string",
				},
				{
					n = "requiredSignatures",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "OPEN_NEIGHBORHOOD_CHARTER",
		},
		{
			n = "OpenNeighborhoodCharterSignatureRequest",
			k = "Event",
			payload = {
				{
					n = "neighborhoodInfo",
					t = "NeighborhoodInfo",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "OPEN_NEIGHBORHOOD_CHARTER_SIGNATURE_REQUEST",
		},
		{
			n = "PlayerCharacterListUpdated",
			k = "Event",
			payload = {
				{
					n = "characterInfos",
					t = "table",
					nilable = false,
					it = "HouseOwnerCharacterInfo",
				},
				{
					n = "ownerListIndex",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "PLAYER_CHARACTER_LIST_UPDATED",
		},
		{
			n = "PlayerHouseListUpdated",
			k = "Event",
			payload = {
				{
					n = "houseInfos",
					t = "table",
					nilable = false,
					it = "HouseInfo",
				},
			},
			SynchronousEvent = true,
			literal = "PLAYER_HOUSE_LIST_UPDATED",
		},
		{
			n = "ReceivedHouseLevelRewards",
			k = "Event",
			payload = {
				{
					n = "level",
					t = "number",
					nilable = false,
				},
				{
					n = "rewards",
					t = "table",
					nilable = false,
					it = "HouseLevelReward",
				},
			},
			SynchronousEvent = true,
			literal = "RECEIVED_HOUSE_LEVEL_REWARDS",
		},
		{
			n = "RemoveNeighborhoodCharterSignature",
			k = "Event",
			payload = {
				{
					n = "signature",
					t = "cstring",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "REMOVE_NEIGHBORHOOD_CHARTER_SIGNATURE",
		},
		{
			n = "ShowNeighborhoodOwnershipTransferDialog",
			k = "Event",
			payload = {
				{
					n = "neighborhoodName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "cosmeticOwnerName",
					t = "cstring",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "SHOW_NEIGHBORHOOD_OWNERSHIP_TRANSFER_DIALOG",
		},
		{
			n = "TrackedHouseChanged",
			k = "Event",
			payload = {
				{
					n = "trackedHouse",
					t = "WOWGUID",
					nilable = true,
				},
			},
			SynchronousEvent = true,
			literal = "TRACKED_HOUSE_CHANGED",
		},
		{
			n = "ViewHousesListRecieved",
			k = "Event",
			payload = {
				{
					n = "houseInfos",
					t = "table",
					nilable = false,
					it = "HouseInfo",
				},
			},
			SynchronousEvent = true,
			literal = "VIEW_HOUSES_LIST_RECIEVED",
		},
	},
	tables = {
		{
			n = "CreateNeighborhoodErrorType",
			k = "Enumeration",
			fields = {
				{
					n = "None",
					t = "CreateNeighborhoodErrorType",
					EnumValue = 0,
				},
				{
					n = "Profanity",
					t = "CreateNeighborhoodErrorType",
					EnumValue = 1,
				},
				{
					n = "UndersizedGuild",
					t = "CreateNeighborhoodErrorType",
					EnumValue = 2,
				},
				{
					n = "OversizedGuild",
					t = "CreateNeighborhoodErrorType",
					EnumValue = 3,
				},
			},
			max = 3,
			min = 0,
			num = 4,
		},
		{
			n = "HousingItemToastType",
			k = "Enumeration",
			fields = {
				{
					n = "Room",
					t = "HousingItemToastType",
					EnumValue = 0,
				},
				{
					n = "Fixture",
					t = "HousingItemToastType",
					EnumValue = 1,
				},
				{
					n = "Customization",
					t = "HousingItemToastType",
					EnumValue = 2,
				},
				{
					n = "Decor",
					t = "HousingItemToastType",
					EnumValue = 3,
				},
				{
					n = "HouseType",
					t = "HousingItemToastType",
					EnumValue = 4,
				},
			},
			max = 4,
			min = 0,
			num = 5,
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "HousingUISharedDocumentation.lua",
	hash = "dc055820e22cfdc55d5de7867226b7cd42c0328345075a60b16df9c2106b2ee3",
	tables = {
		{
			n = "HouseLevelRewardType",
			k = "Enumeration",
			fields = {
				{
					n = "Value",
					t = "HouseLevelRewardType",
					EnumValue = 0,
				},
				{
					n = "Object",
					t = "HouseLevelRewardType",
					EnumValue = 1,
				},
			},
			max = 1,
			min = 0,
			num = 2,
		},
		{
			n = "HouseLevelRewardValueType",
			k = "Enumeration",
			fields = {
				{
					n = "ExteriorDecor",
					t = "HouseLevelRewardValueType",
					EnumValue = 0,
				},
				{
					n = "InteriorDecor",
					t = "HouseLevelRewardValueType",
					EnumValue = 1,
				},
				{
					n = "Rooms",
					t = "HouseLevelRewardValueType",
					EnumValue = 2,
				},
				{
					n = "Fixtures",
					t = "HouseLevelRewardValueType",
					EnumValue = 3,
				},
			},
			max = 3,
			min = 0,
			num = 4,
		},
		{
			n = "HouseVisitType",
			k = "Enumeration",
			fields = {
				{
					n = "Unknown",
					t = "HouseVisitType",
					EnumValue = 0,
				},
				{
					n = "Friend",
					t = "HouseVisitType",
					EnumValue = 1,
				},
				{
					n = "Guild",
					t = "HouseVisitType",
					EnumValue = 2,
				},
				{
					n = "Party",
					t = "HouseVisitType",
					EnumValue = 3,
				},
			},
			max = 3,
			min = 0,
			num = 4,
		},
		{
			n = "HouseInfo",
			k = "Structure",
			fields = {
				{
					n = "plotID",
					t = "number",
					nilable = false,
				},
				{
					n = "houseName",
					t = "string",
					nilable = true,
				},
				{
					n = "ownerName",
					t = "string",
					nilable = true,
				},
				{
					n = "plotCost",
					t = "number",
					nilable = true,
				},
				{
					n = "neighborhoodName",
					t = "string",
					nilable = true,
				},
				{
					n = "moveOutTime",
					t = "time_t",
					nilable = true,
				},
				{
					n = "plotReserved",
					t = "bool",
					nilable = true,
				},
				{
					n = "neighborhoodGUID",
					t = "WOWGUID",
					nilable = true,
				},
				{
					n = "houseGUID",
					t = "WOWGUID",
					nilable = true,
				},
			},
		},
		{
			n = "HouseLevelFavor",
			k = "Structure",
			fields = {
				{
					n = "houseGUID",
					t = "WOWGUID",
					nilable = true,
				},
				{
					n = "houseLevel",
					t = "number",
					nilable = false,
				},
				{
					n = "houseFavor",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "HouseLevelInfo",
			k = "Structure",
			fields = {
				{
					n = "level",
					t = "number",
					nilable = false,
					doc = {
						"This specific house's current level, determined/increasesd by earning house xp",
					},
				},
				{
					n = "interiorDecorPlacementBudget",
					t = "number",
					nilable = false,
					doc = {
						"Current max decor placement budget for inside the house; Can be increased via house level",
					},
				},
				{
					n = "exteriorDecorPlacementBudget",
					t = "number",
					nilable = false,
					doc = {
						"Current max decor placement budget for the house exterior/in the house's plot; Can be increased via house level",
					},
				},
				{
					n = "roomPlacementBudget",
					t = "number",
					nilable = false,
					doc = {
						"Current max room placement budget for the house; Can be increased via house level",
					},
				},
				{
					n = "exteriorFixtureBudget",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "HouseLevelReward",
			k = "Structure",
			fields = {
				{
					n = "type",
					t = "HouseLevelRewardType",
					nilable = false,
				},
				{
					n = "asset",
					t = "ModelAsset",
					nilable = true,
				},
				{
					n = "iconTexture",
					t = "FileAsset",
					nilable = true,
				},
				{
					n = "iconAtlas",
					t = "textureAtlas",
					nilable = true,
				},
				{
					n = "objectName",
					t = "string",
					nilable = true,
				},
				{
					n = "tooltipText",
					t = "string",
					nilable = true,
				},
				{
					n = "valueType",
					t = "HouseLevelRewardValueType",
					nilable = true,
				},
				{
					n = "oldValue",
					t = "number",
					nilable = true,
				},
				{
					n = "newValue",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "HouseOwnerCharacterInfo",
			k = "Structure",
			fields = {
				{
					n = "characterName",
					t = "string",
					nilable = false,
				},
				{
					n = "classID",
					t = "number",
					nilable = false,
				},
				{
					n = "error",
					t = "HouseOwnerError",
					nilable = false,
				},
				{
					n = "playerGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
		},
		{
			n = "HouseholdMemberInfo",
			k = "Structure",
			fields = {
				{
					n = "characterName",
					t = "string",
					nilable = false,
				},
				{
					n = "classID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "NeighborhoodInfo",
			k = "Structure",
			fields = {
				{
					n = "neighborhoodType",
					t = "NeighborhoodType",
					nilable = false,
				},
				{
					n = "neighborhoodOwnerType",
					t = "NeighborhoodOwnerType",
					nilable = false,
					def = "None",
				},
				{
					n = "neighborhoodName",
					t = "string",
					nilable = false,
				},
				{
					n = "neighborhoodGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "ownerGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "suggestionReason",
					t = "HouseFinderSuggestionReason",
					nilable = true,
				},
				{
					n = "ownerName",
					t = "string",
					nilable = true,
				},
				{
					n = "locationName",
					t = "string",
					nilable = true,
				},
			},
		},
		{
			n = "NeighborhoodPlotMapInfo",
			k = "Structure",
			fields = {
				{
					n = "mapPosition",
					t = "vector2",
					nilable = false,
					mix = "Vector2DMixin",
				},
				{
					n = "plotDataID",
					t = "number",
					nilable = false,
				},
				{
					n = "plotID",
					t = "number",
					nilable = false,
				},
				{
					n = "ownerType",
					t = "HousingPlotOwnerType",
					nilable = false,
					def = "None",
				},
				{
					n = "plotCost",
					t = "number",
					nilable = true,
				},
				{
					n = "ownerName",
					t = "string",
					nilable = true,
				},
			},
		},
		{
			n = "NeighborhoodRosterMemberInfo",
			k = "Structure",
			fields = {
				{
					n = "playerGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "residentName",
					t = "string",
					nilable = false,
				},
				{
					n = "residentType",
					t = "ResidentType",
					nilable = false,
				},
				{
					n = "isOnline",
					t = "bool",
					nilable = false,
				},
				{
					n = "plotID",
					t = "number",
					nilable = false,
				},
				{
					n = "subdivision",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "NeighborhoodRosterMemberUpdateInfo",
			k = "Structure",
			fields = {
				{
					n = "playerGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "residentType",
					t = "ResidentType",
					nilable = false,
				},
				{
					n = "isOnline",
					t = "bool",
					nilable = false,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "ImageSharingConstantsDocumentation.lua",
	hash = "3d7b334f6dff46c5efe68c6a8bb4ed953c8476b7aabd7373dd52a6d00a51fa2b",
	tables = {
		{
			n = "ImageSharingResult",
			k = "Enumeration",
			fields = {
				{
					n = "Failure",
					t = "ImageSharingResult",
					EnumValue = 0,
				},
				{
					n = "Success",
					t = "ImageSharingResult",
					EnumValue = 1,
				},
				{
					n = "NotConfigured",
					t = "ImageSharingResult",
					EnumValue = 2,
				},
				{
					n = "RetrievedExisting",
					t = "ImageSharingResult",
					EnumValue = 3,
				},
				{
					n = "PlatformApiError",
					t = "ImageSharingResult",
					EnumValue = 4,
				},
				{
					n = "MissingFieldApiError",
					t = "ImageSharingResult",
					EnumValue = 5,
				},
				{
					n = "AccountDataRequestFailure",
					t = "ImageSharingResult",
					EnumValue = 6,
				},
				{
					n = "GetAccountDataRequestFailure",
					t = "ImageSharingResult",
					EnumValue = 7,
				},
				{
					n = "SetAccountDataRequestFailure",
					t = "ImageSharingResult",
					EnumValue = 8,
				},
				{
					n = "RefreshTokenExpired",
					t = "ImageSharingResult",
					EnumValue = 9,
				},
				{
					n = "FailedToCreateHeader",
					t = "ImageSharingResult",
					EnumValue = 10,
				},
				{
					n = "EncryptionFailure",
					t = "ImageSharingResult",
					EnumValue = 11,
				},
				{
					n = "InvalidOAuthExpiration",
					t = "ImageSharingResult",
					EnumValue = 12,
				},
				{
					n = "InvalidRefreshExpiration",
					t = "ImageSharingResult",
					EnumValue = 13,
				},
				{
					n = "EncryptionSecretNotSet",
					t = "ImageSharingResult",
					EnumValue = 14,
				},
			},
			max = 14,
			min = 0,
			num = 15,
		},
		{
			n = "PhotoSharingStatus",
			k = "Enumeration",
			fields = {
				{
					n = "Disabled",
					t = "PhotoSharingStatus",
					EnumValue = 0,
				},
				{
					n = "NotConfigured",
					t = "PhotoSharingStatus",
					EnumValue = 1,
				},
				{
					n = "Configured",
					t = "PhotoSharingStatus",
					EnumValue = 2,
				},
				{
					n = "Expired",
					t = "PhotoSharingStatus",
					EnumValue = 3,
				},
				{
					n = "ParentalControl",
					t = "PhotoSharingStatus",
					EnumValue = 4,
				},
				{
					n = "TrialOrVeteran",
					t = "PhotoSharingStatus",
					EnumValue = 5,
				},
				{
					n = "AADCRestricted",
					t = "PhotoSharingStatus",
					EnumValue = 6,
				},
				{
					n = "Error",
					t = "PhotoSharingStatus",
					EnumValue = 7,
				},
				{
					n = "FailedToClear",
					t = "PhotoSharingStatus",
					EnumValue = 8,
				},
			},
			max = 8,
			min = 0,
			num = 9,
		},
		{
			n = "PhotoSharingUploadStatus",
			k = "Enumeration",
			fields = {
				{
					n = "Disabled",
					t = "PhotoSharingUploadStatus",
					EnumValue = 0,
				},
				{
					n = "Failed",
					t = "PhotoSharingUploadStatus",
					EnumValue = 1,
				},
				{
					n = "Success",
					t = "PhotoSharingUploadStatus",
					EnumValue = 2,
				},
				{
					n = "Locked",
					t = "PhotoSharingUploadStatus",
					EnumValue = 3,
				},
				{
					n = "ListPagesApiCallFailed",
					t = "PhotoSharingUploadStatus",
					EnumValue = 4,
				},
				{
					n = "ListPagesBadRequest",
					t = "PhotoSharingUploadStatus",
					EnumValue = 5,
				},
				{
					n = "ListPagesUnauthorized",
					t = "PhotoSharingUploadStatus",
					EnumValue = 6,
				},
				{
					n = "ListPagesForbidden",
					t = "PhotoSharingUploadStatus",
					EnumValue = 7,
				},
				{
					n = "ListPagesNotFound",
					t = "PhotoSharingUploadStatus",
					EnumValue = 8,
				},
				{
					n = "ListPagesTooManyRequests",
					t = "PhotoSharingUploadStatus",
					EnumValue = 9,
				},
				{
					n = "ListPagesGenericFailure",
					t = "PhotoSharingUploadStatus",
					EnumValue = 10,
				},
				{
					n = "ListPagesEmptyBoardID",
					t = "PhotoSharingUploadStatus",
					EnumValue = 11,
				},
				{
					n = "ListPagesInvalidBookmark",
					t = "PhotoSharingUploadStatus",
					EnumValue = 12,
				},
				{
					n = "CreatePageApiCallFailed",
					t = "PhotoSharingUploadStatus",
					EnumValue = 13,
				},
				{
					n = "CreatePageBadRequest",
					t = "PhotoSharingUploadStatus",
					EnumValue = 14,
				},
				{
					n = "CreatePageUnauthorized",
					t = "PhotoSharingUploadStatus",
					EnumValue = 15,
				},
				{
					n = "CreatePageForbidden",
					t = "PhotoSharingUploadStatus",
					EnumValue = 16,
				},
				{
					n = "CreatePageNotFound",
					t = "PhotoSharingUploadStatus",
					EnumValue = 17,
				},
				{
					n = "CreatePageTooManyRequests",
					t = "PhotoSharingUploadStatus",
					EnumValue = 18,
				},
				{
					n = "CreatePageGenericFailure",
					t = "PhotoSharingUploadStatus",
					EnumValue = 19,
				},
				{
					n = "CreatePageNoBoardIDFound",
					t = "PhotoSharingUploadStatus",
					EnumValue = 20,
				},
				{
					n = "CreatePostApiCallFailed",
					t = "PhotoSharingUploadStatus",
					EnumValue = 21,
				},
				{
					n = "CreatePostBadRequest",
					t = "PhotoSharingUploadStatus",
					EnumValue = 22,
				},
				{
					n = "CreatePostUnauthorized",
					t = "PhotoSharingUploadStatus",
					EnumValue = 23,
				},
				{
					n = "CreatePostForbidden",
					t = "PhotoSharingUploadStatus",
					EnumValue = 24,
				},
				{
					n = "CreatePostNotFound",
					t = "PhotoSharingUploadStatus",
					EnumValue = 25,
				},
				{
					n = "CreatePostTooManyRequests",
					t = "PhotoSharingUploadStatus",
					EnumValue = 26,
				},
				{
					n = "CreatePostGenericFailure",
					t = "PhotoSharingUploadStatus",
					EnumValue = 27,
				},
				{
					n = "CreatePostNoIDFound",
					t = "PhotoSharingUploadStatus",
					EnumValue = 28,
				},
				{
					n = "CreatePostThrottled",
					t = "PhotoSharingUploadStatus",
					EnumValue = 29,
				},
			},
			max = 29,
			min = 0,
			num = 30,
		},
	},
}
systems[#systems + 1] = {
	name = "ImmersiveInteraction",
	type = "System",
	ns = "C_ImmersiveInteraction",
	env = "All",
	file = "ImmersiveInteractionManagerDocumentation.lua",
	hash = "5d990eeb36f232e2a7de3a50ccba7eefd01cf312d79984a6250e923afd302a59",
	functions = {
		{
			n = "HasImmersiveInteraction",
			k = "Function",
			rets = {
				{
					n = "immersiveInteraction",
					t = "bool",
					nilable = false,
				},
			},
		},
	},
	events = {
		{
			n = "ImmersiveInteractionBegin",
			k = "Event",
			SynchronousEvent = true,
			literal = "IMMERSIVE_INTERACTION_BEGIN",
		},
		{
			n = "ImmersiveInteractionEnd",
			k = "Event",
			SynchronousEvent = true,
			literal = "IMMERSIVE_INTERACTION_END",
		},
	},
}
