---@meta

UnitPopupButtons = {  }
TWReportName = nil ---@type nil
UnitPopupButtons["XP"] = { text = "", dist = 0 }
UnitPopupButtons["MOVE"] = { text = nil, dist = 0 }
UnitPopupButtons["MOVE_RESET"] = { text = nil, dist = 0 }
TW_XPFrameData.xp = true
UNITPOPUP_TITLE_HEIGHT = 26
UNITPOPUP_BUTTON_HEIGHT = 15
UNITPOPUP_BORDER_HEIGHT = 8
UNITPOPUP_BORDER_WIDTH = 19
UNITPOPUP_NUMBUTTONS = 9
UNITPOPUP_TIMEOUT = 5
UNITPOPUP_SPACER_SPACING = 6
UnitPopupButtons["CANCEL"] = { text = nil, dist = 0, space = 1 }
UnitPopupButtons["TRADE"] = { text = nil, dist = 2 }
UnitPopupButtons["INSPECT"] = { text = nil, dist = 1 }
UnitPopupButtons["TARGET"] = { text = nil, dist = 0 }
UnitPopupButtons["DUEL"] = { text = nil, dist = 3, space = 1 }
UnitPopupButtons["WHISPER"] = { text = nil, dist = 0 }
UnitPopupButtons["INVITE"] = { text = nil, dist = 0 }
UnitPopupButtons["UNINVITE"] = { text = nil, dist = 0 }
UnitPopupButtons["PROMOTE"] = { text = nil, dist = 0 }
UnitPopupButtons["GUILD_PROMOTE"] = { text = nil, dist = 0 }
UnitPopupButtons["GUILD_LEAVE"] = { text = nil, dist = 0 }
UnitPopupButtons["LEAVE"] = { text = nil, dist = 0 }
UnitPopupButtons["FOLLOW"] = { text = nil, dist = 4 }
UnitPopupButtons["PET_PASSIVE"] = { text = nil, dist = 0 }
UnitPopupButtons["PET_DEFENSIVE"] = { text = nil, dist = 0 }
UnitPopupButtons["PET_AGGRESSIVE"] = { text = nil, dist = 0 }
UnitPopupButtons["PET_WAIT"] = { text = nil, dist = 0 }
UnitPopupButtons["PET_FOLLOW"] = { text = nil, dist = 0 }
UnitPopupButtons["PET_ATTACK"] = { text = nil, dist = 0 }
UnitPopupButtons["PET_DISMISS"] = { text = nil, dist = 0 }
UnitPopupButtons["PET_ABANDON"] = { text = nil, dist = 0 }
UnitPopupButtons["PET_PAPERDOLL"] = { text = nil, dist = 0 }
UnitPopupButtons["PET_RENAME"] = { text = nil, dist = 0 }
UnitPopupButtons["REPORT"] = { text = nil, dist = 0 }
UnitPopupButtons["IGNORE"] = { text = nil, dist = 0 }
UnitPopupButtons["LOOT_METHOD"] = { text = nil, dist = 0, nested = 1 }
UnitPopupButtons["FREE_FOR_ALL"] = { text = nil, dist = 0 }
UnitPopupButtons["ROUND_ROBIN"] = { text = nil, dist = 0 }
UnitPopupButtons["MASTER_LOOTER"] = { text = nil, dist = 0 }
UnitPopupButtons["GROUP_LOOT"] = { text = nil, dist = 0 }
UnitPopupButtons["NEED_BEFORE_GREED"] = { text = nil, dist = 0 }
UnitPopupButtons["RESET_INSTANCES"] = { text = nil, dist = 0 }
UnitPopupButtons["LOOT_THRESHOLD"] = { text = nil, dist = 0, nested = 1 }
UnitPopupButtons["LOOT_PROMOTE"] = { text = nil, dist = 0 }
UnitPopupButtons["ITEM_QUALITY2_DESC"] = { text = nil, dist = 0, color = ITEM_QUALITY_COLORS[2] }
UnitPopupButtons["ITEM_QUALITY3_DESC"] = { text = nil, dist = 0, color = ITEM_QUALITY_COLORS[3] }
UnitPopupButtons["ITEM_QUALITY4_DESC"] = { text = nil, dist = 0, color = ITEM_QUALITY_COLORS[4] }
UnitPopupButtons["RAID_LEADER"] = { text = nil, dist = 0 }
UnitPopupButtons["RAID_PROMOTE"] = { text = nil, dist = 0 }
UnitPopupButtons["RAID_DEMOTE"] = { text = nil, dist = 0 }
UnitPopupButtons["RAID_REMOVE"] = { text = nil, dist = 0 }
UnitPopupButtons["RAID_TARGET_ICON"] = { text = nil, dist = 0, nested = 1 }
UnitPopupButtons["RAID_TARGET_1"] = { text = nil, dist = 0, checkable = 1, color = { r = 1.0, g = 0.92, b = 0 }, icon = "Interface\\TargetingFrame\\UI-RaidTargetingIcons", tCoordLeft = 0, tCoordRight = 0.25, tCoordTop = 0, tCoordBottom = 0.25 }
UnitPopupButtons["RAID_TARGET_2"] = { text = nil, dist = 0, checkable = 1, color = { r = 0.98, g = 0.57, b = 0 }, icon = "Interface\\TargetingFrame\\UI-RaidTargetingIcons", tCoordLeft = 0.25, tCoordRight = 0.5, tCoordTop = 0, tCoordBottom = 0.25 }
UnitPopupButtons["RAID_TARGET_3"] = { text = nil, dist = 0, checkable = 1, color = { r = 0.83, g = 0.22, b = 0.9 }, icon = "Interface\\TargetingFrame\\UI-RaidTargetingIcons", tCoordLeft = 0.5, tCoordRight = 0.75, tCoordTop = 0, tCoordBottom = 0.25 }
UnitPopupButtons["RAID_TARGET_4"] = { text = nil, dist = 0, checkable = 1, color = { r = 0.04, g = 0.95, b = 0 }, icon = "Interface\\TargetingFrame\\UI-RaidTargetingIcons", tCoordLeft = 0.75, tCoordRight = 1, tCoordTop = 0, tCoordBottom = 0.25 }
UnitPopupButtons["RAID_TARGET_5"] = { text = nil, dist = 0, checkable = 1, color = { r = 0.7, g = 0.82, b = 0.875 }, icon = "Interface\\TargetingFrame\\UI-RaidTargetingIcons", tCoordLeft = 0, tCoordRight = 0.25, tCoordTop = 0.25, tCoordBottom = 0.5 }
UnitPopupButtons["RAID_TARGET_6"] = { text = nil, dist = 0, checkable = 1, color = { r = 0, g = 0.71, b = 1 }, icon = "Interface\\TargetingFrame\\UI-RaidTargetingIcons", tCoordLeft = 0.25, tCoordRight = 0.5, tCoordTop = 0.25, tCoordBottom = 0.5 }
UnitPopupButtons["RAID_TARGET_7"] = { text = nil, dist = 0, checkable = 1, color = { r = 1.0, g = 0.24, b = 0.168 }, icon = "Interface\\TargetingFrame\\UI-RaidTargetingIcons", tCoordLeft = 0.5, tCoordRight = 0.75, tCoordTop = 0.25, tCoordBottom = 0.5 }
UnitPopupButtons["RAID_TARGET_8"] = { text = nil, dist = 0, checkable = 1, color = { r = 0.98, g = 0.98, b = 0.98 }, icon = "Interface\\TargetingFrame\\UI-RaidTargetingIcons", tCoordLeft = 0.75, tCoordRight = 1, tCoordTop = 0.25, tCoordBottom = 0.5 }
UnitPopupButtons["RAID_TARGET_NONE"] = { text = nil, dist = 0, checkable = 1 }
UnitPopupMenus = {  }
UnitPopupMenus["SELF"] = { "LOOT_METHOD", "LOOT_THRESHOLD", "LOOT_PROMOTE", "LEAVE", "RESET_INSTANCES", "RAID_TARGET_ICON", "XP", "MOVE", "MOVE_RESET", "CANCEL" }
UnitPopupMenus["PET"] = { "PET_PAPERDOLL", "PET_RENAME", "PET_ABANDON", "PET_DISMISS", "CANCEL" }
UnitPopupMenus["PARTY"] = { "WHISPER", "PROMOTE", "LOOT_PROMOTE", "UNINVITE", "INSPECT", "TRADE", "FOLLOW", "DUEL", "RAID_TARGET_ICON", "REPORT", "IGNORE", "CANCEL" }
UnitPopupMenus["PLAYER"] = { "WHISPER", "INSPECT", "INVITE", "TRADE", "FOLLOW", "DUEL", "RAID_TARGET_ICON", "REPORT", "IGNORE", "CANCEL" }
UnitPopupMenus["RAID"] = { "RAID_LEADER", "RAID_PROMOTE", "RAID_DEMOTE", "RAID_REMOVE", "REPORT", "IGNORE", "CANCEL" }
UnitPopupMenus["FRIEND"] = { "WHISPER", "INVITE", "TARGET", "GUILD_PROMOTE", "GUILD_LEAVE", "REPORT", "IGNORE", "CANCEL" }
UnitPopupMenus["RAID_TARGET_ICON"] = { "RAID_TARGET_1", "RAID_TARGET_2", "RAID_TARGET_3", "RAID_TARGET_4", "RAID_TARGET_5", "RAID_TARGET_6", "RAID_TARGET_7", "RAID_TARGET_8", "RAID_TARGET_NONE" }
UnitPopupMenus["LOOT_METHOD"] = { "FREE_FOR_ALL", "ROUND_ROBIN", "MASTER_LOOTER", "GROUP_LOOT", "NEED_BEFORE_GREED", "CANCEL" }
UnitPopupMenus["LOOT_THRESHOLD"] = { "ITEM_QUALITY2_DESC", "ITEM_QUALITY3_DESC", "ITEM_QUALITY4_DESC", "CANCEL" }
UnitPopupShown = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }
UnitLootMethod = {  }
UnitLootMethod["freeforall"] = { text = LOOT_FREE_FOR_ALL, tooltipText = NEWBIE_TOOLTIP_UNIT_FREE_FOR_ALL }
UnitLootMethod["roundrobin"] = { text = LOOT_ROUND_ROBIN, tooltipText = NEWBIE_TOOLTIP_UNIT_ROUND_ROBIN }
UnitLootMethod["master"] = { text = LOOT_MASTER_LOOTER, tooltipText = NEWBIE_TOOLTIP_UNIT_MASTER_LOOTER }
UnitLootMethod["group"] = { text = LOOT_GROUP_LOOT, tooltipText = NEWBIE_TOOLTIP_UNIT_GROUP_LOOT }
UnitLootMethod["needbeforegreed"] = { text = LOOT_NEED_BEFORE_GREED, tooltipText = NEWBIE_TOOLTIP_UNIT_NEED_BEFORE_GREED }
UnitPopupFrames = { "PlayerFrameDropDown", "TargetFrameDropDown", "PartyMemberFrame1DropDown", "PartyMemberFrame2DropDown", "PartyMemberFrame3DropDown", "PartyMemberFrame4DropDown", "FriendsDropDown" }

---@param dropdownMenu any (type not inferred)
---@param which any (type not inferred)
---@param unit any (type not inferred)
---@param name any (type not inferred)
---@param userData any (type not inferred)
---@return nil
function UnitPopup_ShowMenu(dropdownMenu, which, unit, name, userData) end

---@return nil
function UnitPopup_HideButtons() end

---@param elapsed any (type not inferred)
---@return nil
function UnitPopup_OnUpdate(elapsed) end

---@return nil
function UnitPopup_OnClick() end