local _, data = ... ---@cast data HeimdallData if not Heimdall_Data then Heimdall_Data = {} end ---@class HeimdallData ---@field config HeimdallConfig ---@field raceMap table ---@field stinkies table ---@field messenger HeimdallMessengerData ---@field dumpTable fun(table: any, depth?: number): nil --- Config --- ---@class HeimdallConfig ---@field spotter HeimdallSpotterConfig ---@field who HeimdallWhoConfig ---@field messenger HeimdallMessengerConfig ---@class HeimdallSpotterConfig ---@field enabled boolean ---@field hostile boolean ---@field alliance boolean ---@field stinky boolean ---@field notifyChannel string ---@field zoneOverride string? ---@field throttleTime number ---@class HeimdallWhoConfig ---@field enabled boolean ---@class HeimdallMessengerConfig ---@field enabled boolean --- Data --- ---@class HeimdallMessengerData ---@field queue table ---@field ticker number? data.messenger = { queue = {} } data.config = { spotter = { enabled = true, hostile = true, alliance = false, stinky = false, notifyChannel = "Foobar", zoneOverride = nil, throttleTime = 1 }, who = { enabled = true }, messenger = { enabled = true } } data.raceMap = { ["Orc"] = "Horde", ["Undead"] = "Horde", ["Tauren"] = "Horde", ["Troll"] = "Horde", ["Blood Elf"] = "Horde", ["Goblin"] = "Horde", ["Human"] = "Alliance", ["Dwarf"] = "Alliance", ["Night Elf"] = "Alliance", ["Gnome"] = "Alliance", ["Draenei"] = "Alliance", ["Worgen"] = "Alliance", ["Vulpera"] = "Horde", ["Nightborne"] = "Horde", ["Zandalari Troll"] = "Horde", ["Kul Tiran"] = "Alliance", ["Dark Iron Dwarf"] = "Alliance", ["Void Elf"] = "Alliance", ["Lightforged Draenei"] = "Alliance", ["Mechagnome"] = "Alliance", ["Mag'har Orc"] = "Horde" } data.stinkies = {}