-- Generated ApiVault API data shard. Do not edit manually.
-- version=0.1.0.2; shard=2; systems=20
local addonName, ApiVault = ...
local systems = ApiVault.APIData.systems
systems[#systems + 1] = {
	name = "AreaPoiInfo",
	type = "System",
	ns = "C_AreaPoiInfo",
	env = "All",
	file = "AreaPoiInfoDocumentation.lua",
	hash = "a93c92329b1a4e8d86632d7a1d954c48c74d867e33fa1f811acd47b2e5135d1b",
	functions = {
		{
			n = "GetAreaPOIForMap",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "uiMapID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "areaPoiIDs",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
		},
		{
			n = "GetAreaPOIInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "uiMapID",
					t = "number",
					nilable = true,
				},
				{
					n = "areaPoiID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "poiInfo",
					t = "AreaPOIInfo",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetAreaPOISecondsLeft",
			k = "Function",
			doc = {
				"Returns the number of seconds until the POI expires.",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "areaPoiID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "secondsLeft",
					t = "number",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetDelvesForMap",
			k = "Function",
			doc = {
				"Returns all area POIInfos flagged as delves for the given map.",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "uiMapID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "areaPoiIDs",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
		},
		{
			n = "GetDragonridingRacesForMap",
			k = "Function",
			doc = {
				"Returns all area POIInfos flagged as dragonriding races for the given map.",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "uiMapID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "areaPoiIDs",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
		},
		{
			n = "GetEventsForMap",
			k = "Function",
			doc = {
				"Returns all area POIInfos flagged as events for the given map.",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "uiMapID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "areaPoiIDs",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
		},
		{
			n = "GetQuestHubsForMap",
			k = "Function",
			doc = {
				"Returns all area POIInfos flagged as quest hubs for the given map.",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "uiMapID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "areaPoiIDs",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
		},
		{
			n = "IsAreaPOITimed",
			k = "Function",
			doc = {
				"This statically determines if the POI is timed, GetAreaPOITimeLeft retrieves the value from the server and may return nothing for long intervals",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "areaPoiID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "isTimed",
					t = "bool",
					nilable = false,
				},
				{
					n = "hideTimerInTooltip",
					t = "bool",
					nilable = true,
				},
			},
		},
	},
	events = {
		{
			n = "AreaPoisUpdated",
			k = "Event",
			literal = "AREA_POIS_UPDATED",
			unique = true,
		},
	},
	tables = {
		{
			n = "AreaPOIInfo",
			k = "Structure",
			fields = {
				{
					n = "areaPoiID",
					t = "number",
					nilable = false,
				},
				{
					n = "position",
					t = "vector2",
					nilable = false,
					mix = "Vector2DMixin",
				},
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
				{
					n = "description",
					t = "cstring",
					nilable = true,
				},
				{
					n = "linkedUiMapID",
					t = "number",
					nilable = true,
				},
				{
					n = "textureIndex",
					t = "number",
					nilable = true,
				},
				{
					n = "tooltipWidgetSet",
					t = "number",
					nilable = true,
				},
				{
					n = "iconWidgetSet",
					t = "number",
					nilable = true,
				},
				{
					n = "atlasName",
					t = "string",
					nilable = true,
				},
				{
					n = "uiTextureKit",
					t = "textureKit",
					nilable = true,
				},
				{
					n = "shouldGlow",
					t = "bool",
					nilable = false,
				},
				{
					n = "factionID",
					t = "number",
					nilable = true,
				},
				{
					n = "isPrimaryMapForPOI",
					t = "bool",
					nilable = false,
				},
				{
					n = "isAlwaysOnFlightmap",
					t = "bool",
					nilable = false,
				},
				{
					n = "addPaddingAboveTooltipWidgets",
					t = "bool",
					nilable = true,
				},
				{
					n = "highlightWorldQuestsOnHover",
					t = "bool",
					nilable = false,
				},
				{
					n = "highlightVignettesOnHover",
					t = "bool",
					nilable = false,
				},
				{
					n = "isCurrentEvent",
					t = "bool",
					nilable = false,
				},
				{
					n = "isSuppressible",
					t = "bool",
					nilable = false,
				},
				{
					n = "isLocked",
					t = "bool",
					nilable = false,
					def = false,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "ArrowCalloutConstantsDocumentation.lua",
	hash = "0f49bd2860c628976209616fb91c254d17831f8d03b34e320e259720ccce6bd7",
	tables = {
		{
			n = "ArrowCalloutDirection",
			k = "Enumeration",
			fields = {
				{
					n = "Up",
					t = "ArrowCalloutDirection",
					EnumValue = 0,
				},
				{
					n = "Down",
					t = "ArrowCalloutDirection",
					EnumValue = 1,
				},
				{
					n = "Left",
					t = "ArrowCalloutDirection",
					EnumValue = 2,
				},
				{
					n = "Right",
					t = "ArrowCalloutDirection",
					EnumValue = 3,
				},
			},
			max = 3,
			min = 0,
			num = 4,
		},
		{
			n = "ArrowCalloutType",
			k = "Enumeration",
			fields = {
				{
					n = "None",
					t = "ArrowCalloutType",
					EnumValue = 0,
				},
				{
					n = "Generic",
					t = "ArrowCalloutType",
					EnumValue = 1,
				},
				{
					n = "WorldLootObject",
					t = "ArrowCalloutType",
					EnumValue = 2,
				},
				{
					n = "Tutorial",
					t = "ArrowCalloutType",
					EnumValue = 3,
				},
				{
					n = "WidgetContainerNoBorder",
					t = "ArrowCalloutType",
					EnumValue = 4,
				},
			},
			max = 4,
			min = 0,
			num = 5,
		},
	},
}
systems[#systems + 1] = {
	name = "ArtifactUI",
	type = "System",
	ns = "C_ArtifactUI",
	env = "All",
	file = "ArtifactUIDocumentation.lua",
	hash = "acb6f187819048dd719691aa7e0c9cc2f0dee5a8324ca88905f2db67444bdf84",
	functions = {
		{
			n = "AddPower",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "powerID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "success",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "ApplyCursorRelicToSlot",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "relicSlotIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
		},
		{
			n = "CanApplyArtifactRelic",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "relicItemID",
					t = "number",
					nilable = false,
				},
				{
					n = "onlyUnlocked",
					t = "bool",
					nilable = false,
				},
			},
			rets = {
				{
					n = "canApply",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CanApplyCursorRelicToSlot",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "relicSlotIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "canApply",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CanApplyRelicItemIDToEquippedArtifactSlot",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "relicItemID",
					t = "number",
					nilable = false,
				},
				{
					n = "relicSlotIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "canApply",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CanApplyRelicItemIDToSlot",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "relicItemID",
					t = "number",
					nilable = false,
				},
				{
					n = "relicSlotIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "canApply",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CheckRespecNPC",
			k = "Function",
			rets = {
				{
					n = "canRespec",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "Clear",
			k = "Function",
		},
		{
			n = "ClearForgeCamera",
			k = "Function",
		},
		{
			n = "ConfirmRespec",
			k = "Function",
		},
		{
			n = "DoesEquippedArtifactHaveAnyRelicsSlotted",
			k = "Function",
			rets = {
				{
					n = "hasAnyRelicsSlotted",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "GetAppearanceInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "appearanceSetIndex",
					t = "number",
					nilable = false,
				},
				{
					n = "appearanceIndex",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "artifactAppearanceID",
					t = "number",
					nilable = false,
				},
				{
					n = "appearanceName",
					t = "string",
					nilable = false,
				},
				{
					n = "displayIndex",
					t = "number",
					nilable = false,
				},
				{
					n = "unlocked",
					t = "bool",
					nilable = false,
				},
				{
					n = "failureDescription",
					t = "string",
					nilable = true,
				},
				{
					n = "uiCameraID",
					t = "number",
					nilable = false,
				},
				{
					n = "altHandCameraID",
					t = "number",
					nilable = true,
				},
				{
					n = "swatchColorR",
					t = "number",
					nilable = false,
				},
				{
					n = "swatchColorG",
					t = "number",
					nilable = false,
				},
				{
					n = "swatchColorB",
					t = "number",
					nilable = false,
				},
				{
					n = "modelOpacity",
					t = "number",
					nilable = false,
				},
				{
					n = "modelSaturation",
					t = "number",
					nilable = false,
				},
				{
					n = "obtainable",
					t = "bool",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetAppearanceInfoByID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "artifactAppearanceID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "artifactAppearanceSetID",
					t = "number",
					nilable = false,
				},
				{
					n = "artifactAppearanceID",
					t = "number",
					nilable = false,
				},
				{
					n = "appearanceName",
					t = "string",
					nilable = false,
				},
				{
					n = "displayIndex",
					t = "number",
					nilable = false,
				},
				{
					n = "unlocked",
					t = "bool",
					nilable = false,
				},
				{
					n = "failureDescription",
					t = "string",
					nilable = true,
				},
				{
					n = "uiCameraID",
					t = "number",
					nilable = false,
				},
				{
					n = "altHandCameraID",
					t = "number",
					nilable = true,
				},
				{
					n = "swatchColorR",
					t = "number",
					nilable = false,
				},
				{
					n = "swatchColorG",
					t = "number",
					nilable = false,
				},
				{
					n = "swatchColorB",
					t = "number",
					nilable = false,
				},
				{
					n = "modelOpacity",
					t = "number",
					nilable = false,
				},
				{
					n = "modelSaturation",
					t = "number",
					nilable = false,
				},
				{
					n = "obtainable",
					t = "bool",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetAppearanceSetInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "appearanceSetIndex",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "artifactAppearanceSetID",
					t = "number",
					nilable = false,
				},
				{
					n = "appearanceSetName",
					t = "string",
					nilable = false,
				},
				{
					n = "appearanceSetDescription",
					t = "string",
					nilable = false,
				},
				{
					n = "numAppearances",
					t = "number",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetArtifactArtInfo",
			k = "Function",
			rets = {
				{
					n = "artifactArtInfo",
					t = "ArtifactArtInfo",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetArtifactInfo",
			k = "Function",
			rets = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
				{
					n = "altItemID",
					t = "number",
					nilable = true,
				},
				{
					n = "name",
					t = "string",
					nilable = false,
				},
				{
					n = "icon",
					t = "fileID",
					nilable = false,
				},
				{
					n = "xp",
					t = "number",
					nilable = false,
				},
				{
					n = "pointsSpent",
					t = "number",
					nilable = false,
				},
				{
					n = "quality",
					t = "number",
					nilable = false,
				},
				{
					n = "artifactAppearanceID",
					t = "number",
					nilable = false,
				},
				{
					n = "appearanceModID",
					t = "number",
					nilable = false,
				},
				{
					n = "itemAppearanceID",
					t = "number",
					nilable = true,
				},
				{
					n = "altItemAppearanceID",
					t = "number",
					nilable = true,
				},
				{
					n = "altOnTop",
					t = "bool",
					nilable = false,
				},
				{
					n = "tier",
					t = "ArtifactTiers",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetArtifactItemID",
			k = "Function",
			rets = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetArtifactTier",
			k = "Function",
			rets = {
				{
					n = "tier",
					t = "ArtifactTiers",
					nilable = true,
				},
			},
		},
		{
			n = "GetArtifactXPRewardTargetInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "artifactCategoryID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "name",
					t = "string",
					nilable = false,
				},
				{
					n = "icon",
					t = "fileID",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetCostForPointAtRank",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "rank",
					t = "number",
					nilable = false,
				},
				{
					n = "tier",
					t = "ArtifactTiers",
					nilable = false,
				},
			},
			rets = {
				{
					n = "cost",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetEquippedArtifactArtInfo",
			k = "Function",
			rets = {
				{
					n = "artifactArtInfo",
					t = "ArtifactArtInfo",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetEquippedArtifactInfo",
			k = "Function",
			rets = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
				{
					n = "altItemID",
					t = "number",
					nilable = true,
				},
				{
					n = "name",
					t = "string",
					nilable = false,
				},
				{
					n = "icon",
					t = "fileID",
					nilable = false,
				},
				{
					n = "xp",
					t = "number",
					nilable = false,
				},
				{
					n = "pointsSpent",
					t = "number",
					nilable = false,
				},
				{
					n = "quality",
					t = "number",
					nilable = false,
				},
				{
					n = "artifactAppearanceID",
					t = "number",
					nilable = false,
				},
				{
					n = "appearanceModID",
					t = "number",
					nilable = false,
				},
				{
					n = "itemAppearanceID",
					t = "number",
					nilable = true,
				},
				{
					n = "altItemAppearanceID",
					t = "number",
					nilable = true,
				},
				{
					n = "altOnTop",
					t = "bool",
					nilable = false,
				},
				{
					n = "tier",
					t = "ArtifactTiers",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetEquippedArtifactItemID",
			k = "Function",
			rets = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetEquippedArtifactNumRelicSlots",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "onlyUnlocked",
					t = "bool",
					nilable = false,
					def = false,
					doc = {
						"If true then only the relic slots that are unlocked will be considered.",
					},
				},
			},
			rets = {
				{
					n = "numRelicSlots",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetEquippedArtifactRelicInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "relicSlotIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "name",
					t = "string",
					nilable = false,
				},
				{
					n = "icon",
					t = "fileID",
					nilable = false,
				},
				{
					n = "slotTypeName",
					t = "cstring",
					nilable = false,
					doc = {
						"Matches the socket identifiers used in the socketing system.",
					},
				},
				{
					n = "link",
					t = "string",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetEquippedRelicLockedReason",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "relicSlotIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "lockedReason",
					t = "string",
					nilable = true,
				},
			},
		},
		{
			n = "GetForgeRotation",
			k = "Function",
			rets = {
				{
					n = "forgeRotationX",
					t = "number",
					nilable = false,
				},
				{
					n = "forgeRotationY",
					t = "number",
					nilable = false,
				},
				{
					n = "forgeRotationZ",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetItemLevelIncreaseProvidedByRelic",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemLinkOrID",
					t = "ItemInfo",
					nilable = false,
				},
			},
			rets = {
				{
					n = "itemIevelIncrease",
					t = "number",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetMetaPowerInfo",
			k = "Function",
			rets = {
				{
					n = "spellID",
					t = "number",
					nilable = false,
					StrideIndex = 1,
				},
				{
					n = "powerCost",
					t = "number",
					nilable = false,
					StrideIndex = 2,
				},
				{
					n = "currentRank",
					t = "number",
					nilable = false,
					StrideIndex = 3,
				},
			},
		},
		{
			n = "GetNumAppearanceSets",
			k = "Function",
			rets = {
				{
					n = "numAppearanceSets",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetNumObtainedArtifacts",
			k = "Function",
			rets = {
				{
					n = "numObtainedArtifacts",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetNumRelicSlots",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "onlyUnlocked",
					t = "bool",
					nilable = false,
					def = false,
					doc = {
						"If true then only the relic slots that are unlocked will be considered.",
					},
				},
			},
			rets = {
				{
					n = "numRelicSlots",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetPointsRemaining",
			k = "Function",
			rets = {
				{
					n = "pointsRemaining",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetPowerHyperlink",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "powerID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "link",
					t = "cstring",
					nilable = false,
				},
			},
		},
		{
			n = "GetPowerInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "powerID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "powerInfo",
					t = "ArtifactPowerInfo",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetPowerLinks",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "powerID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "linkingPowerID",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
		},
		{
			n = "GetPowers",
			k = "Function",
			rets = {
				{
					n = "powerID",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetPowersAffectedByRelic",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "relicSlotIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "powerIDs",
					t = "number",
					nilable = false,
					StrideIndex = 1,
				},
			},
		},
		{
			n = "GetPowersAffectedByRelicItemLink",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "relicItemInfo",
					t = "ItemInfo",
					nilable = false,
				},
			},
			rets = {
				{
					n = "powerIDs",
					t = "number",
					nilable = false,
					StrideIndex = 1,
				},
			},
		},
		{
			n = "GetPreviewAppearance",
			k = "Function",
			rets = {
				{
					n = "artifactAppearanceID",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "GetRelicInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "relicSlotIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "name",
					t = "string",
					nilable = false,
				},
				{
					n = "icon",
					t = "fileID",
					nilable = false,
				},
				{
					n = "slotTypeName",
					t = "cstring",
					nilable = false,
					doc = {
						"Matches the socket identifiers used in the socketing system.",
					},
				},
				{
					n = "link",
					t = "string",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetRelicInfoByItemID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "name",
					t = "string",
					nilable = false,
				},
				{
					n = "icon",
					t = "fileID",
					nilable = false,
				},
				{
					n = "slotTypeName",
					t = "cstring",
					nilable = false,
					doc = {
						"Matches the socket identifiers used in the socketing system.",
					},
				},
				{
					n = "link",
					t = "string",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetRelicLockedReason",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "relicSlotIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "lockedReason",
					t = "string",
					nilable = true,
				},
			},
		},
		{
			n = "GetRelicSlotType",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "relicSlotIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "slotTypeName",
					t = "cstring",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetRespecArtifactArtInfo",
			k = "Function",
			rets = {
				{
					n = "artifactArtInfo",
					t = "ArtifactArtInfo",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetRespecArtifactInfo",
			k = "Function",
			rets = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
				{
					n = "altItemID",
					t = "number",
					nilable = true,
				},
				{
					n = "name",
					t = "string",
					nilable = false,
				},
				{
					n = "icon",
					t = "fileID",
					nilable = false,
				},
				{
					n = "xp",
					t = "number",
					nilable = false,
				},
				{
					n = "pointsSpent",
					t = "number",
					nilable = false,
				},
				{
					n = "quality",
					t = "number",
					nilable = false,
				},
				{
					n = "artifactAppearanceID",
					t = "number",
					nilable = false,
				},
				{
					n = "appearanceModID",
					t = "number",
					nilable = false,
				},
				{
					n = "itemAppearanceID",
					t = "number",
					nilable = true,
				},
				{
					n = "altItemAppearanceID",
					t = "number",
					nilable = true,
				},
				{
					n = "altOnTop",
					t = "bool",
					nilable = false,
				},
				{
					n = "tier",
					t = "ArtifactTiers",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetRespecCost",
			k = "Function",
			rets = {
				{
					n = "cost",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetTotalPowerCost",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "startingTrait",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "numTraits",
					t = "number",
					nilable = false,
				},
				{
					n = "artifactTier",
					t = "ArtifactTiers",
					nilable = false,
				},
			},
			rets = {
				{
					n = "totalArtifactPowerCost",
					t = "number",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetTotalPurchasedRanks",
			k = "Function",
			rets = {
				{
					n = "totalPurchasedRanks",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "IsArtifactDisabled",
			k = "Function",
			rets = {
				{
					n = "artifactDisabled",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsArtifactItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemLocation",
					t = "ItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
			},
			rets = {
				{
					n = "isArtifact",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsAtForge",
			k = "Function",
			rets = {
				{
					n = "isAtForge",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsEquippedArtifactDisabled",
			k = "Function",
			rets = {
				{
					n = "artifactDisabled",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsEquippedArtifactMaxed",
			k = "Function",
			rets = {
				{
					n = "artifactMaxed",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsMaxedByRulesOrEffect",
			k = "Function",
			rets = {
				{
					n = "isEffectivelyMaxed",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsPowerKnown",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "powerID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "known",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsViewedArtifactEquipped",
			k = "Function",
			rets = {
				{
					n = "isViewedArtifactEquipped",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetAppearance",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "artifactAppearanceID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "SetForgeCamera",
			k = "Function",
		},
		{
			n = "SetForgeRotation",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "forgeRotationX",
					t = "number",
					nilable = false,
				},
				{
					n = "forgeRotationY",
					t = "number",
					nilable = false,
				},
				{
					n = "forgeRotationZ",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "SetPreviewAppearance",
			k = "Function",
			doc = {
				"Call without an argument to clear the preview.",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "artifactAppearanceID",
					t = "number",
					nilable = false,
					def = 0,
				},
			},
		},
		{
			n = "ShouldSuppressForgeRotation",
			k = "Function",
			rets = {
				{
					n = "shouldSuppressForgeRotation",
					t = "bool",
					nilable = false,
				},
			},
		},
	},
	events = {
		{
			n = "ArtifactClose",
			k = "Event",
			SynchronousEvent = true,
			literal = "ARTIFACT_CLOSE",
		},
		{
			n = "ArtifactEndgameRefund",
			k = "Event",
			payload = {
				{
					n = "numRefundedPowers",
					t = "number",
					nilable = false,
				},
				{
					n = "refundedTier",
					t = "ArtifactTiers",
					nilable = false,
				},
				{
					n = "bagOrSlotIndex",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "slotIndex",
					t = "luaIndex",
					nilable = true,
				},
			},
			SynchronousEvent = true,
			literal = "ARTIFACT_ENDGAME_REFUND",
		},
		{
			n = "ArtifactRelicForgeClose",
			k = "Event",
			SynchronousEvent = true,
			literal = "ARTIFACT_RELIC_FORGE_CLOSE",
		},
		{
			n = "ArtifactRelicForgePreviewRelicChanged",
			k = "Event",
			SynchronousEvent = true,
			literal = "ARTIFACT_RELIC_FORGE_PREVIEW_RELIC_CHANGED",
		},
		{
			n = "ArtifactRelicForgeUpdate",
			k = "Event",
			SynchronousEvent = true,
			literal = "ARTIFACT_RELIC_FORGE_UPDATE",
		},
		{
			n = "ArtifactRelicInfoReceived",
			k = "Event",
			SynchronousEvent = true,
			literal = "ARTIFACT_RELIC_INFO_RECEIVED",
		},
		{
			n = "ArtifactRespecPrompt",
			k = "Event",
			SynchronousEvent = true,
			literal = "ARTIFACT_RESPEC_PROMPT",
		},
		{
			n = "ArtifactTierChanged",
			k = "Event",
			payload = {
				{
					n = "newTier",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "bagOrSlotIndex",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "slotIndex",
					t = "luaIndex",
					nilable = true,
				},
			},
			SynchronousEvent = true,
			literal = "ARTIFACT_TIER_CHANGED",
		},
		{
			n = "ArtifactUpdate",
			k = "Event",
			payload = {
				{
					n = "newItem",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "ARTIFACT_UPDATE",
		},
		{
			n = "ArtifactXpUpdate",
			k = "Event",
			SynchronousEvent = true,
			literal = "ARTIFACT_XP_UPDATE",
		},
	},
	tables = {
		{
			n = "ArtifactAppearanceInfo",
			k = "Structure",
			fields = {
				{
					n = "artifactAppearanceID",
					t = "number",
					nilable = false,
				},
				{
					n = "appearanceName",
					t = "string",
					nilable = false,
				},
				{
					n = "displayIndex",
					t = "number",
					nilable = false,
				},
				{
					n = "unlocked",
					t = "bool",
					nilable = false,
				},
				{
					n = "failureDescription",
					t = "string",
					nilable = true,
				},
				{
					n = "uiCameraID",
					t = "number",
					nilable = false,
				},
				{
					n = "altHandCameraID",
					t = "number",
					nilable = true,
				},
				{
					n = "swatchColor",
					t = "colorRGB",
					nilable = false,
					mix = "ColorMixin",
				},
				{
					n = "modelOpacity",
					t = "number",
					nilable = false,
				},
				{
					n = "modelSaturation",
					t = "number",
					nilable = false,
				},
				{
					n = "obtainable",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "ArtifactAppearanceSetInfo",
			k = "Structure",
			fields = {
				{
					n = "artifactAppearanceSetID",
					t = "number",
					nilable = false,
				},
				{
					n = "appearanceSetName",
					t = "string",
					nilable = false,
				},
				{
					n = "appearanceSetDescription",
					t = "string",
					nilable = false,
				},
				{
					n = "numAppearances",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "ArtifactArtInfo",
			k = "Structure",
			fields = {
				{
					n = "textureKit",
					t = "textureKit",
					nilable = false,
				},
				{
					n = "titleName",
					t = "string",
					nilable = false,
				},
				{
					n = "titleColor",
					t = "colorRGB",
					nilable = false,
					mix = "ColorMixin",
				},
				{
					n = "barConnectedColor",
					t = "colorRGB",
					nilable = false,
					mix = "ColorMixin",
				},
				{
					n = "barDisconnectedColor",
					t = "colorRGB",
					nilable = false,
					mix = "ColorMixin",
				},
				{
					n = "uiModelSceneID",
					t = "number",
					nilable = false,
				},
				{
					n = "spellVisualKitID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "ArtifactInfo",
			k = "Structure",
			fields = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
				{
					n = "altItemID",
					t = "number",
					nilable = true,
				},
				{
					n = "name",
					t = "string",
					nilable = false,
				},
				{
					n = "icon",
					t = "fileID",
					nilable = false,
				},
				{
					n = "xp",
					t = "number",
					nilable = false,
				},
				{
					n = "pointsSpent",
					t = "number",
					nilable = false,
				},
				{
					n = "quality",
					t = "number",
					nilable = false,
				},
				{
					n = "artifactAppearanceID",
					t = "number",
					nilable = false,
				},
				{
					n = "appearanceModID",
					t = "number",
					nilable = false,
				},
				{
					n = "itemAppearanceID",
					t = "number",
					nilable = true,
				},
				{
					n = "altItemAppearanceID",
					t = "number",
					nilable = true,
				},
				{
					n = "altOnTop",
					t = "bool",
					nilable = false,
				},
				{
					n = "tier",
					t = "ArtifactTiers",
					nilable = false,
				},
			},
		},
		{
			n = "ArtifactMetaPowerInfo",
			k = "Structure",
			fields = {
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
				{
					n = "powerCost",
					t = "number",
					nilable = false,
				},
				{
					n = "currentRank",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "ArtifactPowerInfo",
			k = "Structure",
			fields = {
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
				{
					n = "cost",
					t = "number",
					nilable = false,
				},
				{
					n = "currentRank",
					t = "number",
					nilable = false,
				},
				{
					n = "maxRank",
					t = "number",
					nilable = false,
				},
				{
					n = "bonusRanks",
					t = "number",
					nilable = false,
				},
				{
					n = "numMaxRankBonusFromTier",
					t = "number",
					nilable = false,
				},
				{
					n = "prereqsMet",
					t = "bool",
					nilable = false,
				},
				{
					n = "isStart",
					t = "bool",
					nilable = false,
				},
				{
					n = "isGoldMedal",
					t = "bool",
					nilable = false,
				},
				{
					n = "isFinal",
					t = "bool",
					nilable = false,
				},
				{
					n = "tier",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "position",
					t = "vector2",
					nilable = false,
					mix = "Vector2DMixin",
				},
				{
					n = "offset",
					t = "vector2",
					nilable = true,
					mix = "Vector2DMixin",
				},
				{
					n = "linearIndex",
					t = "luaIndex",
					nilable = true,
				},
			},
		},
		{
			n = "ArtifactRelicInfo",
			k = "Structure",
			fields = {
				{
					n = "name",
					t = "string",
					nilable = false,
				},
				{
					n = "icon",
					t = "fileID",
					nilable = false,
				},
				{
					n = "slotTypeName",
					t = "cstring",
					nilable = false,
					doc = {
						"Matches the socket identifiers used in the socketing system.",
					},
				},
				{
					n = "link",
					t = "string",
					nilable = false,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "AssistedCombat",
	type = "System",
	ns = "C_AssistedCombat",
	env = "All",
	file = "AssistedCombatDocumentation.lua",
	hash = "5e7ff2e8070d23c986ef9dcb5afa7e4ab3f6aa1dde006ff994816341e1f67164",
	functions = {
		{
			n = "GetActionSpell",
			k = "Function",
			rets = {
				{
					n = "spellID",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "GetNextCastSpell",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "checkForVisibleButton",
					t = "bool",
					nilable = false,
					def = false,
				},
			},
			rets = {
				{
					n = "spellID",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "GetRotationSpells",
			k = "Function",
			rets = {
				{
					n = "spellIDs",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
		},
		{
			n = "IsAvailable",
			k = "Function",
			rets = {
				{
					n = "isAvailable",
					t = "bool",
					nilable = false,
				},
				{
					n = "failureReason",
					t = "string",
					nilable = false,
				},
			},
		},
	},
	events = {
		{
			n = "AssistedCombatActionSpellCast",
			k = "Event",
			SynchronousEvent = true,
			literal = "ASSISTED_COMBAT_ACTION_SPELL_CAST",
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "AsyncAssistActionsConstantsDocumentation.lua",
	hash = "a65ae252b971ef7693cf23ba14e390a26cdc7baa341b0ce067ef1df8541eaddf",
	tables = {
		{
			n = "AssistActionType",
			k = "Enumeration",
			fields = {
				{
					n = "None",
					t = "AssistActionType",
					EnumValue = 0,
				},
				{
					n = "LoungingPlayer",
					t = "AssistActionType",
					EnumValue = 1,
				},
				{
					n = "GraveMarker",
					t = "AssistActionType",
					EnumValue = 2,
				},
				{
					n = "PlacedVo",
					t = "AssistActionType",
					EnumValue = 3,
				},
				{
					n = "PlayerGuardian",
					t = "AssistActionType",
					EnumValue = 4,
				},
				{
					n = "PlayerSlayer",
					t = "AssistActionType",
					EnumValue = 5,
				},
				{
					n = "CapturedBuff",
					t = "AssistActionType",
					EnumValue = 6,
				},
			},
			max = 6,
			min = 0,
			num = 7,
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "AuctionHouseConstantsDocumentation.lua",
	hash = "794fb99fafd2339c93b788a6c435b705b08afa9e74f1cea892e499accf054434",
	tables = {
		{
			n = "AuctionConstants",
			k = "Constants",
			values = {
				{
					n = "DEFAULT_AUCTION_PRICE_MULTIPLIER",
					t = "number",
					Value = 1.5,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "AuctionHouse",
	type = "System",
	ns = "C_AuctionHouse",
	env = "All",
	file = "AuctionHouseDocumentation.lua",
	hash = "3cad743bc0ba9b4497c39674e88e9b832593d2fcc0ec5fbfc834cbc5f8f636cc",
	functions = {
		{
			n = "CalculateCommodityDeposit",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
				{
					n = "duration",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "quantity",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "depositCost",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "CalculateItemDeposit",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "item",
					t = "ItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
				{
					n = "duration",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "quantity",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "depositCost",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "CanCancelAuction",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "ownedAuctionID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "canCancelAuction",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CancelAuction",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "ownedAuctionID",
					t = "number",
					nilable = false,
				},
			},
			HasRestrictions = true,
		},
		{
			n = "CancelCommoditiesPurchase",
			k = "Function",
		},
		{
			n = "CancelSell",
			k = "Function",
		},
		{
			n = "CloseAuctionHouse",
			k = "Function",
		},
		{
			n = "ConfirmCommoditiesPurchase",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
				{
					n = "quantity",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "ConfirmPostCommodity",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "item",
					t = "ItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
				{
					n = "duration",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "quantity",
					t = "number",
					nilable = false,
				},
				{
					n = "unitPrice",
					t = "BigUInteger",
					nilable = false,
				},
			},
			HasRestrictions = true,
		},
		{
			n = "ConfirmPostItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "item",
					t = "ItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
				{
					n = "duration",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "quantity",
					t = "number",
					nilable = false,
				},
				{
					n = "bid",
					t = "BigUInteger",
					nilable = true,
				},
				{
					n = "buyout",
					t = "BigUInteger",
					nilable = true,
				},
			},
			HasRestrictions = true,
		},
		{
			n = "FavoritesAreAvailable",
			k = "Function",
			rets = {
				{
					n = "favoritesAreAvailable",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "GetAuctionInfoByID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "auctionID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "priceInfo",
					t = "AuctionInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetAuctionItemSubClasses",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "classID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "subClasses",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
		},
		{
			n = "GetAvailablePostCount",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "item",
					t = "ItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
			},
			rets = {
				{
					n = "listCount",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetBidInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bidIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "bid",
					t = "BidInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetBidType",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bidTypeIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "typeItemKey",
					t = "ItemKey",
					nilable = true,
				},
			},
		},
		{
			n = "GetBids",
			k = "Function",
			rets = {
				{
					n = "bids",
					t = "table",
					nilable = false,
					it = "BidInfo",
				},
			},
		},
		{
			n = "GetBrowseResults",
			k = "Function",
			rets = {
				{
					n = "browseResults",
					t = "table",
					nilable = false,
					it = "BrowseResultInfo",
				},
			},
		},
		{
			n = "GetCancelCost",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "ownedAuctionID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "cancelCost",
					t = "BigUInteger",
					nilable = false,
				},
			},
		},
		{
			n = "GetCommoditySearchResultInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
				{
					n = "commoditySearchResultIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "CommoditySearchResultInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetCommoditySearchResultsQuantity",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "totalQuantity",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetExtraBrowseInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
			},
			rets = {
				{
					n = "extraInfo",
					t = "number",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetFilterGroups",
			k = "Function",
			rets = {
				{
					n = "filterGroups",
					t = "table",
					nilable = false,
					it = "AuctionHouseFilterGroup",
				},
			},
		},
		{
			n = "GetItemCommodityStatus",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "item",
					t = "ItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
			},
			rets = {
				{
					n = "isCommodity",
					t = "ItemCommodityStatus",
					nilable = false,
				},
			},
		},
		{
			n = "GetItemKeyFromItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "item",
					t = "ItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
			},
			rets = {
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
			},
		},
		{
			n = "GetItemKeyInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
				{
					n = "restrictQualityToFilter",
					t = "bool",
					nilable = false,
					def = false,
				},
			},
			rets = {
				{
					n = "itemKeyInfo",
					t = "ItemKeyInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetItemKeyRequiredLevel",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
			},
			rets = {
				{
					n = "requiredLevel",
					t = "number",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetItemSearchResultInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
				{
					n = "itemSearchResultIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "ItemSearchResultInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetItemSearchResultsQuantity",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
			},
			rets = {
				{
					n = "totalQuantity",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetMaxBidItemBid",
			k = "Function",
			rets = {
				{
					n = "maxBid",
					t = "BigUInteger",
					nilable = true,
				},
			},
		},
		{
			n = "GetMaxBidItemBuyout",
			k = "Function",
			rets = {
				{
					n = "maxBuyout",
					t = "BigUInteger",
					nilable = true,
				},
			},
		},
		{
			n = "GetMaxCommoditySearchResultPrice",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "maxUnitPrice",
					t = "BigUInteger",
					nilable = true,
				},
			},
		},
		{
			n = "GetMaxItemSearchResultBid",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
			},
			rets = {
				{
					n = "maxBid",
					t = "BigUInteger",
					nilable = true,
				},
			},
		},
		{
			n = "GetMaxItemSearchResultBuyout",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
			},
			rets = {
				{
					n = "maxBuyout",
					t = "BigUInteger",
					nilable = true,
				},
			},
		},
		{
			n = "GetMaxOwnedAuctionBid",
			k = "Function",
			rets = {
				{
					n = "maxBid",
					t = "BigUInteger",
					nilable = true,
				},
			},
		},
		{
			n = "GetMaxOwnedAuctionBuyout",
			k = "Function",
			rets = {
				{
					n = "maxBuyout",
					t = "BigUInteger",
					nilable = true,
				},
			},
		},
		{
			n = "GetNumBidTypes",
			k = "Function",
			rets = {
				{
					n = "numBidTypes",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetNumBids",
			k = "Function",
			rets = {
				{
					n = "numBids",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetNumCommoditySearchResults",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "numSearchResults",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetNumItemSearchResults",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
			},
			rets = {
				{
					n = "numItemSearchResults",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetNumOwnedAuctionTypes",
			k = "Function",
			rets = {
				{
					n = "numOwnedAuctionTypes",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetNumOwnedAuctions",
			k = "Function",
			rets = {
				{
					n = "numOwnedAuctions",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetNumReplicateItems",
			k = "Function",
			rets = {
				{
					n = "numReplicateItems",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetOwnedAuctionInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "ownedAuctionIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "ownedAuction",
					t = "OwnedAuctionInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetOwnedAuctionType",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "ownedAuctionTypeIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "typeItemKey",
					t = "ItemKey",
					nilable = true,
				},
			},
		},
		{
			n = "GetOwnedAuctions",
			k = "Function",
			rets = {
				{
					n = "ownedAuctions",
					t = "table",
					nilable = false,
					it = "OwnedAuctionInfo",
				},
			},
		},
		{
			n = "GetQuoteDurationRemaining",
			k = "Function",
			rets = {
				{
					n = "quoteDurationSeconds",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetReplicateItemBattlePetInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "index",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "creatureID",
					t = "number",
					nilable = false,
				},
				{
					n = "displayID",
					t = "number",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetReplicateItemInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "index",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "name",
					t = "string",
					nilable = true,
				},
				{
					n = "texture",
					t = "fileID",
					nilable = true,
				},
				{
					n = "count",
					t = "number",
					nilable = false,
				},
				{
					n = "qualityID",
					t = "number",
					nilable = false,
				},
				{
					n = "usable",
					t = "bool",
					nilable = true,
				},
				{
					n = "level",
					t = "number",
					nilable = false,
				},
				{
					n = "levelType",
					t = "string",
					nilable = true,
				},
				{
					n = "minBid",
					t = "BigUInteger",
					nilable = false,
				},
				{
					n = "minIncrement",
					t = "BigUInteger",
					nilable = false,
				},
				{
					n = "buyoutPrice",
					t = "BigUInteger",
					nilable = false,
				},
				{
					n = "bidAmount",
					t = "BigUInteger",
					nilable = false,
				},
				{
					n = "highBidder",
					t = "string",
					nilable = true,
				},
				{
					n = "bidderFullName",
					t = "string",
					nilable = true,
				},
				{
					n = "owner",
					t = "string",
					nilable = true,
				},
				{
					n = "ownerFullName",
					t = "string",
					nilable = true,
				},
				{
					n = "saleStatus",
					t = "number",
					nilable = false,
				},
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
				{
					n = "hasAllInfo",
					t = "bool",
					nilable = true,
				},
			},
		},
		{
			n = "GetReplicateItemLink",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "index",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "itemLink",
					t = "string",
					nilable = true,
				},
			},
		},
		{
			n = "GetReplicateItemTimeLeft",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "index",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "timeLeft",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetTimeLeftBandInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "timeLeftBand",
					t = "AuctionHouseTimeLeftBand",
					nilable = false,
				},
			},
			rets = {
				{
					n = "timeLeftMinSeconds",
					t = "number",
					nilable = false,
				},
				{
					n = "timeLeftMaxSeconds",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "HasFavorites",
			k = "Function",
			rets = {
				{
					n = "hasFavorites",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "HasFullBidResults",
			k = "Function",
			rets = {
				{
					n = "hasFullBidResults",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "HasFullBrowseResults",
			k = "Function",
			rets = {
				{
					n = "hasFullBrowseResults",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "HasFullCommoditySearchResults",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "hasFullResults",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "HasFullItemSearchResults",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
			},
			rets = {
				{
					n = "hasFullResults",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "HasFullOwnedAuctionResults",
			k = "Function",
			rets = {
				{
					n = "hasFullOwnedAuctionResults",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "HasMaxFavorites",
			k = "Function",
			rets = {
				{
					n = "hasMaxFavorites",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "HasSearchResults",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
			},
			rets = {
				{
					n = "hasSearchResults",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsFavoriteItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
			},
			rets = {
				{
					n = "isFavorite",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsSellItemValid",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "item",
					t = "ItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
				{
					n = "displayError",
					t = "bool",
					nilable = false,
					def = true,
				},
			},
			rets = {
				{
					n = "valid",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsThrottledMessageSystemReady",
			k = "Function",
			rets = {
				{
					n = "canSendThrottledMessage",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "MakeItemKey",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
				{
					n = "itemLevel",
					t = "number",
					nilable = false,
					def = 0,
				},
				{
					n = "itemSuffix",
					t = "number",
					nilable = false,
					def = 0,
				},
				{
					n = "battlePetSpeciesID",
					t = "number",
					nilable = false,
					def = 0,
				},
			},
			rets = {
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
			},
		},
		{
			n = "PlaceBid",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "auctionID",
					t = "number",
					nilable = false,
				},
				{
					n = "bidAmount",
					t = "BigUInteger",
					nilable = false,
				},
			},
			HasRestrictions = true,
		},
		{
			n = "PostCommodity",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "item",
					t = "ItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
				{
					n = "duration",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "quantity",
					t = "number",
					nilable = false,
				},
				{
					n = "unitPrice",
					t = "BigUInteger",
					nilable = false,
				},
			},
			rets = {
				{
					n = "needsConfirmation",
					t = "bool",
					nilable = false,
				},
			},
			HasRestrictions = true,
		},
		{
			n = "PostItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "item",
					t = "ItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
				{
					n = "duration",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "quantity",
					t = "number",
					nilable = false,
				},
				{
					n = "bid",
					t = "BigUInteger",
					nilable = true,
				},
				{
					n = "buyout",
					t = "BigUInteger",
					nilable = true,
				},
			},
			rets = {
				{
					n = "needsConfirmation",
					t = "bool",
					nilable = false,
				},
			},
			HasRestrictions = true,
		},
		{
			n = "QueryBids",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "sorts",
					t = "table",
					nilable = false,
					it = "AuctionHouseSortType",
				},
				{
					n = "auctionIDs",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
		},
		{
			n = "QueryOwnedAuctions",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "sorts",
					t = "table",
					nilable = false,
					it = "AuctionHouseSortType",
				},
			},
		},
		{
			n = "RefreshCommoditySearchResults",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "RefreshItemSearchResults",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
				{
					n = "minLevelFilter",
					t = "number",
					nilable = true,
				},
				{
					n = "maxLevelFilter",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "ReplicateItems",
			k = "Function",
			doc = {
				"This function should be used in place of an 'allItem' QueryAuctionItems call to query the entire auction house.",
			},
		},
		{
			n = "RequestMoreBrowseResults",
			k = "Function",
		},
		{
			n = "RequestMoreCommoditySearchResults",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "hasFullResults",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "RequestMoreItemSearchResults",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
			},
			rets = {
				{
					n = "hasFullResults",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "RequestOwnedAuctionBidderInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "auctionID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "bidderName",
					t = "cstring",
					nilable = false,
				},
			},
		},
		{
			n = "SearchForFavorites",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "sorts",
					t = "table",
					nilable = false,
					it = "AuctionHouseSortType",
				},
			},
		},
		{
			n = "SearchForItemKeys",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemKeys",
					t = "table",
					nilable = false,
					it = "ItemKey",
				},
				{
					n = "sorts",
					t = "table",
					nilable = false,
					it = "AuctionHouseSortType",
				},
			},
		},
		{
			n = "SendBrowseQuery",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "query",
					t = "AuctionHouseBrowseQuery",
					nilable = false,
				},
			},
		},
		{
			n = "SendSearchQuery",
			k = "Function",
			doc = {
				"Search queries are restricted to 100 calls per minute. These should not be used to query the entire auction house. See ReplicateItems",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
				{
					n = "sorts",
					t = "table",
					nilable = false,
					it = "AuctionHouseSortType",
				},
				{
					n = "separateOwnerItems",
					t = "bool",
					nilable = false,
				},
				{
					n = "minLevelFilter",
					t = "number",
					nilable = false,
					def = 0,
				},
				{
					n = "maxLevelFilter",
					t = "number",
					nilable = false,
					def = 0,
				},
			},
		},
		{
			n = "SendSellSearchQuery",
			k = "Function",
			doc = {
				"Search queries are restricted to 100 calls per minute. These should not be used to query the entire auction house. See ReplicateItems. ItemKey should have its iLVL and suffix cleared before calling.",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
				{
					n = "sorts",
					t = "table",
					nilable = false,
					it = "AuctionHouseSortType",
				},
				{
					n = "separateOwnerItems",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetFavoriteItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
				{
					n = "setFavorite",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "ShouldAutoPopulatePrice",
			k = "Function",
			rets = {
				{
					n = "shouldAutoPopulatePrice",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "StartCommoditiesPurchase",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
				{
					n = "quantity",
					t = "number",
					nilable = false,
				},
			},
			HasRestrictions = true,
		},
		{
			n = "SupportsCopperValues",
			k = "Function",
			rets = {
				{
					n = "supportsCopperValues",
					t = "bool",
					nilable = false,
				},
			},
		},
	},
	events = {
		{
			n = "AuctionCanceled",
			k = "Event",
			payload = {
				{
					n = "auctionID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "AUCTION_CANCELED",
		},
		{
			n = "AuctionHouseAuctionCreated",
			k = "Event",
			doc = {
				"This signal is not used in the base UI but is included for AddOn ease-of-use.",
			},
			payload = {
				{
					n = "auctionID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_AUCTION_CREATED",
		},
		{
			n = "AuctionHouseAuctionsExpired",
			k = "Event",
			payload = {
				{
					n = "auctionID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_AUCTIONS_EXPIRED",
		},
		{
			n = "AuctionHouseBrowseFailure",
			k = "Event",
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_BROWSE_FAILURE",
		},
		{
			n = "AuctionHouseBrowseResultsAdded",
			k = "Event",
			payload = {
				{
					n = "addedBrowseResults",
					t = "table",
					nilable = false,
					it = "BrowseResultInfo",
				},
			},
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_BROWSE_RESULTS_ADDED",
		},
		{
			n = "AuctionHouseBrowseResultsUpdated",
			k = "Event",
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_BROWSE_RESULTS_UPDATED",
		},
		{
			n = "AuctionHouseClosed",
			k = "Event",
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_CLOSED",
		},
		{
			n = "AuctionHouseDisabled",
			k = "Event",
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_DISABLED",
		},
		{
			n = "AuctionHouseFavoritesUpdated",
			k = "Event",
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_FAVORITES_UPDATED",
		},
		{
			n = "AuctionHouseItemDeliveryDelayUpdate",
			k = "Event",
			payload = {
				{
					n = "purchasedItemDeliveryDelay",
					t = "number",
					nilable = false,
				},
				{
					n = "cancelledItemDeliveryDelay",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_ITEM_DELIVERY_DELAY_UPDATE",
		},
		{
			n = "AuctionHouseNewBidReceived",
			k = "Event",
			payload = {
				{
					n = "auctionID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_NEW_BID_RECEIVED",
		},
		{
			n = "AuctionHouseNewResultsReceived",
			k = "Event",
			doc = {
				"This signal is not used in the base UI but is included for AddOn ease-of-use. Payload is nil for browse queries.",
			},
			payload = {
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = true,
				},
			},
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_NEW_RESULTS_RECEIVED",
		},
		{
			n = "AuctionHousePostError",
			k = "Event",
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_POST_ERROR",
		},
		{
			n = "AuctionHousePostWarning",
			k = "Event",
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_POST_WARNING",
		},
		{
			n = "AuctionHousePurchaseCompleted",
			k = "Event",
			payload = {
				{
					n = "auctionID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_PURCHASE_COMPLETED",
		},
		{
			n = "AuctionHouseScriptDeprecated",
			k = "Event",
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_SCRIPT_DEPRECATED",
		},
		{
			n = "AuctionHouseShow",
			k = "Event",
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_SHOW",
		},
		{
			n = "AuctionHouseShowCommodityWonNotification",
			k = "Event",
			payload = {
				{
					n = "commodityName",
					t = "string",
					nilable = false,
				},
				{
					n = "commodityQuantity",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_SHOW_COMMODITY_WON_NOTIFICATION",
		},
		{
			n = "AuctionHouseShowError",
			k = "Event",
			payload = {
				{
					n = "error",
					t = "AuctionHouseError",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_SHOW_ERROR",
		},
		{
			n = "AuctionHouseShowFormattedNotification",
			k = "Event",
			payload = {
				{
					n = "notification",
					t = "AuctionHouseNotification",
					nilable = false,
				},
				{
					n = "text",
					t = "string",
					nilable = false,
				},
				{
					n = "auctionID",
					t = "number",
					nilable = true,
				},
			},
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_SHOW_FORMATTED_NOTIFICATION",
		},
		{
			n = "AuctionHouseShowNotification",
			k = "Event",
			payload = {
				{
					n = "notification",
					t = "AuctionHouseNotification",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_SHOW_NOTIFICATION",
		},
		{
			n = "AuctionHouseThrottledMessageDropped",
			k = "Event",
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_THROTTLED_MESSAGE_DROPPED",
		},
		{
			n = "AuctionHouseThrottledMessageQueued",
			k = "Event",
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_THROTTLED_MESSAGE_QUEUED",
		},
		{
			n = "AuctionHouseThrottledMessageResponseReceived",
			k = "Event",
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_THROTTLED_MESSAGE_RESPONSE_RECEIVED",
		},
		{
			n = "AuctionHouseThrottledMessageSent",
			k = "Event",
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_THROTTLED_MESSAGE_SENT",
		},
		{
			n = "AuctionHouseThrottledSystemReady",
			k = "Event",
			SynchronousEvent = true,
			literal = "AUCTION_HOUSE_THROTTLED_SYSTEM_READY",
		},
		{
			n = "AuctionMultisellFailure",
			k = "Event",
			SynchronousEvent = true,
			literal = "AUCTION_MULTISELL_FAILURE",
		},
		{
			n = "AuctionMultisellStart",
			k = "Event",
			payload = {
				{
					n = "numRepetitions",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "AUCTION_MULTISELL_START",
		},
		{
			n = "AuctionMultisellUpdate",
			k = "Event",
			payload = {
				{
					n = "createdCount",
					t = "number",
					nilable = false,
				},
				{
					n = "totalToCreate",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "AUCTION_MULTISELL_UPDATE",
		},
		{
			n = "BidAdded",
			k = "Event",
			payload = {
				{
					n = "bidID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "BID_ADDED",
		},
		{
			n = "BidsUpdated",
			k = "Event",
			SynchronousEvent = true,
			literal = "BIDS_UPDATED",
		},
		{
			n = "CommodityPriceUnavailable",
			k = "Event",
			SynchronousEvent = true,
			literal = "COMMODITY_PRICE_UNAVAILABLE",
		},
		{
			n = "CommodityPriceUpdated",
			k = "Event",
			payload = {
				{
					n = "updatedUnitPrice",
					t = "BigUInteger",
					nilable = false,
				},
				{
					n = "updatedTotalPrice",
					t = "BigUInteger",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "COMMODITY_PRICE_UPDATED",
		},
		{
			n = "CommodityPurchaseFailed",
			k = "Event",
			SynchronousEvent = true,
			literal = "COMMODITY_PURCHASE_FAILED",
		},
		{
			n = "CommodityPurchaseSucceeded",
			k = "Event",
			SynchronousEvent = true,
			literal = "COMMODITY_PURCHASE_SUCCEEDED",
		},
		{
			n = "CommodityPurchased",
			k = "Event",
			payload = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
				{
					n = "quantity",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "COMMODITY_PURCHASED",
		},
		{
			n = "CommoditySearchResultsAdded",
			k = "Event",
			payload = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "COMMODITY_SEARCH_RESULTS_ADDED",
		},
		{
			n = "CommoditySearchResultsReceived",
			k = "Event",
			literal = "COMMODITY_SEARCH_RESULTS_RECEIVED",
			unique = true,
		},
		{
			n = "CommoditySearchResultsUpdated",
			k = "Event",
			payload = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
			},
			literal = "COMMODITY_SEARCH_RESULTS_UPDATED",
			unique = true,
		},
		{
			n = "ExtraBrowseInfoReceived",
			k = "Event",
			payload = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "EXTRA_BROWSE_INFO_RECEIVED",
		},
		{
			n = "ItemKeyItemInfoReceived",
			k = "Event",
			payload = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "ITEM_KEY_ITEM_INFO_RECEIVED",
		},
		{
			n = "ItemPurchased",
			k = "Event",
			payload = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "ITEM_PURCHASED",
		},
		{
			n = "ItemSearchResultsAdded",
			k = "Event",
			payload = {
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "ITEM_SEARCH_RESULTS_ADDED",
		},
		{
			n = "ItemSearchResultsUpdated",
			k = "Event",
			payload = {
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
				{
					n = "newAuctionID",
					t = "number",
					nilable = true,
				},
			},
			literal = "ITEM_SEARCH_RESULTS_UPDATED",
			unique = true,
		},
		{
			n = "OwnedAuctionBidderInfoReceived",
			k = "Event",
			payload = {
				{
					n = "auctionID",
					t = "number",
					nilable = false,
				},
				{
					n = "bidderName",
					t = "cstring",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "OWNED_AUCTION_BIDDER_INFO_RECEIVED",
		},
		{
			n = "OwnedAuctionsUpdated",
			k = "Event",
			SynchronousEvent = true,
			literal = "OWNED_AUCTIONS_UPDATED",
		},
		{
			n = "ReplicateItemListUpdate",
			k = "Event",
			SynchronousEvent = true,
			literal = "REPLICATE_ITEM_LIST_UPDATE",
		},
	},
	tables = {
		{
			n = "AuctionHouseFilterCategory",
			k = "Enumeration",
			fields = {
				{
					n = "Uncategorized",
					t = "AuctionHouseFilterCategory",
					EnumValue = 0,
				},
				{
					n = "Equipment",
					t = "AuctionHouseFilterCategory",
					EnumValue = 1,
				},
				{
					n = "Rarity",
					t = "AuctionHouseFilterCategory",
					EnumValue = 2,
				},
			},
			max = 2,
			min = 0,
			num = 3,
		},
		{
			n = "AuctionStatus",
			k = "Enumeration",
			fields = {
				{
					n = "Active",
					t = "AuctionStatus",
					EnumValue = 0,
				},
				{
					n = "Sold",
					t = "AuctionStatus",
					EnumValue = 1,
				},
			},
			max = 1,
			min = 0,
			num = 2,
		},
		{
			n = "ItemCommodityStatus",
			k = "Enumeration",
			fields = {
				{
					n = "Unknown",
					t = "ItemCommodityStatus",
					EnumValue = 0,
				},
				{
					n = "Item",
					t = "ItemCommodityStatus",
					EnumValue = 1,
				},
				{
					n = "Commodity",
					t = "ItemCommodityStatus",
					EnumValue = 2,
				},
			},
			max = 2,
			min = 0,
			num = 3,
		},
		{
			n = "AuctionHouseBrowseQuery",
			k = "Structure",
			fields = {
				{
					n = "searchString",
					t = "string",
					nilable = false,
				},
				{
					n = "sorts",
					t = "table",
					nilable = false,
					it = "AuctionHouseSortType",
				},
				{
					n = "minLevel",
					t = "number",
					nilable = true,
				},
				{
					n = "maxLevel",
					t = "number",
					nilable = true,
				},
				{
					n = "filters",
					t = "table",
					nilable = true,
					it = "AuctionHouseFilter",
				},
				{
					n = "itemClassFilters",
					t = "table",
					nilable = true,
					it = "AuctionHouseItemClassFilter",
				},
			},
		},
		{
			n = "AuctionHouseFilterGroup",
			k = "Structure",
			fields = {
				{
					n = "category",
					t = "AuctionHouseFilterCategory",
					nilable = false,
				},
				{
					n = "filters",
					t = "table",
					nilable = false,
					it = "AuctionHouseFilter",
				},
			},
		},
		{
			n = "AuctionHouseItemClassFilter",
			k = "Structure",
			fields = {
				{
					n = "classID",
					t = "number",
					nilable = false,
				},
				{
					n = "subClassID",
					t = "number",
					nilable = true,
				},
				{
					n = "inventoryType",
					t = "InventoryType",
					nilable = true,
				},
			},
		},
		{
			n = "AuctionHouseSortType",
			k = "Structure",
			fields = {
				{
					n = "sortOrder",
					t = "AuctionHouseSortOrder",
					nilable = false,
				},
				{
					n = "reverseSort",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "AuctionInfo",
			k = "Structure",
			fields = {
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
				{
					n = "itemLink",
					t = "string",
					nilable = true,
				},
				{
					n = "minBid",
					t = "WOWMONEY",
					nilable = true,
				},
				{
					n = "bidAmount",
					t = "WOWMONEY",
					nilable = true,
				},
				{
					n = "buyoutAmount",
					t = "WOWMONEY",
					nilable = true,
				},
				{
					n = "bidder",
					t = "WOWGUID",
					nilable = true,
				},
			},
		},
		{
			n = "BidInfo",
			k = "Structure",
			fields = {
				{
					n = "auctionID",
					t = "number",
					nilable = false,
				},
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
				{
					n = "itemLink",
					t = "string",
					nilable = true,
				},
				{
					n = "timeLeft",
					t = "AuctionHouseTimeLeftBand",
					nilable = false,
				},
				{
					n = "minBid",
					t = "BigUInteger",
					nilable = true,
				},
				{
					n = "bidAmount",
					t = "BigUInteger",
					nilable = true,
				},
				{
					n = "buyoutAmount",
					t = "BigUInteger",
					nilable = true,
				},
				{
					n = "bidder",
					t = "WOWGUID",
					nilable = true,
				},
			},
		},
		{
			n = "BrowseResultInfo",
			k = "Structure",
			fields = {
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
				{
					n = "appearanceLink",
					t = "string",
					nilable = true,
				},
				{
					n = "totalQuantity",
					t = "number",
					nilable = false,
				},
				{
					n = "minPrice",
					t = "BigUInteger",
					nilable = false,
				},
				{
					n = "containsOwnerItem",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CommoditySearchResultInfo",
			k = "Structure",
			fields = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
				{
					n = "quantity",
					t = "number",
					nilable = false,
				},
				{
					n = "unitPrice",
					t = "BigUInteger",
					nilable = false,
				},
				{
					n = "auctionID",
					t = "number",
					nilable = false,
				},
				{
					n = "owners",
					t = "table",
					nilable = false,
					it = "string",
				},
				{
					n = "totalNumberOfOwners",
					t = "number",
					nilable = false,
				},
				{
					n = "timeLeftSeconds",
					t = "number",
					nilable = true,
				},
				{
					n = "numOwnerItems",
					t = "number",
					nilable = false,
				},
				{
					n = "containsOwnerItem",
					t = "bool",
					nilable = false,
				},
				{
					n = "containsAccountItem",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "ItemKey",
			k = "Structure",
			fields = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
				{
					n = "itemLevel",
					t = "number",
					nilable = false,
					def = 0,
				},
				{
					n = "itemSuffix",
					t = "number",
					nilable = false,
					def = 0,
				},
				{
					n = "battlePetSpeciesID",
					t = "number",
					nilable = false,
					def = 0,
				},
			},
		},
		{
			n = "ItemKeyInfo",
			k = "Structure",
			fields = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
				{
					n = "battlePetSpeciesID",
					t = "number",
					nilable = false,
				},
				{
					n = "itemName",
					t = "string",
					nilable = false,
				},
				{
					n = "battlePetLink",
					t = "string",
					nilable = true,
				},
				{
					n = "appearanceLink",
					t = "string",
					nilable = true,
				},
				{
					n = "quality",
					t = "ItemQuality",
					nilable = false,
				},
				{
					n = "iconFileID",
					t = "number",
					nilable = false,
				},
				{
					n = "isPet",
					t = "bool",
					nilable = false,
				},
				{
					n = "isCommodity",
					t = "bool",
					nilable = false,
				},
				{
					n = "isEquipment",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "ItemSearchResultInfo",
			k = "Structure",
			fields = {
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
				{
					n = "owners",
					t = "table",
					nilable = false,
					it = "string",
				},
				{
					n = "totalNumberOfOwners",
					t = "number",
					nilable = false,
				},
				{
					n = "timeLeft",
					t = "AuctionHouseTimeLeftBand",
					nilable = false,
				},
				{
					n = "auctionID",
					t = "number",
					nilable = false,
				},
				{
					n = "quantity",
					t = "number",
					nilable = false,
				},
				{
					n = "itemLink",
					t = "string",
					nilable = true,
				},
				{
					n = "containsOwnerItem",
					t = "bool",
					nilable = false,
				},
				{
					n = "containsAccountItem",
					t = "bool",
					nilable = false,
				},
				{
					n = "containsSocketedItem",
					t = "bool",
					nilable = false,
				},
				{
					n = "bidder",
					t = "WOWGUID",
					nilable = true,
				},
				{
					n = "minBid",
					t = "BigUInteger",
					nilable = true,
				},
				{
					n = "bidAmount",
					t = "BigUInteger",
					nilable = true,
				},
				{
					n = "buyoutAmount",
					t = "BigUInteger",
					nilable = true,
				},
				{
					n = "timeLeftSeconds",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "OwnedAuctionInfo",
			k = "Structure",
			fields = {
				{
					n = "auctionID",
					t = "number",
					nilable = false,
				},
				{
					n = "itemKey",
					t = "ItemKey",
					nilable = false,
				},
				{
					n = "itemLink",
					t = "string",
					nilable = true,
				},
				{
					n = "status",
					t = "AuctionStatus",
					nilable = false,
				},
				{
					n = "quantity",
					t = "number",
					nilable = false,
				},
				{
					n = "timeLeftSeconds",
					t = "number",
					nilable = true,
				},
				{
					n = "timeLeft",
					t = "AuctionHouseTimeLeftBand",
					nilable = true,
				},
				{
					n = "bidAmount",
					t = "BigUInteger",
					nilable = true,
				},
				{
					n = "buyoutAmount",
					t = "BigUInteger",
					nilable = true,
				},
				{
					n = "bidder",
					t = "string",
					nilable = true,
				},
			},
		},
		{
			n = "ReplicateItemInfo",
			k = "Structure",
			fields = {
				{
					n = "name",
					t = "string",
					nilable = true,
				},
				{
					n = "texture",
					t = "fileID",
					nilable = true,
				},
				{
					n = "count",
					t = "number",
					nilable = false,
				},
				{
					n = "qualityID",
					t = "number",
					nilable = false,
				},
				{
					n = "usable",
					t = "bool",
					nilable = true,
				},
				{
					n = "level",
					t = "number",
					nilable = false,
				},
				{
					n = "levelType",
					t = "string",
					nilable = true,
				},
				{
					n = "minBid",
					t = "BigUInteger",
					nilable = false,
				},
				{
					n = "minIncrement",
					t = "BigUInteger",
					nilable = false,
				},
				{
					n = "buyoutPrice",
					t = "BigUInteger",
					nilable = false,
				},
				{
					n = "bidAmount",
					t = "BigUInteger",
					nilable = false,
				},
				{
					n = "highBidder",
					t = "string",
					nilable = true,
				},
				{
					n = "bidderFullName",
					t = "string",
					nilable = true,
				},
				{
					n = "owner",
					t = "string",
					nilable = true,
				},
				{
					n = "ownerFullName",
					t = "string",
					nilable = true,
				},
				{
					n = "saleStatus",
					t = "number",
					nilable = false,
				},
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
				{
					n = "hasAllInfo",
					t = "bool",
					nilable = true,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "AuctionHouseEnumsDocumentation.lua",
	hash = "66c5971cb28d23542e1ea0168915346a89b35734fb02c21170ab873e818398da",
	tables = {
		{
			n = "AuctionHouseCommoditySortOrder",
			k = "Enumeration",
			fields = {
				{
					n = "UnitPrice",
					t = "AuctionHouseCommoditySortOrder",
					EnumValue = 0,
				},
				{
					n = "Quantity",
					t = "AuctionHouseCommoditySortOrder",
					EnumValue = 1,
				},
			},
			max = 1,
			min = 0,
			num = 2,
		},
		{
			n = "AuctionHouseError",
			k = "Enumeration",
			fields = {
				{
					n = "NotEnoughMoney",
					t = "AuctionHouseError",
					EnumValue = 0,
				},
				{
					n = "HigherBid",
					t = "AuctionHouseError",
					EnumValue = 1,
				},
				{
					n = "BidIncrement",
					t = "AuctionHouseError",
					EnumValue = 2,
				},
				{
					n = "BidOwn",
					t = "AuctionHouseError",
					EnumValue = 3,
				},
				{
					n = "ItemNotFound",
					t = "AuctionHouseError",
					EnumValue = 4,
				},
				{
					n = "RestrictedAccountTrial",
					t = "AuctionHouseError",
					EnumValue = 5,
				},
				{
					n = "HasRestriction",
					t = "AuctionHouseError",
					EnumValue = 6,
				},
				{
					n = "IsBusy",
					t = "AuctionHouseError",
					EnumValue = 7,
				},
				{
					n = "Unavailable",
					t = "AuctionHouseError",
					EnumValue = 8,
				},
				{
					n = "ItemHasQuote",
					t = "AuctionHouseError",
					EnumValue = 9,
				},
				{
					n = "DatabaseError",
					t = "AuctionHouseError",
					EnumValue = 10,
				},
				{
					n = "MinBid",
					t = "AuctionHouseError",
					EnumValue = 11,
				},
				{
					n = "NotEnoughItems",
					t = "AuctionHouseError",
					EnumValue = 12,
				},
				{
					n = "RepairItem",
					t = "AuctionHouseError",
					EnumValue = 13,
				},
				{
					n = "UsedCharges",
					t = "AuctionHouseError",
					EnumValue = 14,
				},
				{
					n = "QuestItem",
					t = "AuctionHouseError",
					EnumValue = 15,
				},
				{
					n = "BoundItem",
					t = "AuctionHouseError",
					EnumValue = 16,
				},
				{
					n = "ConjuredItem",
					t = "AuctionHouseError",
					EnumValue = 17,
				},
				{
					n = "LimitedDurationItem",
					t = "AuctionHouseError",
					EnumValue = 18,
				},
				{
					n = "IsBag",
					t = "AuctionHouseError",
					EnumValue = 19,
				},
				{
					n = "EquippedBag",
					t = "AuctionHouseError",
					EnumValue = 20,
				},
				{
					n = "WrappedItem",
					t = "AuctionHouseError",
					EnumValue = 21,
				},
				{
					n = "LootItem",
					t = "AuctionHouseError",
					EnumValue = 22,
				},
				{
					n = "DoubleBid",
					t = "AuctionHouseError",
					EnumValue = 23,
				},
				{
					n = "FavoritesMaxed",
					t = "AuctionHouseError",
					EnumValue = 24,
				},
				{
					n = "ItemNotAvailable",
					t = "AuctionHouseError",
					EnumValue = 25,
				},
				{
					n = "ItemBoundToAccountUntilEquip",
					t = "AuctionHouseError",
					EnumValue = 26,
				},
			},
			max = 26,
			min = 0,
			num = 27,
		},
		{
			n = "AuctionHouseExtraColumn",
			k = "Enumeration",
			fields = {
				{
					n = "None",
					t = "AuctionHouseExtraColumn",
					EnumValue = 0,
				},
				{
					n = "Ilvl",
					t = "AuctionHouseExtraColumn",
					EnumValue = 1,
				},
				{
					n = "Slots",
					t = "AuctionHouseExtraColumn",
					EnumValue = 2,
				},
				{
					n = "Level",
					t = "AuctionHouseExtraColumn",
					EnumValue = 3,
				},
				{
					n = "Skill",
					t = "AuctionHouseExtraColumn",
					EnumValue = 4,
				},
			},
			max = 4,
			min = 0,
			num = 5,
		},
		{
			n = "AuctionHouseFilter",
			k = "Enumeration",
			fields = {
				{
					n = "None",
					t = "AuctionHouseFilter",
					EnumValue = 0,
				},
				{
					n = "UncollectedOnly",
					t = "AuctionHouseFilter",
					EnumValue = 1,
				},
				{
					n = "UsableOnly",
					t = "AuctionHouseFilter",
					EnumValue = 2,
				},
				{
					n = "CurrentExpansionOnly",
					t = "AuctionHouseFilter",
					EnumValue = 3,
				},
				{
					n = "UpgradesOnly",
					t = "AuctionHouseFilter",
					EnumValue = 4,
				},
				{
					n = "ExactMatch",
					t = "AuctionHouseFilter",
					EnumValue = 5,
				},
				{
					n = "PoorQuality",
					t = "AuctionHouseFilter",
					EnumValue = 6,
				},
				{
					n = "CommonQuality",
					t = "AuctionHouseFilter",
					EnumValue = 7,
				},
				{
					n = "UncommonQuality",
					t = "AuctionHouseFilter",
					EnumValue = 8,
				},
				{
					n = "RareQuality",
					t = "AuctionHouseFilter",
					EnumValue = 9,
				},
				{
					n = "EpicQuality",
					t = "AuctionHouseFilter",
					EnumValue = 10,
				},
				{
					n = "LegendaryQuality",
					t = "AuctionHouseFilter",
					EnumValue = 11,
				},
				{
					n = "ArtifactQuality",
					t = "AuctionHouseFilter",
					EnumValue = 12,
				},
				{
					n = "LegendaryCraftedItemOnly",
					t = "AuctionHouseFilter",
					EnumValue = 13,
				},
			},
			max = 13,
			min = 0,
			num = 14,
		},
		{
			n = "AuctionHouseItemSortOrder",
			k = "Enumeration",
			fields = {
				{
					n = "Bid",
					t = "AuctionHouseItemSortOrder",
					EnumValue = 0,
				},
				{
					n = "Buyout",
					t = "AuctionHouseItemSortOrder",
					EnumValue = 1,
				},
			},
			max = 1,
			min = 0,
			num = 2,
		},
		{
			n = "AuctionHouseNotification",
			k = "Enumeration",
			fields = {
				{
					n = "BidPlaced",
					t = "AuctionHouseNotification",
					EnumValue = 0,
				},
				{
					n = "AuctionRemoved",
					t = "AuctionHouseNotification",
					EnumValue = 1,
				},
				{
					n = "AuctionWon",
					t = "AuctionHouseNotification",
					EnumValue = 2,
				},
				{
					n = "AuctionOutbid",
					t = "AuctionHouseNotification",
					EnumValue = 3,
				},
				{
					n = "AuctionSold",
					t = "AuctionHouseNotification",
					EnumValue = 4,
				},
				{
					n = "AuctionExpired",
					t = "AuctionHouseNotification",
					EnumValue = 5,
				},
			},
			max = 5,
			min = 0,
			num = 6,
		},
		{
			n = "AuctionHouseSortOrder",
			k = "Enumeration",
			fields = {
				{
					n = "Price",
					t = "AuctionHouseSortOrder",
					EnumValue = 0,
				},
				{
					n = "Name",
					t = "AuctionHouseSortOrder",
					EnumValue = 1,
				},
				{
					n = "Level",
					t = "AuctionHouseSortOrder",
					EnumValue = 2,
				},
				{
					n = "Bid",
					t = "AuctionHouseSortOrder",
					EnumValue = 3,
				},
				{
					n = "Buyout",
					t = "AuctionHouseSortOrder",
					EnumValue = 4,
				},
				{
					n = "TimeRemaining",
					t = "AuctionHouseSortOrder",
					EnumValue = 5,
				},
			},
			max = 5,
			min = 0,
			num = 6,
		},
		{
			n = "AuctionHouseTimeLeftBand",
			k = "Enumeration",
			fields = {
				{
					n = "Short",
					t = "AuctionHouseTimeLeftBand",
					EnumValue = 0,
				},
				{
					n = "Medium",
					t = "AuctionHouseTimeLeftBand",
					EnumValue = 1,
				},
				{
					n = "Long",
					t = "AuctionHouseTimeLeftBand",
					EnumValue = 2,
				},
				{
					n = "VeryLong",
					t = "AuctionHouseTimeLeftBand",
					EnumValue = 3,
				},
			},
			max = 3,
			min = 0,
			num = 4,
		},
	},
}
systems[#systems + 1] = {
	name = "AutoComplete",
	type = "System",
	ns = "C_AutoComplete",
	env = "All",
	file = "AutoCompleteDocumentation.lua",
	hash = "074e565a138bca398da1e6ea75fc48ec67a70309826f6503e12a0b1a0f48a555",
	functions = {
		{
			n = "GetAutoCompletePresenceID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
			},
			rets = {
				{
					n = "presenceID",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "GetAutoCompleteRealms",
			k = "Function",
			rets = {
				{
					n = "realms",
					t = "table",
					nilable = false,
					it = "string",
				},
			},
		},
		{
			n = "GetAutoCompleteResults",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
				{
					n = "numResults",
					t = "number",
					nilable = false,
				},
				{
					n = "cursorPosition",
					t = "number",
					nilable = false,
				},
				{
					n = "allowFullMatch",
					t = "bool",
					nilable = false,
				},
				{
					n = "includeFlags",
					t = "number",
					nilable = false,
				},
				{
					n = "excludeFlags",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "results",
					t = "table",
					nilable = false,
					it = "AutoCompleteResult",
				},
			},
		},
		{
			n = "IsRecognizedName",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
				{
					n = "includeFlags",
					t = "number",
					nilable = false,
				},
				{
					n = "excludeFlags",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "isRecognizedName",
					t = "bool",
					nilable = false,
				},
			},
		},
	},
	tables = {
		{
			n = "AutoCompleteResult",
			k = "Structure",
			fields = {
				{
					n = "name",
					t = "string",
					nilable = false,
				},
				{
					n = "priority",
					t = "AutoCompletePriority",
					nilable = false,
				},
				{
					n = "bnetID",
					t = "number",
					nilable = false,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "AutoCompleteSharedDocumentation.lua",
	hash = "38009abeb526298c56a96e42f1e2202ac1e740a4b469d2dcfbea1e95c6d8202b",
	tables = {
		{
			n = "AutoCompleteEntryFlag",
			k = "Enumeration",
			fields = {
				{
					n = "InGroup",
					t = "AutoCompleteEntryFlag",
					EnumValue = 1,
				},
				{
					n = "InGuild",
					t = "AutoCompleteEntryFlag",
					EnumValue = 2,
				},
				{
					n = "Friend",
					t = "AutoCompleteEntryFlag",
					EnumValue = 4,
				},
				{
					n = "Bnet",
					t = "AutoCompleteEntryFlag",
					EnumValue = 8,
				},
				{
					n = "InteractedWith",
					t = "AutoCompleteEntryFlag",
					EnumValue = 16,
				},
				{
					n = "Online",
					t = "AutoCompleteEntryFlag",
					EnumValue = 32,
				},
				{
					n = "InAOI",
					t = "AutoCompleteEntryFlag",
					EnumValue = 64,
				},
				{
					n = "AccountCharacter",
					t = "AutoCompleteEntryFlag",
					EnumValue = 128,
				},
				{
					n = "RecentPlayer",
					t = "AutoCompleteEntryFlag",
					EnumValue = 256,
				},
			},
			max = 256,
			min = 1,
			num = 9,
		},
		{
			n = "AutoCompletePriority",
			k = "Enumeration",
			fields = {
				{
					n = "Other",
					t = "AutoCompletePriority",
					EnumValue = 0,
				},
				{
					n = "Interacted",
					t = "AutoCompletePriority",
					EnumValue = 1,
				},
				{
					n = "InGroup",
					t = "AutoCompletePriority",
					EnumValue = 2,
				},
				{
					n = "Guild",
					t = "AutoCompletePriority",
					EnumValue = 3,
				},
				{
					n = "Friend",
					t = "AutoCompletePriority",
					EnumValue = 4,
				},
				{
					n = "AccountCharacter",
					t = "AutoCompletePriority",
					EnumValue = 5,
				},
				{
					n = "AccountCharacterSameRealm",
					t = "AutoCompletePriority",
					EnumValue = 6,
				},
			},
			max = 6,
			min = 0,
			num = 7,
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "AzeriteConstantsDocumentation.lua",
	hash = "ac290cecae0598bd11af477706ba6ebf794b9f11acb585b623edef8e04f48742",
	tables = {
		{
			n = "AzeriteEssenceSlot",
			k = "Enumeration",
			fields = {
				{
					n = "MainSlot",
					t = "AzeriteEssenceSlot",
					EnumValue = 0,
				},
				{
					n = "PassiveOneSlot",
					t = "AzeriteEssenceSlot",
					EnumValue = 1,
				},
				{
					n = "PassiveTwoSlot",
					t = "AzeriteEssenceSlot",
					EnumValue = 2,
				},
				{
					n = "PassiveThreeSlot",
					t = "AzeriteEssenceSlot",
					EnumValue = 3,
				},
			},
			max = 3,
			min = 0,
			num = 4,
		},
	},
}
systems[#systems + 1] = {
	name = "AzeriteEmpoweredItem",
	type = "System",
	ns = "C_AzeriteEmpoweredItem",
	env = "All",
	file = "AzeriteEmpoweredItemDocumentation.lua",
	hash = "cb5fbbf598b27475dc124e4322c72dd1abaf40e363e0d34120925a069190e348",
	functions = {
		{
			n = "CanSelectPower",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "azeriteEmpoweredItemLocation",
					t = "AzeriteEmpoweredItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
				{
					n = "powerID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "canSelect",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "ConfirmAzeriteEmpoweredItemRespec",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "azeriteEmpoweredItemLocation",
					t = "AzeriteEmpoweredItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
			},
		},
		{
			n = "GetAllTierInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "azeriteEmpoweredItemLocation",
					t = "AzeriteEmpoweredItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
			},
			rets = {
				{
					n = "tierInfo",
					t = "table",
					nilable = false,
					it = "AzeriteEmpoweredItemTierInfo",
				},
			},
		},
		{
			n = "GetAllTierInfoByItemID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemInfo",
					t = "ItemInfo",
					nilable = false,
				},
				{
					n = "classID",
					t = "number",
					nilable = true,
					doc = {
						"Specify a class ID to get tier information about that class, otherwise uses the player's class if left nil",
					},
				},
			},
			rets = {
				{
					n = "tierInfo",
					t = "table",
					nilable = false,
					it = "AzeriteEmpoweredItemTierInfo",
				},
			},
		},
		{
			n = "GetAzeriteEmpoweredItemRespecCost",
			k = "Function",
			rets = {
				{
					n = "cost",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetPowerInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "powerID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "powerInfo",
					t = "AzeriteEmpoweredItemPowerInfo",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetPowerText",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "azeriteEmpoweredItemLocation",
					t = "AzeriteEmpoweredItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
				{
					n = "powerID",
					t = "number",
					nilable = false,
				},
				{
					n = "level",
					t = "AzeritePowerLevel",
					nilable = false,
				},
			},
			rets = {
				{
					n = "powerText",
					t = "AzeriteEmpoweredItemPowerText",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetSpecsForPower",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "powerID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "specInfo",
					t = "table",
					nilable = false,
					it = "AzeriteSpecInfo",
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "HasAnyUnselectedPowers",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "azeriteEmpoweredItemLocation",
					t = "AzeriteEmpoweredItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
			},
			rets = {
				{
					n = "hasAnyUnselectedPowers",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "HasBeenViewed",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "azeriteEmpoweredItemLocation",
					t = "AzeriteEmpoweredItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
			},
			rets = {
				{
					n = "hasBeenViewed",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsAzeriteEmpoweredItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemLocation",
					t = "ItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
			},
			rets = {
				{
					n = "isAzeriteEmpoweredItem",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsAzeriteEmpoweredItemByID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemInfo",
					t = "ItemInfo",
					nilable = false,
				},
			},
			rets = {
				{
					n = "isAzeriteEmpoweredItem",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsAzeritePreviewSourceDisplayable",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemInfo",
					t = "ItemInfo",
					nilable = false,
				},
				{
					n = "classID",
					t = "number",
					nilable = true,
					doc = {
						"Specify a class ID to determine if its displayable for that class, otherwise uses the player's class if left nil",
					},
				},
			},
			rets = {
				{
					n = "isAzeritePreviewSourceDisplayable",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsHeartOfAzerothEquipped",
			k = "Function",
			rets = {
				{
					n = "isHeartOfAzerothEquipped",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsPowerAvailableForSpec",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "powerID",
					t = "number",
					nilable = false,
				},
				{
					n = "specID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "isPowerAvailableForSpec",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsPowerSelected",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "azeriteEmpoweredItemLocation",
					t = "AzeriteEmpoweredItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
				{
					n = "powerID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "isSelected",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SelectPower",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "azeriteEmpoweredItemLocation",
					t = "AzeriteEmpoweredItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
				{
					n = "powerID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "success",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetHasBeenViewed",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "azeriteEmpoweredItemLocation",
					t = "AzeriteEmpoweredItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
			},
		},
	},
	events = {
		{
			n = "AzeriteEmpoweredItemEquippedStatusChanged",
			k = "Event",
			payload = {
				{
					n = "isHeartEquipped",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "AZERITE_EMPOWERED_ITEM_EQUIPPED_STATUS_CHANGED",
		},
		{
			n = "AzeriteEmpoweredItemSelectionUpdated",
			k = "Event",
			payload = {
				{
					n = "azeriteEmpoweredItemLocation",
					t = "AzeriteEmpoweredItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
			},
			SynchronousEvent = true,
			literal = "AZERITE_EMPOWERED_ITEM_SELECTION_UPDATED",
		},
	},
	tables = {
		{
			n = "AzeritePowerLevel",
			k = "Enumeration",
			fields = {
				{
					n = "Base",
					t = "AzeritePowerLevel",
					EnumValue = 0,
				},
				{
					n = "Upgraded",
					t = "AzeritePowerLevel",
					EnumValue = 1,
				},
				{
					n = "Downgraded",
					t = "AzeritePowerLevel",
					EnumValue = 2,
				},
			},
			max = 2,
			min = 0,
			num = 3,
		},
		{
			n = "AzeriteEmpoweredItemPowerInfo",
			k = "Structure",
			fields = {
				{
					n = "azeritePowerID",
					t = "number",
					nilable = false,
				},
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "AzeriteEmpoweredItemPowerText",
			k = "Structure",
			fields = {
				{
					n = "name",
					t = "string",
					nilable = false,
				},
				{
					n = "description",
					t = "string",
					nilable = false,
				},
			},
		},
		{
			n = "AzeriteEmpoweredItemTierInfo",
			k = "Structure",
			fields = {
				{
					n = "azeritePowerIDs",
					t = "table",
					nilable = false,
					it = "number",
				},
				{
					n = "unlockLevel",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "AzeriteSpecInfo",
			k = "Structure",
			fields = {
				{
					n = "classID",
					t = "number",
					nilable = false,
				},
				{
					n = "specID",
					t = "number",
					nilable = false,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "AzeriteEssence",
	type = "System",
	ns = "C_AzeriteEssence",
	env = "All",
	file = "AzeriteEssenceDocumentation.lua",
	hash = "734134790f6bdaeef33cf5aa77d5d9223c00c0e0818d1700a8e7888a1f1d1fd3",
	functions = {
		{
			n = "ActivateEssence",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "essenceID",
					t = "number",
					nilable = false,
				},
				{
					n = "milestoneID",
					t = "number",
					nilable = false,
				},
			},
			HasRestrictions = true,
		},
		{
			n = "CanActivateEssence",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "essenceID",
					t = "number",
					nilable = false,
				},
				{
					n = "milestoneID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "canActivate",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CanDeactivateEssence",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "milestoneID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "canDeactivate",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CanOpenUI",
			k = "Function",
			rets = {
				{
					n = "canOpen",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "ClearPendingActivationEssence",
			k = "Function",
		},
		{
			n = "CloseForge",
			k = "Function",
		},
		{
			n = "GetEssenceHyperlink",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "essenceID",
					t = "number",
					nilable = false,
				},
				{
					n = "rank",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "link",
					t = "cstring",
					nilable = false,
				},
			},
		},
		{
			n = "GetEssenceInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "essenceID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "info",
					t = "AzeriteEssenceInfo",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetEssences",
			k = "Function",
			rets = {
				{
					n = "essences",
					t = "table",
					nilable = false,
					it = "AzeriteEssenceInfo",
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetMilestoneEssence",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "milestoneID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "essenceID",
					t = "number",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetMilestoneInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "milestoneID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "info",
					t = "AzeriteMilestoneInfo",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetMilestoneSpell",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "milestoneID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetMilestones",
			k = "Function",
			rets = {
				{
					n = "milestones",
					t = "table",
					nilable = false,
					it = "AzeriteMilestoneInfo",
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetNumUnlockedEssences",
			k = "Function",
			rets = {
				{
					n = "numUnlockedEssences",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetNumUsableEssences",
			k = "Function",
			rets = {
				{
					n = "numUsableEssences",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetPendingActivationEssence",
			k = "Function",
			rets = {
				{
					n = "essenceID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "HasNeverActivatedAnyEssences",
			k = "Function",
			rets = {
				{
					n = "hasNeverActivatedAnyEssences",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "HasPendingActivationEssence",
			k = "Function",
			rets = {
				{
					n = "hasEssence",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsAtForge",
			k = "Function",
			rets = {
				{
					n = "isAtForge",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetPendingActivationEssence",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "essenceID",
					t = "number",
					nilable = false,
				},
			},
			HasRestrictions = true,
		},
		{
			n = "UnlockMilestone",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "milestoneID",
					t = "number",
					nilable = false,
				},
			},
		},
	},
	events = {
		{
			n = "AzeriteEssenceActivated",
			k = "Event",
			payload = {
				{
					n = "slot",
					t = "AzeriteEssenceSlot",
					nilable = false,
				},
				{
					n = "essenceID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "AZERITE_ESSENCE_ACTIVATED",
		},
		{
			n = "AzeriteEssenceActivationFailed",
			k = "Event",
			payload = {
				{
					n = "slot",
					t = "AzeriteEssenceSlot",
					nilable = false,
				},
				{
					n = "essenceID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "AZERITE_ESSENCE_ACTIVATION_FAILED",
		},
		{
			n = "AzeriteEssenceChanged",
			k = "Event",
			payload = {
				{
					n = "essenceID",
					t = "number",
					nilable = false,
				},
				{
					n = "newRank",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "AZERITE_ESSENCE_CHANGED",
		},
		{
			n = "AzeriteEssenceForgeClose",
			k = "Event",
			SynchronousEvent = true,
			literal = "AZERITE_ESSENCE_FORGE_CLOSE",
		},
		{
			n = "AzeriteEssenceForgeOpen",
			k = "Event",
			SynchronousEvent = true,
			literal = "AZERITE_ESSENCE_FORGE_OPEN",
		},
		{
			n = "AzeriteEssenceMilestoneUnlocked",
			k = "Event",
			payload = {
				{
					n = "milestoneID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "AZERITE_ESSENCE_MILESTONE_UNLOCKED",
		},
		{
			n = "AzeriteEssenceUpdate",
			k = "Event",
			literal = "AZERITE_ESSENCE_UPDATE",
			unique = true,
		},
		{
			n = "PendingAzeriteEssenceChanged",
			k = "Event",
			payload = {
				{
					n = "essenceID",
					t = "number",
					nilable = true,
				},
			},
			SynchronousEvent = true,
			literal = "PENDING_AZERITE_ESSENCE_CHANGED",
		},
	},
	tables = {
		{
			n = "AzeriteEssenceInfo",
			k = "Structure",
			fields = {
				{
					n = "ID",
					t = "number",
					nilable = false,
				},
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
				{
					n = "rank",
					t = "number",
					nilable = false,
				},
				{
					n = "unlocked",
					t = "bool",
					nilable = false,
				},
				{
					n = "valid",
					t = "bool",
					nilable = false,
				},
				{
					n = "icon",
					t = "fileID",
					nilable = false,
				},
			},
		},
		{
			n = "AzeriteMilestoneInfo",
			k = "Structure",
			fields = {
				{
					n = "ID",
					t = "number",
					nilable = false,
				},
				{
					n = "requiredLevel",
					t = "number",
					nilable = false,
				},
				{
					n = "canUnlock",
					t = "bool",
					nilable = false,
				},
				{
					n = "unlocked",
					t = "bool",
					nilable = false,
				},
				{
					n = "rank",
					t = "number",
					nilable = true,
				},
				{
					n = "slot",
					t = "AzeriteEssenceSlot",
					nilable = true,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "AzeriteItem",
	type = "System",
	ns = "C_AzeriteItem",
	env = "All",
	file = "AzeriteItemDocumentation.lua",
	hash = "42c215ab034254d1f5f4e5f0514c73a49d224f16bac9da076e8c44c2d6076845",
	functions = {
		{
			n = "FindActiveAzeriteItem",
			k = "Function",
			rets = {
				{
					n = "activeAzeriteItemLocation",
					t = "AzeriteItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetAzeriteItemXPInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "azeriteItemLocation",
					t = "AzeriteItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
			},
			rets = {
				{
					n = "xp",
					t = "number",
					nilable = false,
				},
				{
					n = "totalLevelXP",
					t = "number",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetPowerLevel",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "azeriteItemLocation",
					t = "AzeriteItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
			},
			rets = {
				{
					n = "powerLevel",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetUnlimitedPowerLevel",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "azeriteItemLocation",
					t = "AzeriteItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
			},
			rets = {
				{
					n = "powerLevel",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "HasActiveAzeriteItem",
			k = "Function",
			rets = {
				{
					n = "hasActiveAzeriteItem",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsAzeriteItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemLocation",
					t = "ItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
			},
			rets = {
				{
					n = "isAzeriteItem",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsAzeriteItemAtMaxLevel",
			k = "Function",
			rets = {
				{
					n = "isAtMax",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsAzeriteItemByID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemInfo",
					t = "ItemInfo",
					nilable = false,
				},
			},
			rets = {
				{
					n = "isAzeriteItem",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsAzeriteItemEnabled",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "azeriteItemLocation",
					t = "AzeriteItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
			},
			rets = {
				{
					n = "isEnabled",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsUnlimitedLevelingUnlocked",
			k = "Function",
			rets = {
				{
					n = "isUnlimitedLevelingUnlocked",
					t = "bool",
					nilable = false,
				},
			},
		},
	},
	events = {
		{
			n = "AzeriteItemEnabledStateChanged",
			k = "Event",
			payload = {
				{
					n = "enabled",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "AZERITE_ITEM_ENABLED_STATE_CHANGED",
		},
		{
			n = "AzeriteItemExperienceChanged",
			k = "Event",
			payload = {
				{
					n = "azeriteItemLocation",
					t = "AzeriteItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
				{
					n = "oldExperienceAmount",
					t = "number",
					nilable = false,
				},
				{
					n = "newExperienceAmount",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "AZERITE_ITEM_EXPERIENCE_CHANGED",
		},
		{
			n = "AzeriteItemPowerLevelChanged",
			k = "Event",
			payload = {
				{
					n = "azeriteItemLocation",
					t = "AzeriteItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
				{
					n = "oldPowerLevel",
					t = "number",
					nilable = false,
				},
				{
					n = "newPowerLevel",
					t = "number",
					nilable = false,
				},
				{
					n = "unlockedEmpoweredItemsInfo",
					t = "table",
					nilable = false,
					it = "UnlockedAzeriteEmpoweredItems",
				},
				{
					n = "azeriteItemID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "AZERITE_ITEM_POWER_LEVEL_CHANGED",
		},
	},
	tables = {
		{
			n = "UnlockedAzeriteEmpoweredItems",
			k = "Structure",
			fields = {
				{
					n = "unlockedItem",
					t = "AzeriteEmpoweredItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
				{
					n = "tierIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "BNetOutage",
	type = "System",
	ns = "",
	env = "All",
	file = "BNetOutageDocumentation.lua",
	hash = "c0802a90a36ef4fcffd1ac9f69f40fd156b8300030edfa4d20fc02ccd1f28906",
	functions = {
		{
			n = "ClearOutage",
			k = "Function",
			HasRestrictions = true,
		},
		{
			n = "OutageDetected",
			k = "Function",
			HasRestrictions = true,
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "BagConstantsDocumentation.lua",
	hash = "e795ea93b19ec343891413ccdfe4c199e314a2adce8dd71db29bf62757ee08e0",
	tables = {
		{
			n = "BagFlag",
			k = "Enumeration",
			fields = {
				{
					n = "DontFindStack",
					t = "BagFlag",
					EnumValue = 1,
				},
				{
					n = "AlreadyOwner",
					t = "BagFlag",
					EnumValue = 2,
				},
				{
					n = "AlreadyBound",
					t = "BagFlag",
					EnumValue = 4,
				},
				{
					n = "Swap",
					t = "BagFlag",
					EnumValue = 8,
				},
				{
					n = "BagIsEmpty",
					t = "BagFlag",
					EnumValue = 16,
				},
				{
					n = "LookInInventory",
					t = "BagFlag",
					EnumValue = 32,
				},
				{
					n = "IgnoreBoundItemCheck",
					t = "BagFlag",
					EnumValue = 64,
				},
				{
					n = "StackOnly",
					t = "BagFlag",
					EnumValue = 128,
				},
				{
					n = "RecurseQuivers",
					t = "BagFlag",
					EnumValue = 256,
				},
				{
					n = "IgnoreBankcheck",
					t = "BagFlag",
					EnumValue = 512,
				},
				{
					n = "AllowBagsInNonBagSlots",
					t = "BagFlag",
					EnumValue = 1024,
				},
				{
					n = "PreferQuivers",
					t = "BagFlag",
					EnumValue = 2048,
				},
				{
					n = "SwapBags",
					t = "BagFlag",
					EnumValue = 4096,
				},
				{
					n = "IgnoreExisting",
					t = "BagFlag",
					EnumValue = 8192,
				},
				{
					n = "AllowPartialStack",
					t = "BagFlag",
					EnumValue = 16384,
				},
				{
					n = "LookInCharacterBankOnly",
					t = "BagFlag",
					EnumValue = 32768,
				},
				{
					n = "AllowBuyback",
					t = "BagFlag",
					EnumValue = 65536,
				},
				{
					n = "IgnorePetBankcheck",
					t = "BagFlag",
					EnumValue = 131072,
				},
				{
					n = "PreferPriorityBags",
					t = "BagFlag",
					EnumValue = 262144,
				},
				{
					n = "PreferNeutralPriorityBags",
					t = "BagFlag",
					EnumValue = 524288,
				},
				{
					n = "AsymmetricSwap",
					t = "BagFlag",
					EnumValue = 1048576,
				},
				{
					n = "PreferReagentBags",
					t = "BagFlag",
					EnumValue = 2097152,
				},
				{
					n = "IgnoreSoulbound",
					t = "BagFlag",
					EnumValue = 4194304,
				},
				{
					n = "IgnoreReagentBags",
					t = "BagFlag",
					EnumValue = 8388608,
				},
				{
					n = "LookInAccountBankOnly",
					t = "BagFlag",
					EnumValue = 16777216,
				},
				{
					n = "HasRefund",
					t = "BagFlag",
					EnumValue = 33554432,
				},
				{
					n = "SkipValidCountCheck",
					t = "BagFlag",
					EnumValue = 67108864,
				},
				{
					n = "AllowSoulboundItemInAccountBank",
					t = "BagFlag",
					EnumValue = 134217728,
				},
			},
			max = 134217728,
			min = 1,
			num = 28,
		},
		{
			n = "BagSlotFlags",
			k = "Enumeration",
			fields = {
				{
					n = "DisableAutoSort",
					t = "BagSlotFlags",
					EnumValue = 1,
				},
				{
					n = "ClassEquipment",
					t = "BagSlotFlags",
					EnumValue = 2,
				},
				{
					n = "ClassConsumables",
					t = "BagSlotFlags",
					EnumValue = 4,
				},
				{
					n = "ClassProfessionGoods",
					t = "BagSlotFlags",
					EnumValue = 8,
				},
				{
					n = "ClassJunk",
					t = "BagSlotFlags",
					EnumValue = 16,
				},
				{
					n = "ClassQuestItems",
					t = "BagSlotFlags",
					EnumValue = 32,
				},
				{
					n = "ExcludeJunkSell",
					t = "BagSlotFlags",
					EnumValue = 64,
				},
				{
					n = "ClassReagents",
					t = "BagSlotFlags",
					EnumValue = 128,
				},
				{
					n = "ExpansionCurrent",
					t = "BagSlotFlags",
					EnumValue = 256,
				},
				{
					n = "ExpansionLegacy",
					t = "BagSlotFlags",
					EnumValue = 512,
				},
			},
			max = 512,
			min = 1,
			num = 10,
		},
	},
}
systems[#systems + 1] = {
	name = "BagIndexConstants",
	type = "System",
	ns = "",
	env = "All",
	file = "BagIndexConstantsDocumentation.lua",
	hash = "eb58006e65428984574dc2cbefe378e6b7d9e1805f4c62ad2ab355a8e911ff82",
	tables = {
		{
			n = "BagIndex",
			k = "Enumeration",
			fields = {
				{
					n = "Accountbanktab",
					t = "BagIndex",
					EnumValue = -3,
				},
				{
					n = "Characterbanktab",
					t = "BagIndex",
					EnumValue = -2,
				},
				{
					n = "Keyring",
					t = "BagIndex",
					EnumValue = -1,
				},
				{
					n = "Backpack",
					t = "BagIndex",
					EnumValue = 0,
				},
				{
					n = "Bag_1",
					t = "BagIndex",
					EnumValue = 1,
				},
				{
					n = "Bag_2",
					t = "BagIndex",
					EnumValue = 2,
				},
				{
					n = "Bag_3",
					t = "BagIndex",
					EnumValue = 3,
				},
				{
					n = "Bag_4",
					t = "BagIndex",
					EnumValue = 4,
				},
				{
					n = "ReagentBag",
					t = "BagIndex",
					EnumValue = 5,
				},
				{
					n = "CharacterBankTab_1",
					t = "BagIndex",
					EnumValue = 6,
				},
				{
					n = "CharacterBankTab_2",
					t = "BagIndex",
					EnumValue = 7,
				},
				{
					n = "CharacterBankTab_3",
					t = "BagIndex",
					EnumValue = 8,
				},
				{
					n = "CharacterBankTab_4",
					t = "BagIndex",
					EnumValue = 9,
				},
				{
					n = "CharacterBankTab_5",
					t = "BagIndex",
					EnumValue = 10,
				},
				{
					n = "CharacterBankTab_6",
					t = "BagIndex",
					EnumValue = 11,
				},
				{
					n = "AccountBankTab_1",
					t = "BagIndex",
					EnumValue = 12,
				},
				{
					n = "AccountBankTab_2",
					t = "BagIndex",
					EnumValue = 13,
				},
				{
					n = "AccountBankTab_3",
					t = "BagIndex",
					EnumValue = 14,
				},
				{
					n = "AccountBankTab_4",
					t = "BagIndex",
					EnumValue = 15,
				},
				{
					n = "AccountBankTab_5",
					t = "BagIndex",
					EnumValue = 16,
				},
			},
			max = 16,
			min = -3,
			num = 20,
		},
	},
}
systems[#systems + 1] = {
	name = "Bank",
	type = "System",
	ns = "C_Bank",
	env = "All",
	file = "BankDocumentation.lua",
	hash = "2077fbac761036e286f5b0e9faadaa11237548751562a8391caefb899aa2e336",
	functions = {
		{
			n = "AreAnyBankTypesViewable",
			k = "Function",
			rets = {
				{
					n = "areAnyBankTypesViewable",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "AutoDepositItemsIntoBank",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bankType",
					t = "BankType",
					nilable = false,
				},
			},
		},
		{
			n = "CanDepositMoney",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bankType",
					t = "BankType",
					nilable = false,
				},
			},
			rets = {
				{
					n = "canDepositMoney",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CanPurchaseBankTab",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bankType",
					t = "BankType",
					nilable = false,
				},
			},
			rets = {
				{
					n = "canPurchaseBankTab",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CanUseBank",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bankType",
					t = "BankType",
					nilable = false,
				},
			},
			rets = {
				{
					n = "canUseBank",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CanViewBank",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bankType",
					t = "BankType",
					nilable = false,
				},
			},
			rets = {
				{
					n = "canViewBank",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CanWithdrawMoney",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bankType",
					t = "BankType",
					nilable = false,
				},
			},
			rets = {
				{
					n = "canWithdrawMoney",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CloseBankFrame",
			k = "Function",
		},
		{
			n = "DepositMoney",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bankType",
					t = "BankType",
					nilable = false,
				},
				{
					n = "amount",
					t = "WOWMONEY",
					nilable = false,
				},
			},
		},
		{
			n = "DoesBankTypeSupportAutoDeposit",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bankType",
					t = "BankType",
					nilable = false,
				},
			},
			rets = {
				{
					n = "doesBankTypeSupportAutoDeposit",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "DoesBankTypeSupportMoneyTransfer",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bankType",
					t = "BankType",
					nilable = false,
				},
			},
			rets = {
				{
					n = "doesBankTypeSupportMoneyTransfer",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "FetchBankLockedReason",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bankType",
					t = "BankType",
					nilable = false,
				},
			},
			rets = {
				{
					n = "reason",
					t = "BankLockedReason",
					nilable = true,
				},
			},
		},
		{
			n = "FetchDepositedMoney",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bankType",
					t = "BankType",
					nilable = false,
				},
			},
			rets = {
				{
					n = "amount",
					t = "WOWMONEY",
					nilable = false,
				},
			},
		},
		{
			n = "FetchNextPurchasableBankTabData",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bankType",
					t = "BankType",
					nilable = false,
				},
			},
			rets = {
				{
					n = "nextPurchasableTabData",
					t = "PurchasableBankTabData",
					nilable = true,
				},
			},
		},
		{
			n = "FetchNumPurchasedBankTabs",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bankType",
					t = "BankType",
					nilable = false,
				},
			},
			rets = {
				{
					n = "numPurchasedBankTabs",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "FetchPurchasedBankTabData",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bankType",
					t = "BankType",
					nilable = false,
				},
			},
			rets = {
				{
					n = "purchasedBankTabData",
					t = "table",
					nilable = false,
					it = "BankTabData",
				},
			},
		},
		{
			n = "FetchPurchasedBankTabIDs",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bankType",
					t = "BankType",
					nilable = false,
				},
			},
			rets = {
				{
					n = "purchasedBankTabIDs",
					t = "table",
					nilable = false,
					it = "BagIndex",
				},
			},
		},
		{
			n = "FetchViewableBankTypes",
			k = "Function",
			rets = {
				{
					n = "viewableBankTypes",
					t = "table",
					nilable = false,
					it = "BankType",
				},
			},
		},
		{
			n = "HasMaxBankTabs",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bankType",
					t = "BankType",
					nilable = false,
				},
			},
			rets = {
				{
					n = "hasMaxBankTabs",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsItemAllowedInBankType",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bankType",
					t = "BankType",
					nilable = false,
				},
				{
					n = "itemLocation",
					t = "ItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
			},
			rets = {
				{
					n = "isItemAllowedInBankType",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "PurchaseBankTab",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bankType",
					t = "BankType",
					nilable = false,
				},
			},
			HasRestrictions = true,
		},
		{
			n = "UpdateBankTabSettings",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bankType",
					t = "BankType",
					nilable = false,
				},
				{
					n = "tabID",
					t = "BagIndex",
					nilable = false,
				},
				{
					n = "tabName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "tabIcon",
					t = "cstring",
					nilable = false,
				},
				{
					n = "depositFlags",
					t = "BagSlotFlags",
					nilable = false,
				},
			},
		},
		{
			n = "WithdrawMoney",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bankType",
					t = "BankType",
					nilable = false,
				},
				{
					n = "amount",
					t = "WOWMONEY",
					nilable = false,
				},
			},
		},
	},
	events = {
		{
			n = "BankBagSlotFlagsUpdated",
			k = "Event",
			payload = {
				{
					n = "slot",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "BANK_BAG_SLOT_FLAGS_UPDATED",
		},
		{
			n = "BankTabSettingsUpdated",
			k = "Event",
			payload = {
				{
					n = "bankType",
					t = "BankType",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "BANK_TAB_SETTINGS_UPDATED",
		},
		{
			n = "BankTabsChanged",
			k = "Event",
			payload = {
				{
					n = "bankType",
					t = "BankType",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "BANK_TABS_CHANGED",
		},
		{
			n = "BankframeClosed",
			k = "Event",
			SynchronousEvent = true,
			literal = "BANKFRAME_CLOSED",
		},
		{
			n = "BankframeOpened",
			k = "Event",
			SynchronousEvent = true,
			literal = "BANKFRAME_OPENED",
		},
		{
			n = "PlayerAccountBankTabSlotsChanged",
			k = "Event",
			payload = {
				{
					n = "slot",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "PLAYER_ACCOUNT_BANK_TAB_SLOTS_CHANGED",
		},
		{
			n = "PlayerbankslotsChanged",
			k = "Event",
			payload = {
				{
					n = "slot",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "PLAYERBANKSLOTS_CHANGED",
		},
	},
	tables = {
		{
			n = "BankLockedReason",
			k = "Enumeration",
			fields = {
				{
					n = "None",
					t = "BankLockedReason",
					EnumValue = 0,
				},
				{
					n = "NoAccountInventoryLock",
					t = "BankLockedReason",
					EnumValue = 1,
				},
				{
					n = "BankDisabled",
					t = "BankLockedReason",
					EnumValue = 2,
				},
				{
					n = "BankConversionFailed",
					t = "BankLockedReason",
					EnumValue = 3,
				},
			},
			max = 3,
			min = 0,
			num = 4,
		},
		{
			n = "BankTabData",
			k = "Structure",
			fields = {
				{
					n = "ID",
					t = "number",
					nilable = false,
				},
				{
					n = "bankType",
					t = "BankType",
					nilable = false,
				},
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
				{
					n = "icon",
					t = "fileID",
					nilable = false,
				},
				{
					n = "depositFlags",
					t = "BagSlotFlags",
					nilable = false,
				},
				{
					n = "tabCleanupConfirmation",
					t = "cstring",
					nilable = false,
				},
				{
					n = "tabNameEditBoxHeader",
					t = "cstring",
					nilable = false,
				},
			},
		},
		{
			n = "PurchasableBankTabData",
			k = "Structure",
			fields = {
				{
					n = "tabCost",
					t = "BigUInteger",
					nilable = false,
				},
				{
					n = "canAfford",
					t = "bool",
					nilable = false,
				},
				{
					n = "purchasePromptTitle",
					t = "cstring",
					nilable = false,
				},
				{
					n = "purchasePromptBody",
					t = "cstring",
					nilable = false,
				},
				{
					n = "purchasePromptConfirmation",
					t = "cstring",
					nilable = false,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "BarberShop",
	type = "System",
	ns = "C_BarberShop",
	env = "All",
	file = "BarberShopDocumentation.lua",
	hash = "3556ecfef5047c7097723bf14631f579a8c7d02031c583b8e342fea6036e1851",
	functions = {
		{
			n = "ApplyCustomizationChoices",
			k = "Function",
			rets = {
				{
					n = "success",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "Cancel",
			k = "Function",
		},
		{
			n = "ClearPreviewChoices",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "clearSavedChoices",
					t = "bool",
					nilable = false,
					def = false,
				},
			},
		},
		{
			n = "GetAvailableCustomizations",
			k = "Function",
			rets = {
				{
					n = "categories",
					t = "table",
					nilable = false,
					it = "CharCustomizationCategory",
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetCurrentCameraZoom",
			k = "Function",
			rets = {
				{
					n = "zoomLevel",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetCurrentCharacterData",
			k = "Function",
			rets = {
				{
					n = "characterData",
					t = "PlayerInfoCharacterData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetCurrentCost",
			k = "Function",
			rets = {
				{
					n = "cost",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetViewingChrModel",
			k = "Function",
			rets = {
				{
					n = "chrModelID",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "HasAlteredForm",
			k = "Function",
			rets = {
				{
					n = "hasAlteredForm",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "HasAnyChanges",
			k = "Function",
			rets = {
				{
					n = "hasChanges",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "HasCustomizationFeature",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "featureMask",
					t = "ChrModelFeatureFlags",
					nilable = false,
				},
			},
			rets = {
				{
					n = "hasCustomizationFeature",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsViewingAlteredForm",
			k = "Function",
			rets = {
				{
					n = "isViewingAlteredForm",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "MarkCustomizationChoiceAsSeen",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "choiceID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "MarkCustomizationOptionAsSeen",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "optionID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "PreviewCustomizationChoice",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "optionID",
					t = "number",
					nilable = false,
				},
				{
					n = "choiceID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "RandomizeCustomizationChoices",
			k = "Function",
		},
		{
			n = "ResetCameraRotation",
			k = "Function",
		},
		{
			n = "ResetCustomizationChoices",
			k = "Function",
		},
		{
			n = "RotateCamera",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "diffDegrees",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "SaveSeenChoices",
			k = "Function",
		},
		{
			n = "SetCameraDistanceOffset",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "offset",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "SetCameraZoomLevel",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "zoomLevel",
					t = "number",
					nilable = false,
				},
				{
					n = "keepCustomZoom",
					t = "bool",
					nilable = true,
				},
			},
		},
		{
			n = "SetCustomizationChoice",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "optionID",
					t = "number",
					nilable = false,
				},
				{
					n = "choiceID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "SetModelDressState",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "dressedState",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetSelectedSex",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "sex",
					t = "UnitSex",
					nilable = false,
				},
			},
		},
		{
			n = "SetViewingAlteredForm",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "isViewingAlteredForm",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetViewingChrModel",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "chrModelID",
					t = "number",
					nilable = true,
				},
				{
					n = "spellShapeshiftFormID",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "SetViewingShapeshiftForm",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "shapeshiftFormID",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "ZoomCamera",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "zoomAmount",
					t = "number",
					nilable = false,
				},
			},
		},
	},
	events = {
		{
			n = "BarberShopAppearanceApplied",
			k = "Event",
			literal = "BARBER_SHOP_APPEARANCE_APPLIED",
			unique = true,
		},
		{
			n = "BarberShopCameraValuesUpdated",
			k = "Event",
			SynchronousEvent = true,
			literal = "BARBER_SHOP_CAMERA_VALUES_UPDATED",
		},
		{
			n = "BarberShopClose",
			k = "Event",
			SynchronousEvent = true,
			literal = "BARBER_SHOP_CLOSE",
		},
		{
			n = "BarberShopCostUpdate",
			k = "Event",
			SynchronousEvent = true,
			literal = "BARBER_SHOP_COST_UPDATE",
		},
		{
			n = "BarberShopForceCustomizationsUpdate",
			k = "Event",
			SynchronousEvent = true,
			literal = "BARBER_SHOP_FORCE_CUSTOMIZATIONS_UPDATE",
		},
		{
			n = "BarberShopOpen",
			k = "Event",
			SynchronousEvent = true,
			literal = "BARBER_SHOP_OPEN",
		},
		{
			n = "BarberShopResult",
			k = "Event",
			payload = {
				{
					n = "success",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "BARBER_SHOP_RESULT",
		},
	},
}
systems[#systems + 1] = {
	name = "BarberShop",
	type = "System",
	ns = "C_BarberShopInternal",
	env = "All",
	file = "BarberShopInternalDocumentation.lua",
	hash = "f26ee88d26f4d5503f7b419047c0cfa855e2c2a86e9bebbfca3f838984024ff0",
	functions = {
		{
			n = "SetQAMode",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "qaModeEnabled",
					t = "bool",
					nilable = false,
				},
			},
		},
	},
}
