First commit, step 4 completed

This commit is contained in:
bepis
2026-10-15 14:27:00 +11:00
commit 9a30efa170
5378 changed files with 1136719 additions and 0 deletions
@@ -0,0 +1,192 @@
---@meta _
-- ----------------------------------------------------------------------------
-- AceAddon-3.0
-- ----------------------------------------------------------------------------
---@class AceAddon-3.0
--
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-addon-3-0)
local lib = {}
---@param name string
---@param silent? boolean
---@return AceAddon
--
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-addon-3-0#title-15)
function lib:GetAddon(name, silent) end
---@return function iter
---@return table invariant
---@return number init
--
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-addon-3-0#title-16)
function lib:IterateAddonStatus() end
---@return function iter
---@return table invariant
---@return number init
--
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-addon-3-0#title-17)
function lib:IterateAddons() end
---@param object table
---@param name string
---@param ...? string List of libraries to embed into the addon
---@return table|AceAddon
---@overload fun(self, name: string, ...: string): table|AceAddon
--
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-addon-3-0#title-18)
function lib:NewAddon(object, name, ...) end
-- ----------------------------------------------------------------------------
-- AceAddon
-- ----------------------------------------------------------------------------
---@class AceAddon
---@field defaultModuleLibraries table
---@field defaultModuleState boolean
---@field enabledState boolean
---@field modules { [string]: AceModule }
---@field name string
---@field orderedModules AceModule[]
local addon = {}
-- Disables the Addon, if possible.
---@return boolean success
--
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-addon-3-0#title-2)
function addon:Disable() end
-- Disables the Module, if possible.
---@param name string
---@return boolean success
--
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-addon-3-0#title-3)
function addon:DisableModule(name) end
-- Enables the Addon, if possible.
---@return boolean success
--
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-addon-3-0#title-4)
function addon:Enable() end
-- Enables the Module, if possible.
---@param name string
---@return boolean success
--
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-addon-3-0#title-5)
function addon:EnableModule(name) end
-- Return the specified module from an Addon object.
---@param name string Unique name of the Module
---@param silent? boolean If true, the module is optional. Silently return nil if its not found.
---@return AceModule module
--
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-addon-3-0#title-6)
function addon:GetModule(name, silent) end
-- Returns the real name of the Addon or Module, without any prefix.
---@return string name
--
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-addon-3-0#title-7)
function addon:GetName() end
-- Query the enabledState of an Addon.
---@return boolean enabled
--
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-addon-3-0#title-8)
function addon:IsEnabled() end
-- Returns whether or not the object is a Module.
---@return boolean isModule
function addon:IsModule() end
-- Return an iterator of all modules associated to the addon.
---@return function iter
---@return table invariant
---@return number init
--
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-addon-3-0#title-9)
function addon:IterateModules() end
-- Create a new module for the addon.
--
-- The new module can have its own embeded libraries and/or use a module prototype to be mixed into the module.
--
-- A module has the same functionality as a real addon, it can have modules of its own, and has the same API as an addon object.
---@param name string
---@param ... string List of libraries to embed into the addon
---@return AceModule
---@overload fun(self, name: string, prototype: table, ...: string)
--
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-addon-3-0#title-10)
function addon:NewModule(name, ...) end
-- dont define .OnInitialize, .OnEnable, .OnDisable since this would trigger `duplicate-set-field` diagnostic
-- those methods technically only exist when defined by the user
-- Callback function called when your addon is manually being disabled.
-- function addon:OnDisable() end
-- Callback function called during the PLAYER_LOGIN event, when most of the data provided by the game is already present.
-- function addon:OnEnable() end
-- Callback function called directly after the addon is fully loaded.
-- function addon:OnInitialize() end
-- Set the default libraries to be mixed into all modules created by this object.
--
-- Note that you can only change the default module libraries before any module is created.
---@param ... string List of libraries to embed into the addon
--
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-addon-3-0#title-11)
function addon:SetDefaultModuleLibraries(...) end
-- Set the default prototype to use for new modules on creation.
--
-- Note that you can only change the default prototype before any module is created.
---@param prototype table
--
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-addon-3-0#title-12)
function addon:SetDefaultModulePrototype(prototype) end
-- Set the default state in which new modules are being created.
--
-- Note that you can only change the default state before any module is created.
---@param state boolean
--
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-addon-3-0#title-13)
function addon:SetDefaultModuleState(state) end
-- Set the state of an addon or module This should only be called before any enabling actually happend, e.g. in/before OnInitialize.
---@param state boolean
--
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-addon-3-0#title-14)
function addon:SetEnabledState(state) end
-- ----------------------------------------------------------------------------
-- AceModule
-- ----------------------------------------------------------------------------
---@class AceModule : AceAddon
---@field moduleName string
local module = {}
@@ -0,0 +1,31 @@
---@meta _
-- ----------------------------------------------------------------------------
-- AceBucket-3.0
-- ----------------------------------------------------------------------------
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-bucket-3-0)
---@class AceBucket-3.0
local AceBucket = {}
---@param event FrameEvent|FrameEvent[] The event to listen for, or a table of events.
---@param interval number The Bucket interval (burst interval)
---@param callback? function|string The callback function to call when the event is triggered (funcref or method, defaults to a method with the event name)
--- ---
---@return string bucketHandle -- The handle of the bucket (for unregistering)
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-bucket-3-0#title-2)
function AceBucket:RegisterBucketEvent(event, interval, callback) end
---@param message string|string[] The message to listen for, or a table of messages.
---@param interval number The Bucket interval (burst interval)
---@param callback? function|string The callback function, either as a function reference, or a string pointing to a method of the addon object.
--- ---
---@return string bucketHandle -- The handle of the bucket (for unregistering)
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-bucket-3-0#title-3)
function AceBucket:RegisterBucketMessage(message, interval, callback) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-bucket-3-0#title-4)
function AceBucket:UnregisterAllBuckets() end
---@param handle string The handle of the bucket as returned by RegisterBucket
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-bucket-3-0#title-5)
function AceBucket:UnregisterBucket(handle) end
@@ -0,0 +1,54 @@
---@meta _
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-comm-3-0)
---@class AceComm-3.0
local AceComm = {}
---@param prefix string A printable character (\032-\255) classification of the message (typically AddonName or AddonNameEvent), max 16 characters
---@param method? function|string OPTIONAL: Callback to call on message reception: Function reference, or method name (string) to call on self. Defaults to "OnCommReceived"
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-comm-3-0#title-1)
function AceComm:RegisterComm(prefix, method) end
---@param eventname string
function AceComm:UnregisterComm(eventname) end
---@param ... table
function AceComm:UnregisterAllComm(...) end
---@param prefix string A printable character (\032-\255) classification of the message (typically AddonName or AddonNameEvent)
---@param text string Data to send, nils (\000) not allowed. Any length.
---@param distribution string Addon channel, e.g. "RAID", "GUILD", etc; see SendAddonMessage API
---@param target string? Destination for some distributions; see SendAddonMessage API
---@param prio "BULK"|"NORMAL"|"ALERT"? OPTIONAL: ChatThrottleLib priority, "BULK", "NORMAL" or "ALERT". Defaults to "NORMAL".
---@param callbackFn function? OPTIONAL: callback function to be called as each chunk is sent. receives 3 args: the user supplied arg (see next), the number of bytes sent so far, and the number of bytes total to send.
---@param callbackArg ...? OPTIONAL: first arg to the callback function. nil will be passed if not specified.
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-comm-3-0#title-1)
function AceComm:SendCommMessage(prefix, text, distribution, target, prio, callbackFn, callbackArg) end
---@param target table
function AceComm:Embed(target) end
---@param target table
function AceComm:OnEmbedDisable(target) end
---@protected
---@param prefix string
---@param message string
---@param distribution string
---@param sender string
function AceComm:OnReceiveMultipartFirst(prefix, message, distribution, sender) end
---@protected
---@param prefix string
---@param message string
---@param distribution string
---@param sender string
function AceComm:OnReceiveMultipartNext(prefix, message, distribution, sender) end
---@protected
---@param prefix string
---@param message string
---@param distribution string
---@param sender string
function AceComm:OnReceiveMultipartLast(prefix, message, distribution, sender) end
@@ -0,0 +1,75 @@
---@meta _
-- ----------------------------------------------------------------------------
-- AceConfig-3.0
-- ----------------------------------------------------------------------------
---@class AceConfig-3.0
local AceConfig = {}
---@paramsig appName, options [, slashcmd]
---@param appName string The application name for the config table.
---@param options table|function|AceConfig.OptionsTable The option table (or a function to generate one on demand). [Options table documentation](http://www.wowace.com/addons/ace3/pages/ace-config-3-0-options-tables/)
---@param slashcmd? string|table A slash command to register for the option table, or a table of slash commands.
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-config-3-0#title-1)
function AceConfig:RegisterOptionsTable(appName, options, slashcmd)
end
-- ----------------------------------------------------------------------------
-- AceConfig.OptionsTable
-- ----------------------------------------------------------------------------
---@alias AceConfig.OptionsTable.ChildGroup
---|"select"
---|"tab"
---|"tree"
---@alias AceConfig.OptionsTable.DescStyle
---|"inline"
---|"tooltip"
---@alias AceConfig.OptionsTable.Type
---|"color"
---|"description"
---|"execute"
---|"group"
---|"header"
---|"input"
---|"keybinding"
---|"multiselect"
---|"range"
---|"select"
---|"toggle"
---@alias AceConfig.OptionsTable.Width
---|"double"
---|"full"
---|"half"
---|"normal"
---|number
---@class AceConfig.OptionsTable
---@field args? table<string, AceConfig.OptionsTable> a table containing a list of options
---@field childGroups? AceConfig.OptionsTable.ChildGroup decides how children groups of this group are displayed
---@field cmdHidden? boolean hide this from commandline
---@field confirm? string|function|boolean prompt for confirmation before changing a value if true display "name - desc", or contents of .confirmText if supplied.
---@field confirmText? string text to display in the confirmation dialog
---@field desc? string|function description for the option (or nil for a self-describing name)
---@field descStyle? AceConfig.OptionsTable.DescStyle "inline" if you want the description to show below the option in a GUI (rather than as a tooltip). Currently only supported by AceGUI "Toggle".
---@field dialogHidden? boolean hide this from dialog UIs
---@field disabled? string|function|boolean disabled but visible
---@field dropdownHidden? boolean hide this from dropdown UIs
---@field func? function function to execute
---@field get? string|function getter function
---@field guiHidden? boolean hide this from graphical UIs (dialog, dropdown)
---@field handler? table object on which getter/setter functions are called if they are declared as strings rather than function references
---@field hidden? string|function|boolean hidden (but usable if you can get to it, i.e. via commandline)
---@field icon? string|function path to icon texture
---@field iconCoords? table|string|function arguments to pass to SetTexCoord, e.g. {0.1,0.9,0.1,0.9}.
---@field name string|function Display name for the option
---@field order? number|string|function relative position of item (default = 100, 0=first, -1=last)
---@field set? string|function setter function
---@field type AceConfig.OptionsTable.Type Type of the option
---@field validate? string|function|false validate the input/value before setting it. return a string (error message) to indicate error.
---@field width? AceConfig.OptionsTable.Width If a number multiplier of the default width, ie. 0.5 equals "half", 2.0 equals "double"
---[Documentation](http://www.wowace.com/addons/ace3/pages/ace-config-3-0-options-tables/)
local OptionsTable = {}
@@ -0,0 +1,31 @@
---@meta _
-- ----------------------------------------------------------------------------
-- AceConfigCmd-3.0
-- ----------------------------------------------------------------------------
---@class AceConfigCmd-3.0
local lib = {}
--- Utility function to create a slash command handler.
---
--- Also registers tab completion with AceTab
---@param slashcmd string The slash command WITHOUT leading slash (only used for error output)
---@param appName string The application name as given to `:RegisterOptionsTable()`
function lib:CreateChatCommand(slashcmd, appName) end
--- Utility function that returns the options table that belongs to a slashcommand.
---
--- Designed to be used for the AceTab interface.
---@param slashcmd string The slash command WITHOUT leading slash (only used for error output)
---@return table|nil optionsTable The options table associated with the slash command (or nil if the slash command was not registered)
function lib:GetChatCommandOptions(slashcmd) end
--- Handle the chat command.
---
--- This is usually called from a chat command handler to parse the command input as operations on an aceoptions table.
---
--- AceConfigCmd uses this function internally when a slash command is registered with `:CreateChatCommand`
---@param slashcmd string The slash command WITHOUT leading slash (only used for error output)
---@param appName string The application name as given to `:RegisterOptionsTable()`
---@param input string The commandline input (as given by the WoW handler, i.e. without the command itself)
function lib:HandleCommand(slashcmd, appName, input) end
@@ -0,0 +1,57 @@
---@meta _
---@class AceConfigDialog-3.0
---@field OpenFrames table<string, table>
---@field Status table<string, table>
---@field tooltip GameTooltip
local AceConfigDialog = {}
---@class AceConfigDialog-3.0.frame : Frame
---@field apps table
---@field closing table
---@field closeAllOverride table
AceConfigDialog.frame = {}
---@paramsig appName, name, parent, ...
--- Add an option table into the Blizzard Interface Options panel
---@param appName string The application name as given to `:RegisterOptionsTable()`
---@param name? string A descriptive name to display in the options tree. Defaults to appName
---@param parent? string The parent to use in the interface options tree
---@param ...? string The path in the options table to feed into the interface options panel
---@return any # The reference to the frame registered into the Interface Options.
---@return any # The registered category ID
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-config-dialog-3-0#title-1)
function AceConfigDialog:AddToBlizOptions(appName, name, parent, ...) end
---@paramsig appName
--- Close a specific options window
---@param appName string The application name as given to `:RegisterOptionsTable()`
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-config-dialog-3-0#title-2)
function AceConfigDialog:Close(appName) end
--- Close all open options windows
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-config-dialog-3-0#title-3)
function AceConfigDialog:CloseAll() end
---@paramsig appName, container, ...
---Open an option winddow at the specified path, if any
---@param appName string The application name as given to `:RegisterOptionsTable()`
---@param container? table
---@param ...? string The path to open after creating the options window (see `:SelectGroup` for details)
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-config-dialog-3-0#title-4)
function AceConfigDialog:Open(appName, container, ...) end
---@paramsig appName, ...
--- Selects the specified path in the options window.
--- The path specified has to match the keys of the groups in the table.
---@param appName string The application name as given to `:RegisterOptionsTable()`
---@param ... string The path to the key that should be selected
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-config-dialog-3-0#title-5)
function AceConfigDialog:SelectGroup(appName, ...) end
---@paramsig appName, width, height
--- Sets the default size of the options window for a specific application.
---@param appName any The application name as given to `:RegisterOptionsTable()`
---@param width number The default width
---@param height number The default height
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-config-dialog-3-0#title-6)
function AceConfigDialog:SetDefaultSize(appName, width, height) end
@@ -0,0 +1,57 @@
---@meta _
-- ----------------------------------------------------------------------------
-- Type Aliases
-- ----------------------------------------------------------------------------
--- The AceConfig UI Type
---@alias AceConfigRegistry.UIType
---|"cmd"
---|"dialog"
---|"dropdown"
---@alias AceConfigRegistry.OptionsGenerator fun(uiType: AceConfigRegistry.UIType, uiName: string, appName: string): table
---@alias AceConfigRegistry.OptionsGetter fun(uiType: AceConfigRegistry.UIType, uiName: string, errlvl?: number): table
-- ----------------------------------------------------------------------------
-- AceConfigRegistry-3.0
-- ----------------------------------------------------------------------------
---@class AceConfigRegistry-3.0
local lib = {}
--- Query the registry for a specific options table.
---
--- If only appName is given, a function is returned which you can call with (uiType,uiName) to get the table.
---
--- If uiType&uiName are given, the table is returned.
---@param appName string The application name as given to `:RegisterOptionsTable()`
---@param uiType? AceConfigRegistry.UIType The type of UI to get the table for
---@param uiName? string The name of the library/addon querying for the table, e.g. "MyLib-1.0"
---@return AceConfigRegistry.OptionsGetter|table|nil
function lib:GetOptionsTable(appName, uiType, uiName) end
--- Returns an iterator of ["appName"]=funcref pairs
---@generic T: table, K: string, V: AceConfigRegistry.OptionsGetter
---@return fun(table: table<K, V>, index?: K):K, V
---@return T
function lib:IterateOptionsTables() end
--- Fires a "ConfigTableChange" callback for those listening in on it, allowing config GUIs to refresh.
---
--- You should call this function if your options table changed from any outside event, like a game event or a timer.
---@param appName string The application name as given to `:RegisterOptionsTable()`
function lib:NotifyChange(appName) end
--- Register an options table with the config registry.
---@param appName string The application name
---@param options AceConfigRegistry.OptionsGenerator|table The options table, OR a function reference that generates it on demand.
---@param skipValidation? boolean Skip options table validation (primarily useful for extremely huge options, with a noticeable slowdown)
function lib:RegisterOptionsTable(appName, options, skipValidation) end
--- Validates basic structure and integrity of an options table
---
--- Does NOT verify that get/set etc actually exist, since they can be defined at any depth
---@param options table The table to be validated
---@param name string The name of the table to be validated (shown in any error message)
---@param errlvl? number Error level offset, default 0 (=errors point to the function calling :ValidateOptionsTable)
function lib:ValidateOptionsTable(options, name, errlvl) end
@@ -0,0 +1,58 @@
---@meta _
---@class AceConsole-3.0
---@field embeds table ---table containing objects AceConsole is embedded in.
---@field commands table ---table containing commands registered
---@field weakcommands table ---table containing self, command => func references for weak commands that don't persist through enable/disable
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-console-3-0)
local AceConsole = {}
---@param chatframe Frame Custom ChatFrame to print to (or any frame with an .AddMessage function)
---@param ... any List of any values to be printed
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-console-3-0#title-3)
---@diagnostic disable-next-line: duplicate-set-field
function AceConsole:Print(chatframe, ...) end
---@param ... any List of any values to be printed
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-console-3-0#title-3)
---@diagnostic disable-next-line: duplicate-set-field
function AceConsole:Print(...) end
---@param chatframe? Frame Custom ChatFrame to print to (or any frame with an .AddMessage function)
---@param format string same syntax as standard Lua format()
---@param ...? any Arguments to the format string
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-console-3-0#title-4)
---@diagnostic disable-next-line: duplicate-set-field
function AceConsole:Printf(chatframe, format, ...) end
---@param format string same syntax as standard Lua format()
---@param ...? any Arguments to the format string
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-console-3-0#title-4)
---@diagnostic disable-next-line: duplicate-set-field
function AceConsole:Printf(format, ...) end
---@param command string Chat command to be registered WITHOUT leading "/"
---@param func function|string Function to call when the slash command is being used (funcref or methodname)
---@param persist? boolean if false, the command will be soft disabled/enabled when aceconsole is used as a mixin (default: true)
---@return boolean -- true if successful
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-console-3-0#title-5)
function AceConsole:RegisterChatCommand(command, func, persist) end
---@param command string Chat command to be unregistered WITHOUT leading "/"
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-console-3-0#title-6)
function AceConsole:UnregisterChatCommand(command) end
---@return fun(table: table<string, string>, index?: string): string, string -- Iterator (pairs) over all commands
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-console-3-0#title-2)
function AceConsole:IterateChatCommands() end
---@param str string The raw argument string
---@param numargs? number How many arguments to get (default 1)
---@param startpos? number Where in the string to start scanning (default 1)
---@return ...
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-console-3-0#title-1)
function AceConsole:GetArgs(str, numargs, startpos) end
@@ -0,0 +1,148 @@
---@meta _
-- ----------------------------------------------------------------------------
-- AceDB-3.0
-- ----------------------------------------------------------------------------
---@class AceDB-3.0
local AceDB = {}
-- Creates a new database object that can be used to handle database settings and profiles.
-- By default, an empty DB is created, using a character specific profile.
--
-- You can override the default profile used by passing any profile name as the third argument, or by passing true as the third argument to use a globally shared profile called "Default".
--
-- Note that there is no token replacement in the default profile name, passing a defaultProfile as "char" will use a profile named "char", and not a character-specific profile.
---@param tbl string|table The name of variable, or table to use for the database
---@param defaults? AceDB.Schema A table of database defaults
---@param defaultProfile? string|true The name of the default profile. If not set, a character specific profile will be used as the default. You can also pass true to use a shared global profile called "Default".
---@return AceDBObject-3.0 DB
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-db-3-0#title-2)
function AceDB:New(tbl, defaults, defaultProfile) end
-- ----------------------------------------------------------------------------
-- AceDBObject-3.0
-- ----------------------------------------------------------------------------
---@class AceDBObject-3.0: AceDB.Schema
---@field keys table
---@field sv table
---@field defaults AceDB.Schema Cache of defaults
---@field parent table
local DBObjectLib = {}
-- Copies a named profile into the current profile, overwriting any conflicting settings.
---@param name string The name of the profile to be copied into the current profile
---@param silent? boolean If true, do not raise an error when the profile does not exist
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-db-3-0#title-3)
function DBObjectLib:CopyProfile(name, silent) end
-- Deletes a named profile.
--
-- This profile must not be the active profile.
---@param name string The name of the profile to be deleted
---@param silent? boolean If true, do not raise an error when the profile does not exist
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-db-3-0#title-4)
function DBObjectLib:DeleteProfile(name, silent) end
-- Returns the current profile name used by the database
---@return string profileName
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-db-3-0#title-5)
function DBObjectLib:GetCurrentProfile() end
-- Returns an already existing namespace from the database object.
---@param name string The name of the existing namespace
---@param silent? boolean if true, the addon is optional, silently return nil if its not found
---@return table|nil namespace the namespace object if found
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-db-3-0#title-6)
function DBObjectLib:GetNamespace(name, silent) end
-- Returns a table with the names of the existing profiles in the database.
--
-- You can optionally supply a table to re-use for this purpose.
---@param tbl? table A table to store the profile names in
---@return table profiles Contains the names of the existing profiles in the database.
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-db-3-0#title-7)
function DBObjectLib:GetProfiles(tbl) end
---@param target table The object registering to listen for the callback.
---@param eventName AceDB.EventName The name of the event triggering the callback
---@param method string|function The method to call when the event is fired.
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-db-3-0-tutorial#title-5)
function DBObjectLib.RegisterCallback(target, eventName, method) end
--Sets the defaults table for the given database object by clearing any that are currently set, and then setting the new defaults.
---@param defaults AceDB.Schema A table of defaults for this database
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-db-3-0#title-8)
function DBObjectLib:RegisterDefaults(defaults) end
-- Creates a new database namespace, directly tied to the database.
--
-- This is a full scale database in it's own rights other than the fact that it cannot control its profile individually
---@param name string The name of the new namespace
---@param defaults? AceDB.Schema A table of values to use as defaults
---@return AceDBObject-3.0 namespace The created database namespace
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-db-3-0#title-9)
function DBObjectLib:RegisterNamespace(name, defaults) end
-- Resets the entire database, using the string defaultProfile as the new default profile.
---@param defaultProfile? string The profile name to use as the default
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-db-3-0#title-10)
function DBObjectLib:ResetDB(defaultProfile) end
-- Resets the current profile to the default values (if specified).
---@param noChildren? boolean if set to true, the reset will not be populated to the child namespaces of this DB object
---@param noCallbacks? boolean if set to true, won't fire the OnProfileReset callback
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-db-3-0#title-11)
function DBObjectLib:ResetProfile(noChildren, noCallbacks) end
-- Changes the profile of the database and all of it's namespaces to the supplied named profile
--
-- Callback parameters: "OnProfileChanged", database, newProfileKey
---@param name string The name of the profile to set as the current profile
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-db-3-0#title-12)
function DBObjectLib:SetProfile(name) end
---@param target table The object unregistering to listen for callbacks.
function DBObjectLib.UnregisterAllCallbacks(target) end
---@param target table The object unregistering to listen for the callback.
---@param eventName AceDB.EventName The event to unregister.
function DBObjectLib.UnregisterCallback(target, eventName) end
-- ----------------------------------------------------------------------------
-- Types
-- ----------------------------------------------------------------------------
---@alias AceDB.EventName
---|"OnDatabaseReset"
---|"OnDatabaseShutdown"
---|"OnNewProfile"
---|"OnProfileChanged"
---|"OnProfileCopied"
---|"OnProfileDeleted"
---|"OnProfileReset"
---|"OnProfileShutdown"
---@class AceDB.Schema
---@field char? table Character-specific data. Every character has its own database.
---@field realm? table Realm-specific data. All of the players characters on the same realm share this database.
---@field class? table Class-specific data. All of the players characters of the same class share this database.
---@field race? table Race-specific data. All of the players characters of the same race share this database.
---@field faction? table Faction-specific data. All of the players characters of the same faction share this database.
---@field factionrealm? table Faction and realm specific data. All of the players characters on the same realm and of the same faction share this database.
---@field factionrealmregion? table Faction, realm and region specific data. All of the players characters on the same realm, of the same faction and in the same region share this database.
---@field locale? table Locale specific data, based on the locale of the players game client.
---@field global? table Global Data. All characters on the same account share this database.
---@field profile? table Profile-specific data. All characters using the same profile share this database. The user can control which profile should be used.
---@field profiles? table Contains all profiles
@@ -0,0 +1,23 @@
---@meta _
-- ----------------------------------------------------------------------------
-- AceDBOptions-3.0
-- ----------------------------------------------------------------------------
---@class AceDBOptions-3.0
local AceDBOptions = {}
--[[
Get/Create a option table that you can use in your addon to control the profiles of AceDB-3.0.
Usage:
Assuming `options` is your top-level options table and `self.db` is your database:
`options.args.profiles = LibStub("AceDBOptions-3.0"):GetOptionsTable(self.db)`
]]
---@paramsig db, noDefaultProfiles
---@param db AceDBObject-3.0 The database object to create the options table for.
---@param noDefaultProfiles? boolean
---@return AceConfig.OptionsTable optionsTable The options table to be used in AceConfig-3.0
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-dboptions-3-0#title-1)
function AceDBOptions:GetOptionsTable(db, noDefaultProfiles) end
@@ -0,0 +1,55 @@
---@meta _
--------------------------------------------------------------------------------
---- AceEvent-3.0
--------------------------------------------------------------------------------
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-event-3-0)
---@class AceEvent-3.0
local AceEvent = {}
---@param event FrameEvent The event to register for
---@param callback? function|string The callback function to call when the event is triggered (funcref or method, defaults to a method with the event name)
---@param arg? any An optional argument to pass to the callback function
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-event-3-0#title-1)
function AceEvent:RegisterEvent(event, callback, arg) end
---@param event FrameEvent The event to unregister
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-event-3-0#title-4)
function AceEvent:UnregisterEvent(event) end
---@param message string The message to register for
---@param callback? function|string The callback function to call when the message is triggered (funcref or method, defaults to a method with the event name)
---@param arg? any An optional argument to pass to the callback function
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-event-3-0#title-2)
function AceEvent:RegisterMessage(message, callback, arg) end
---@param message string The message to unregister
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-event-3-0#title-5)
function AceEvent:UnregisterMessage(message) end
---@name AceEvent:SendMessage
---@param message string The message to send
---@param ... any Any arguments to the message
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-event-3-0#title-3)
function AceEvent:SendMessage(message, ...) end
---@generic T
---@param target T target object to embed AceEvent in
---@return T|AceEvent-3.0 augmentedTarget
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-event-3-0)
function AceEvent:Embed(target) end
---@param target AceEvent-3.0
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-event-3-0)
function AceEvent:OnEmbedDisable(target) end
function AceEvent:UnregisterAllEvents() end
function AceEvent:UnregisterAllMessages() end
@@ -0,0 +1,229 @@
---@meta _
---@alias AceGUILayoutType
---|"Flow"
---|"List"
---|"Fill"
---|"Table"
---@alias AceGUIWidgetType
---|"BlizOptionsGroup"
---|"Button"
---|"CheckBox"
---|"ColorPicker"
---|"Dropdown"
---|"EditBox"
---|"Heading"
---|"Icon"
---|"InteractiveLabel"
---|"Keybinding"
---|"Label"
---|"MultiLineEditBox"
---|"Slider"
---@alias AceGUIContainerType
---|"DropdownGroup"
---|"Frame"
---|"InlineGroup"
---|"ScrollFrame"
---|"SimpleGroup"
---|"TabGroup"
---|"TreeGroup"
---|"Window"
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-gui-3-0)
---@class AceGUI-3.0
---@field tooltip GameTooltip
local AceGUI = {}
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-gui-3-0#title-2)
function AceGUI:ClearFocus() end
---@param type AceGUIWidgetType|AceGUIContainerType
---@return AceGUIWidget
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-gui-3-0#title-3)
function AceGUI:Create(type) end
---@param Name AceGUILayoutType
---@return function
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-gui-3-0#title-4)
function AceGUI:GetLayout(Name) end
---@param type string
---@return number
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-gui-3-0#title-5)
function AceGUI:GetNextWidgetNum(type) end
---@param type string
---@return number
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-gui-3-0#title-6)
function AceGUI:GetWidgetCount(type) end
---@param type string
---@return number
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-gui-3-0#title-7)
function AceGUI:GetWidgetVersion(type) end
---@param widget AceGUIWidget
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-gui-3-0#title-8)
function AceGUI:RegisterAsContainer(widget) end
---@param widget AceGUIWidget
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-gui-3-0#title-9)
function AceGUI:RegisterAsWidget(widget) end
---@param Name string
---@param LayoutFunc function
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-gui-3-0#title-10)
function AceGUI:RegisterLayout(Name, LayoutFunc) end
---@param Name string
---@param Constructor function
---@param Version number
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-gui-3-0#title-11)
function AceGUI:RegisterWidgetType(Name, Constructor, Version) end
---@param widget AceGUIWidget
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-gui-3-0#title-12)
function AceGUI:Release(widget) end
---@param widget AceGUIWidget
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-gui-3-0#title-13)
function AceGUI:SetFocus(widget) end
---@meta _
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets)
---@class AceGUIWidget
---@field public type string
---@field protected frame Frame
---@field protected userdata table
---@field protected events table<string,function>
---@field protected width? string|number
---@field protected height? string|number
local AceGUIWidget = {}
---@param name string
---@param func function
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-1-1)
function AceGUIWidget:SetCallback(name, func) end
---@param width number
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-1-2)
function AceGUIWidget:SetWidth(width) end
---@param width number
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-1-3)
function AceGUIWidget:SetRelativeWidth(width) end
---@param height number
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-1-4)
function AceGUIWidget:SetHeight(height) end
---@return boolean
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-1-5)
function AceGUIWidget:IsVisible() end
---@return boolean
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-1-6)
function AceGUIWidget:IsShown() end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-1-7)
function AceGUIWidget:Release() end
---@param point FramePoint
---@param relativeTo Region|string
---@param relativePoint string
---@param ofsx? number
---@param ofsy? number
---@overload fun(self, point: FramePoint, relativeTo: Region|string, ofsx?: number, ofsy?: number)
---@overload fun(self, point: FramePoint, ofsx?: number, ofsy?: number)
---[Documentation](https://warcraft.wiki.gg/wiki/API_Region_SetPoint)
function AceGUIWidget:SetPoint(point, relativeTo, relativePoint, ofsx, ofsy) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-1-9)
function AceGUIWidget:ClearAllPoints() end
---@return number
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-1-10)
function AceGUIWidget:GetNumPoints() end
---@param index number
---@return string point
---@return Region relativeTo
---@return string relativePoint
---@return number xOfs
---@return number yOfs
---[Documentation](https://warcraft.wiki.gg/wiki/API_Region_GetPoint)
function AceGUIWidget:GetPoint(index) end
---@return table
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-1-12)
function AceGUIWidget:GetUserDataTable() end
---@param key any
---@param value any
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-1-13)
function AceGUIWidget:SetUserData(key, value) end
---@param key any
---@return any
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-1-14)
function AceGUIWidget:GetUserData(key) end
---@param isFull boolean
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-1-15)
function AceGUIWidget:SetFullHeight(isFull) end
---@return boolean
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-1-16)
function AceGUIWidget:IsFullHeight() end
---@param isFull boolean
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-1-17)
function AceGUIWidget:SetFullWidth(isFull) end
---@return boolean
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-1-18)
function AceGUIWidget:IsFullWidth() end
---@param parent Region|string|nil
function AceGUIWidget:SetParent(parent) end
---@param name string
function AceGUIWidget:Fire(name, ...) end
---@return boolean
function AceGUIWidget:IsReleasing() end
---@meta _
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets)
---@class AceGUIContainer : AceGUIWidget
---@field protected children AceGUIWidget[]
---@field protected content Frame
local AceGUIContainer = {}
---@param widget AceGUIWidget
---@param beforeWidget? AceGUIWidget
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-3-1)
function AceGUIContainer:AddChild(widget, beforeWidget) end
---@param layout AceGUILayoutType
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-3-2)
function AceGUIContainer:SetLayout(layout) end
---@param flag boolean
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-3-3)
function AceGUIContainer:SetAutoAdjustHeight(flag) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-3-4)
function AceGUIContainer:ReleaseChildren() end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-3-5)
function AceGUIContainer:DoLayout() end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-3-6)
function AceGUIContainer:PauseLayout() end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-3-7)
function AceGUIContainer:ResumeLayout() end
function AceGUIContainer:PerformLayout() end
@@ -0,0 +1,31 @@
---@meta _
---@class AceGUIBlizOptionsGroup : AceGUIContainer
---@field protected label FontString
local AceGUIBlizOptionsGroup = {}
---@param text string
function AceGUIBlizOptionsGroup:SetTitle(text) end
---@param name string
---@param parent unknown
function AceGUIBlizOptionsGroup:SetName(name, parent) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-4-1-1)
---@param key unknown
function AceGUIBlizOptionsGroup:SetGroup(key) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-4-1-1)
---@param width number
function AceGUIBlizOptionsGroup:SetDropdownWidth(width) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-4-1-1)
---@param statusTable table
function AceGUIBlizOptionsGroup:SetStatusTable(statusTable) end
---@protected
---@param width integer
function AceGUIBlizOptionsGroup:OnWidthSet(width) end
---@protected
---@param height integer
function AceGUIBlizOptionsGroup:OnHeightSet(height) end
@@ -0,0 +1,48 @@
---@meta _
---@class AceGUIDropdownGroup : AceGUIContainer
---@field protected localstatus table
---@field protected status? table
---@field protected titletext FontString
---@field protected dropdown AceGUIDropdown
---@field protected border Frame|BackdropTemplate
local AceGUIDropdownGroup = {}
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-4-1-1)
---@param text string
function AceGUIDropdownGroup:SetTitle(text) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-4-1-1)
---@param groupList table<unknown, string>
---@param order? unknown[]
function AceGUIDropdownGroup:SetGroupList(groupList, order) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-4-1-1)
---@param key unknown
function AceGUIDropdownGroup:SetGroup(key) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-4-1-1)
---@param width number
function AceGUIDropdownGroup:SetDropdownWidth(width) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-4-1-1)
---@param statusTable table
function AceGUIDropdownGroup:SetStatusTable(statusTable) end
---@protected
---@param width integer
function AceGUIDropdownGroup:OnWidthSet(width) end
---@protected
---@param height integer
function AceGUIDropdownGroup:OnHeightSet(height) end
---@protected
---@param width integer
---@param height integer
function AceGUIDropdownGroup:LayoutFinished(width, height) end
---@class AceGUIDropdownGroupStatus
---@field selected? unknown
---@field left? number
---@field width? number
---@field height? number
@@ -0,0 +1,48 @@
---@meta _
---@class AceGUIFrame : AceGUIContainer
---@field protected localstatus AceGUIFrameStatus
---@field protected status? AceGUIFrameStatus
---@field protected titletext FontString
---@field protected statustext FontString
---@field protected titlebg Texture
---@field protected sizer_se Frame
---@field protected sizer_s Frame
---@field protected sizer_e Frame
---@field protected frame Frame|BackdropTemplate
local AceGUIFrame = {}
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-4-2-1)
---@param text string
function AceGUIFrame:SetTitle(text) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-4-2-1)
---@param text string
function AceGUIFrame:SetStatusText(text) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-4-2-1)
---@param statusTable table
function AceGUIFrame:SetStatusTable(statusTable) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-4-2-1)
function AceGUIFrame:ApplyStatus() end
function AceGUIFrame:Show() end
function AceGUIFrame:Hide() end
---@param state boolean
function AceGUIFrame:EnableResize(state) end
---@protected
---@param width integer
function AceGUIFrame:OnWidthSet(width) end
---@protected
---@param height integer
function AceGUIFrame:OnHeightSet(height) end
---@class AceGUIFrameStatus
---@field top? number
---@field left? number
---@field width? number
---@field height? number
@@ -0,0 +1,21 @@
---@meta _
---@class AceGUIInlineGroup : AceGUIContainer
---@field protected titletext FontString
local AceGUIInlineGroup = {}
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-4-3-1)
---@param text string
function AceGUIInlineGroup:SetTitle(text) end
---@protected
---@param width integer
function AceGUIInlineGroup:OnWidthSet(width) end
---@protected
---@param height integer
function AceGUIInlineGroup:OnHeightSet(height) end
---@protected
---@param width integer
---@param height integer
function AceGUIInlineGroup:LayoutFinished(width, height) end
@@ -0,0 +1,38 @@
---@meta _
---@class AceGUIScrollFrame : AceGUIContainer
---@field protected localstatus AceGUIScrollFrameStatus
---@field protected status? AceGUIScrollFrameStatus
---@field protected scrollframe ScrollFrame
---@field protected scrollbar Slider
local AceGUIScrollFrame = {}
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-4-4-1)
---@param value number
function AceGUIScrollFrame:SetScroll(value) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-4-4-1)
---@param statusTable table
function AceGUIScrollFrame:SetStatusTable(statusTable) end
---@param value number
function AceGUIScrollFrame:MoveScroll(value) end
---@protected
function AceGUIScrollFrame:FixScroll() end
---@protected
---@param width integer
function AceGUIScrollFrame:OnWidthSet(width) end
---@protected
---@param height integer
function AceGUIScrollFrame:OnHeightSet(height) end
---@protected
---@param width integer
---@param height integer
function AceGUIScrollFrame:LayoutFinished(width, height) end
---@class AceGUIScrollFrameStatus
---@field scrollvalue number
---@field offset integer?
@@ -0,0 +1,16 @@
---@meta _
---@class AceGUISimpleGroup : AceGUIContainer
local AceGUISimpleGroup = {}
---@protected
---@param width integer
function AceGUISimpleGroup:OnWidthSet(width) end
---@protected
---@param height integer
function AceGUISimpleGroup:OnHeightSet(height) end
---@protected
---@param width integer
---@param height integer
function AceGUISimpleGroup:LayoutFinished(width, height) end
@@ -0,0 +1,57 @@
---@meta _
---@class AceGUITabGroup : AceGUIContainer
---@field protected num integer
---@field protected localstatus AceGUITabGroupStatus
---@field protected status? AceGUITabGroupStatus
---@field protected alignoffset number
---@field protected titletext FontString
---@field protected border Frame|BackdropTemplate
---@field protected borderoffset number
---@field protected tabs Button[]
---@field protected tablist AceGUITabGroupTab[]
local AceGUITabGroup = {}
---@class AceGUITabGroupTab
---@field value unknown
---@field text string
---@field disabled? boolean
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-4-6-1)
---@param text string
function AceGUITabGroup:SetTitle(text) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-4-6-1)
---@param tabsTable AceGUITabGroupTab[]
function AceGUITabGroup:SetTabs(tabsTable) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-4-6-1)
---@param key string
function AceGUITabGroup:SelectTab(key) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-4-6-1)
---@param statusTable table
function AceGUITabGroup:SetStatusTable(statusTable) end
---@protected
function AceGUITabGroup:BuildTabs() end
---@protected
---@param id integer
---@return Button
function AceGUITabGroup:CreateTab(id) end
---@protected
---@param width integer
function AceGUITabGroup:OnWidthSet(width) end
---@protected
---@param height integer
function AceGUITabGroup:OnHeightSet(height) end
---@protected
---@param width integer
---@param height integer
function AceGUITabGroup:LayoutFinished(width, height) end
---@class AceGUITabGroupStatus
---@field selected? string
@@ -0,0 +1,101 @@
---@meta _
---@class AceGUITreeGroup : AceGUIContainer
---@field protected lines AceGUITreeGroupLine[]
---@field protected buttons Button[]
---@field protected localstatus AceGUITreeGroupStatus
---@field protected status? AceGUITreeGroupStatus
---@field protected filter boolean
---@field protected treeframe Frame|BackdropTemplate
---@field protected dragger Frame|BackdropTemplate
---@field protected scrollbar Slider
---@field protected border Frame|BackdropTemplate
---@field protected enabletooltips boolean
local AceGUITreeGroup = {}
---@protected
---@return Button
function AceGUITreeGroup:CreateButton() end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-4-7-1)
---@param tree table
---@param filter? boolean
function AceGUITreeGroup:SetTree(tree, filter) end
---@param value string
function AceGUITreeGroup:SetSelected(value) end
---@param uniquevalue string
---@param ... string
function AceGUITreeGroup:Select(uniquevalue, ...) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-4-7-1)
---@param ... string
function AceGUITreeGroup:SelectByPath(...) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-4-7-1)
---@param uniquevalue string
function AceGUITreeGroup:SelectByValue(uniquevalue) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-4-7-1)
---@param flag boolean
function AceGUITreeGroup:EnableButtonTooltips(flag) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-4-7-1)
---@param statusTable table
function AceGUITreeGroup:SetStatusTable(statusTable) end
---@param show boolean
function AceGUITreeGroup:ShowScroll(show) end
---@param treewidth integer
---@param resizable boolean
function AceGUITreeGroup:SetTreeWidth(treewidth, resizable) end
---@return integer
function AceGUITreeGroup:GetTreeWidth() end
---@protected
---@param tree table
---@param level? integer
---@param parent? AceGUITreeGroupLine
function AceGUITreeGroup:BuildLevel(tree, level, parent) end
---@protected
---@param scrollToSelection? boolean
---@param fromOnUpdate? boolean
function AceGUITreeGroup:RefreshTree(scrollToSelection, fromOnUpdate) end
---@protected
---@param width integer
function AceGUITreeGroup:OnWidthSet(width) end
---@protected
---@param height integer
function AceGUITreeGroup:OnHeightSet(height) end
---@protected
---@param width integer
---@param height integer
function AceGUITreeGroup:LayoutFinished(width, height) end
---@class AceGUITreeGroupStatus
---@field groups table
---@field scrollvalue number
---@field scrollToSelection? boolean
---@field fullwidth? boolean
---@field treewidth? integer
---@field treesizable? boolean
---@field selected? string
---@class AceGUITreeGroupLine
---@field value any
---@field text string
---@field icon? string|integer
---@field iconCoords? number[]
---@field disabled? boolean
---@field tree table
---@field level integer
---@field parent? AceGUITreeGroupLine
---@field visible? boolean
---@field uniquevalue string
---@field hasChildren? boolean
@@ -0,0 +1,31 @@
---@meta _
---@class AceGUIWindow : AceGUIContainer
---@field protected status? table
---@field protected localstatus table
---@field protected closebutton Button
---@field protected titletext FontString
---@field protected title Button
---@field protected sizer_se Frame
---@field protected line1 Texture
---@field protected line2 Texture
---@field protected sizer_s Frame
---@field protected sizer_e Frame
local AceGUIWindow = {}
function AceGUIWindow:Hide() end
function AceGUIWindow:Show() end
function AceGUIWindow:ApplyStatus() end
---@param title string
function AceGUIWindow:SetTitle(title) end
---@param status table
function AceGUIWindow:SetStatusTable(status) end
---@param text string
function AceGUIWindow:SetStatusText(text) end
---@param state boolean
function AceGUIWindow:EnableResize(state) end
@@ -0,0 +1,16 @@
---@meta _
---@class AceGUIButton : AceGUIWidget
---@field protected text FontString
local AceGUIButton = {}
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-1-1)
---@param text string
function AceGUIButton:SetText(text) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-1-1)
---@param autoWidth boolean
function AceGUIButton:SetAutoWidth(autoWidth) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-1-1)
---@param flag boolean
function AceGUIButton:SetDisabled(flag) end
@@ -0,0 +1,44 @@
---@meta _
---@class AceGUICheckBox : AceGUIWidget
---@field protected checkbg Texture
---@field protected check Texture
---@field protected text FontString
---@field protected highlight Texture
---@field protected image Texture
local AceGUICheckBox = {}
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-2-1)
---@param flag boolean|nil
function AceGUICheckBox:SetValue(flag) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-2-1)
---@return boolean|nil
function AceGUICheckBox:GetValue() end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-2-1)
---@param checkType "radio"|"checkbox"
function AceGUICheckBox:SetType(checkType) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-2-1)
function AceGUICheckBox:ToggleChecked() end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-2-1)
---@param text string
function AceGUICheckBox:SetLabel(text) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-2-1)
---@param state boolean
function AceGUICheckBox:SetTriState(state) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-2-1)
---@param flag boolean
function AceGUICheckBox:SetDisabled(flag) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-2-1)
---@param description string
function AceGUICheckBox:SetDescription(description) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-2-1)
---@param path string|number
---@param ...? unknown
function AceGUICheckBox:SetImage(path, ...) end
@@ -0,0 +1,24 @@
---@meta _
---@class AceGUIColorPicker : AceGUIWidget
---@field protected colorSwatch Texture
---@field protected text FontString
local AceGUIColorPicker = {}
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-3-1)
---@param r number
---@param g number
---@param b number
---@param a number
function AceGUIColorPicker:SetColor(r, g, b, a) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-3-1)
---@param text string
function AceGUIColorPicker:SetLabel(text) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-3-1)
---@param flag boolean
function AceGUIColorPicker:SetHasAlpha(flag) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-3-1)
---@param flag boolean
function AceGUIColorPicker:SetDisabled(flag) end
@@ -0,0 +1,61 @@
---@meta _
---@class AceGUIDropdown : AceGUIWidget
---@field protected dropdown Frame
---@field protected count number
---@field protected button Button
---@field protected button_cover Button
---@field protected text FontString
---@field protected label FontString
local AceGUIDropdown = {}
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-4-1)
---@param key unknown
function AceGUIDropdown:SetValue(key) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-4-1)
---@param list table<unknown, string>
---@param order? unknown[]
function AceGUIDropdown:SetList(list, order) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-4-1)
---@param text string
function AceGUIDropdown:SetText(text) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-4-1)
---@param text string
function AceGUIDropdown:SetLabel(text) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-4-1)
---@param key unknown
---@param value string
function AceGUIDropdown:AddItem(key, value) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-4-1)
---@param flag boolean
function AceGUIDropdown:SetMultiselect(flag) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-4-1)
---@return boolean
function AceGUIDropdown:GetMultiselect() end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-4-1)
---@param key unknown
---@param value string
function AceGUIDropdown:SetItemValue(key, value) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-4-1)
---@param key unknown
---@param flag boolean
function AceGUIDropdown:SetItemDisabled(key, flag) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-4-1)
---@param flag boolean
function AceGUIDropdown:SetDisabled(flag) end
function AceGUIDropdown:ClearFocus() end
---@return unknown
function AceGUIDropdown:GetValue() end
---@param width number
function AceGUIDropdown:SetPulloutWidth(width) end
@@ -0,0 +1,40 @@
---@meta _
---@class AceGUIEditBox : AceGUIWidget
---@field protected alignoffset number
---@field protected editbox EditBox
---@field protected label FontString
---@field protected button Button
local AceGUIEditBox = {}
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-5-1)
---@param text string
function AceGUIEditBox:SetText(text) end
--- ---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-5-1)
---@return string
function AceGUIEditBox:GetText() end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-5-1)
---@param text string
function AceGUIEditBox:SetLabel(text) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-5-1)
---@param flag boolean
function AceGUIEditBox:SetDisabled(flag) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-5-1)
---@param flag boolean
function AceGUIEditBox:DisableButton(flag) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-5-1)
---@param num number
function AceGUIEditBox:SetMaxLetters(num) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-5-1)
function AceGUIEditBox:SetFocus() end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-5-1)
---@param from? number
---@param to? number
function AceGUIEditBox:HighlightText(from, to) end
function AceGUIEditBox:ClearFocus() end
@@ -0,0 +1,10 @@
---@meta _
---@class AceGUIHeading : AceGUIWidget
---@field protected label FontString
---@field protected left Texture
---@field protected right Texture
local AceGUIHeading = {}
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-6-1)
---@param text string
function AceGUIHeading:SetText(text) end
@@ -0,0 +1,22 @@
---@meta _
---@class AceGUIIcon : AceGUIWidget
---@field protected label FontString
---@field protected image Texture
local AceGUIIcon = {}
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-7-1)
---@param image string|number
---@param ...? unknown
function AceGUIIcon:SetImage(image, ...) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-7-1)
---@param width number
---@param height number
function AceGUIIcon:SetImageSize(width, height) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-7-1)
---@param text string
function AceGUIIcon:SetLabel(text) end
---@param disabled boolean
function AceGUIIcon:SetDisabled(disabled) end
@@ -0,0 +1,51 @@
---@meta _
---@class AceGUIInteractiveLabel : AceGUIWidget
---@field protected highlight Texture
local AceGUIInteractiveLabel = {}
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-8-1)
---@param text string
function AceGUIInteractiveLabel:SetText(text) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-8-1)
---@param r number
---@param g number
---@param b number
function AceGUIInteractiveLabel:SetColor(r, g, b) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-8-1)
---@param font FontFile
---@param height number
---@param flags string?
function AceGUIInteractiveLabel:SetFont(font, height, flags) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-8-1)
---@param font? FontObject
function AceGUIInteractiveLabel:SetFontObject(font) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-8-1)
---@param image string|number
---@param ...? unknown
function AceGUIInteractiveLabel:SetImage(image, ...) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-8-1)
---@param width number
---@param height number
function AceGUIInteractiveLabel:SetImageSize(width, height) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-8-1)
---@param ... number Set the image of the highlight.
function AceGUIInteractiveLabel:SetHighlight(...) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-8-1)
---@param ... number? Pass 4 or 8 SetTexCoords parameters
function AceGUIInteractiveLabel:SetHighlightTexCoord(...) end
---@param disabled boolean
function AceGUIInteractiveLabel:SetDisabled(disabled) end
---@param justifyH JustifyHorizontal
function AceGUIInteractiveLabel:SetJustifyH(justifyH) end
---@param justifyV JustifyVertical
function AceGUIInteractiveLabel:SetJustifyV(justifyV) end
@@ -0,0 +1,23 @@
---@meta _
---@class AceGUIKeybinding : AceGUIWidget
---@field protected button Button
---@field protected label FontString
---@field protected msgframe Frame|BackdropTemplate
---@field protected alignoffset number
local AceGUIKeybinding = {}
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-9-1)
---@param key string
function AceGUIKeybinding:SetKey(key) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-9-1)
---@return string
function AceGUIKeybinding:GetKey() end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-9-1)
---@param text string
function AceGUIKeybinding:SetLabel(text) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-9-1)
---@param flag boolean
function AceGUIKeybinding:SetDisabled(flag) end
@@ -0,0 +1,41 @@
---@meta _
---@class AceGUILabel : AceGUIWidget
---@field protected label FontString
---@field protected image Texture
local AceGUILabel = {}
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-10-1)
---@param text string
function AceGUILabel:SetText(text) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-10-1)
---@param r number
---@param g number
---@param b number
function AceGUILabel:SetColor(r, g, b) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-10-1)
---@param font FontFile
---@param height number
---@param flags string?
function AceGUILabel:SetFont(font, height, flags) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-10-1)
---@param font? FontObject
function AceGUILabel:SetFontObject(font) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-10-1)
---@param image string|number
---@param ... number? Pass 4 or 8 SetTexCoords parameters
function AceGUILabel:SetImage(image, ...) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-10-1)
---@param width number
---@param height number
function AceGUILabel:SetImageSize(width, height) end
---@param justifyH JustifyHorizontal
function AceGUILabel:SetJustifyH(justifyH) end
---@param justifyV JustifyVertical
function AceGUILabel:SetJustifyV(justifyV) end
@@ -0,0 +1,55 @@
---@meta _
---@class AceGUIMultiLineEditBox : AceGUIWidget
---@field protected button Button
---@field protected editBox EditBox
---@field protected label FontString
---@field protected labelHeight number
---@field protected numlines number
---@field protected scrollBar Frame
---@field protected scrollBG Frame|BackdropTemplate
---@field protected scrollFrame ScrollFrame
local AceGUIMultiLineEditBox = {}
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-11-1)
---@param text string
function AceGUIMultiLineEditBox:SetText(text) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-11-1)
---@return string
function AceGUIMultiLineEditBox:GetText() end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-11-1)
---@param text string
function AceGUIMultiLineEditBox:SetLabel(text) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-11-1)
---@param num number
function AceGUIMultiLineEditBox:SetNumLines(num) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-11-1)
---@param flag boolean
function AceGUIMultiLineEditBox:SetDisabled(flag) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-11-1)
---@param num number
function AceGUIMultiLineEditBox:SetMaxLetters(num) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-11-1)
---@param flag boolean
function AceGUIMultiLineEditBox:DisableButton(flag) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-11-1)
function AceGUIMultiLineEditBox:SetFocus() end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-11-1)
---@param from? number
---@param to? number
function AceGUIMultiLineEditBox:HighlightText(from, to) end
function AceGUIMultiLineEditBox:ClearFocus() end
---@return number
function AceGUIMultiLineEditBox:GetCursorPosition() end
---@param position number
function AceGUIMultiLineEditBox:SetCursorPosition(position) end
@@ -0,0 +1,35 @@
---@meta _
---@class AceGUISlider : AceGUIWidget
---@field protected label FontString
---@field protected slider Slider|BackdropTemplate
---@field protected lowtext FontString
---@field protected hightext FontString
---@field protected editbox EditBox|BackdropTemplate
---@field protected alignoffset number
local AceGUISlider = {}
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-12-1)
---@param value number
function AceGUISlider:SetValue(value) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-12-1)
---@return number
function AceGUISlider:GetValue() end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-12-1)
---@param min? number
---@param max? number
---@param step? number
function AceGUISlider:SetSliderValues(min, max, step) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-12-1)
---@param flag boolean
function AceGUISlider:SetIsPercent(flag) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-12-1)
---@param text string
function AceGUISlider:SetLabel(text) end
---[Documentation](https://www.wowace.com/projects/ace3/pages/ace-gui-3-0-widgets#title-2-12-1)
---@param flag boolean
function AceGUISlider:SetDisabled(flag) end
@@ -0,0 +1,152 @@
---@meta _
-- ----------------------------------------------------------------------------
-- AceHook-3.0
-- ----------------------------------------------------------------------------
---@class AceHook-3.0
---@field hooks { [table]: { [string]: function } } | { [string]: function }
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-hook-3-0)
local AceHook = {}
-- ----------------------------------------------------------------------------
-- AceHook-3.0 Methods
-- ----------------------------------------------------------------------------
-- Hook a function or a method on an object.
--
-- The hook created will be a "safe hook", that means that your handler will be called before the hooked function ("Pre-Hook"), and you don't have to call the original function yourself, however you cannot stop the execution of the function, or modify any of the arguments/return values.
--
-- This type of hook is typically used if you need to know if some function got called, and don't want to modify it.
---@param object table The object to hook a method from
---@param method string The name of the object method to hook
---@param handler? function|string The handler for the hook, a funcref or a method name. (Defaults to the name of the hooked function)
---@param hookSecure? boolean If true, AceHook will allow hooking of secure functions.
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-hook-3-0#title-1)
function AceHook:Hook(object, method, handler, hookSecure) end
-- Hook a function or a method on an object.
--
-- The hook created will be a "safe hook", that means that your handler will be called before the hooked function ("Pre-Hook"), and you don't have to call the original function yourself, however you cannot stop the execution of the function, or modify any of the arguments/return values.
--
-- This type of hook is typically used if you need to know if some function got called, and don't want to modify it.
---@param method string The name of the function to hook
---@param handler? function|string The handler for the hook, a funcref or a method name. (Defaults to the name of the hooked function)
---@param hookSecure? boolean If true, AceHook will allow hooking of secure functions.
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-hook-3-0#title-1)
function AceHook:Hook(method, handler, hookSecure) end
-- Hook a script handler on a frame.
--
-- The hook created will be a "safe hook", that means that your handler will be called before the hooked script ("Pre-Hook"), and you don't have to call the original function yourself, however you cannot stop the execution of the function, or modify any of the arguments/return values.
--
-- This is the frame script equivalent of the :Hook safe-hook. It would typically be used to be notified when a certain event happens to a frame.
---@param frame Frame The Frame to hook the script on
---@param script ScriptFrame The script to hook
---@param handler? function|string The handler for the hook, a funcref or a method name. (Defaults to the name of the hooked script)
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-hook-3-0#title-2)
function AceHook:HookScript(frame, script, handler) end
-- Check if the specific function, method or script is already hooked.
---@param obj table The object or frame to unhook from
---@param method string The name of the method, function or script to unhook from.
---@return boolean isHooked
---@return function|nil hookedFunction
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-hook-3-0#title-3)
function AceHook:IsHooked(obj, method) end
-- Check if the specific function, method or script is already hooked.
---@param method string The name of the method, function or script to unhook from.
---@return boolean isHooked
---@return function|nil hookedFunction
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-hook-3-0#title-3)
function AceHook:IsHooked(method) end
-- RawHook a function or a method on an object.
--
-- The hook created will be a "raw hook", that means that your handler will completly replace the original function, and your handler has to call the original function (or not, depending on your intentions).
--
-- The original function will be stored in `self.hooks[object][method]` or `self.hooks[functionName]` respectively.
--
-- This type of hook can be used for all purposes, and is usually the most common case when you need to modify arguments or want to control execution of the original function.
---@param object table The object to hook a method from
---@param method string The name of the object method to hook
---@param handler? function|string The handler for the hook, a funcref or a method name. (Defaults to the name of the hooked function)
---@param hookSecure? boolean If true, AceHook will allow hooking of secure functions.
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-hook-3-0#title-4)
function AceHook:RawHook(object, method, handler, hookSecure) end
-- RawHook a function or a method on an object.
--
-- The hook created will be a "raw hook", that means that your handler will completly replace the original function, and your handler has to call the original function (or not, depending on your intentions).
--
-- The original function will be stored in `self.hooks[object][method]` or `self.hooks[functionName]` respectively.
--
-- This type of hook can be used for all purposes, and is usually the most common case when you need to modify arguments or want to control execution of the original function.
---@param method string The name of the function to hook
---@param handler? function|string The handler for the hook, a funcref or a method name. (Defaults to the name of the hooked function)
---@param hookSecure? boolean If true, AceHook will allow hooking of secure functions.
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-hook-3-0#title-4)
function AceHook:RawHook(method, handler, hookSecure) end
-- RawHook a script handler on a frame.
--
-- The hook created will be a "raw hook", that means that your handler will completly replace the original script, and your handler has to call the original script (or not, depending on your intentions).
--
-- The original script will be stored in `self.hooks[frame][script]`.
--
-- This type of hook can be used for all purposes, and is usually the most common case when you need to modify arguments or want to control execution of the original script.
---@param frame Frame The Frame to hook the script on
---@param script ScriptFrame The script to hook
---@param handler? function|string The handler for the hook, a funcref or a method name. (Defaults to the name of the hooked script)
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-hook-3-0#title-5)
function AceHook:RawHookScript(frame, script, handler) end
-- SecureHook a function or a method on an object.
--
-- This function is a wrapper around the `hooksecurefunc` function in the WoW API. Using AceHook extends the functionality of secure hooks, and adds the ability to unhook once the hook isn't required anymore, or the addon is being disabled.
--
-- Secure Hooks should be used if the secure-status of the function is vital to its function, and taint would block execution. Secure Hooks are always called after the original function was called ("Post Hook"), and you cannot modify the arguments, return values or control the execution.
---@param object table The object to hook a method from
---@param method string The name of the object method to hook
---@param handler? function|string The handler for the hook, a funcref or a method name. (Defaults to the name of the hooked function)
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-hook-3-0#title-6)
function AceHook:SecureHook(object, method, handler) end
-- SecureHook a function or a method on an object.
--
-- This function is a wrapper around the `hooksecurefunc` function in the WoW API. Using AceHook extends the functionality of secure hooks, and adds the ability to unhook once the hook isn't required anymore, or the addon is being disabled.
--
-- Secure Hooks should be used if the secure-status of the function is vital to its function, and taint would block execution. Secure Hooks are always called after the original function was called ("Post Hook"), and you cannot modify the arguments, return values or control the execution.
---@param method string The name of the function to hook
---@param handler? function|string The handler for the hook, a funcref or a method name. (Defaults to the name of the hooked function)
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-hook-3-0#title-6)
function AceHook:SecureHook(method, handler) end
-- SecureHook a script handler on a frame.
--
-- This function is a wrapper around the `frame:HookScript` function in the WoW API. Using AceHook extends the functionality of secure hooks, and adds the ability to unhook once the hook isn't required anymore, or the addon is being disabled.
--
-- Secure Hooks should be used if the secure-status of the function is vital to its function, and taint would block execution. Secure Hooks are always called after the original function was called ("Post Hook"), and you cannot modify the arguments, return values or control the execution.
---@param frame Frame The Frame to hook the script on
---@param script ScriptFrame The script to hook
---@param handler? function|string The handler for the hook, a funcref or a method name. (Defaults to the name of the hooked script)
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-hook-3-0#title-7)
function AceHook:SecureHookScript(frame, script, handler) end
-- Unhook from the specified function, method or script.
---@param obj table The object or frame to unhook from
---@param method string The name of the method, function or script to unhook from.
---@return boolean success Whether or not the operation was successful
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-hook-3-0#title-8)
function AceHook:Unhook(obj, method) end
-- Unhook from the specified function, method or script.
---@param method string The name of the method, function or script to unhook from.
---@return boolean success Whether or not the operation was successful
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-hook-3-0#title-8)
function AceHook:Unhook(method) end
-- Unhook all existing hooks for this addon.
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-hook-3-0#title-9)
function AceHook:UnhookAll() end
@@ -0,0 +1,32 @@
---@meta _
---@class AceLocale-3.0
local AceLocale = {}
---@param application string Unique name of addon / module
---@param silent? boolean If true, the locale is optional, silently return nil if it's not found (defaults to false, optional)
---@return table<string, string> locale The locale table for the current language.
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-locale-3-0#title-1)
function AceLocale:GetLocale(application, silent) end
---@paramsig application, locale[, isDefault[, silent]]
---@param application string Unique name of addon / module
---@param locale AceLocale.LocaleCode Name of the locale to register, e.g. "enUS", "deDE", etc.
---@param isDefault? boolean If this is the default locale being registered. Your addon is written in this language, generally enUS, set this to true (defaults to false)
---@param silent? boolean If true, the locale will not issue warnings for missing keys. Must be `true` on the first locale registered. If set to "raw", nils will be returned for unknown keys (no metatable used).
---@return table<string, boolean|string>? locale Locale Table to add localizations to, or nil if the current locale is not required.
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-locale-3-0#title-2)
function AceLocale:NewLocale(application, locale, isDefault, silent) end
---@alias AceLocale.LocaleCode
---|"deDE": German (Germany)
---|"enGB": English (Great Britain)
---|"enUS": English (America)
---|"esES": Spanish (Spain)
---|"esMX": Spanish (Mexico)
---|"frFR": French (France)
---|"itIT": Italian (Italy)
---|"koKR": Korean (Korea)
---|"ptBR": Portuguese (Brazil)
---|"ruRU": Russian (Russia)
---|"zhCN": Simplified Chinese (China)
---|"zhTW": Traditional Chinese (Taiwan)
@@ -0,0 +1,16 @@
---@meta _
---@class AceSerializer-3.0
local AceSerializer = {}
---@param str string The serialized data (from :Serialize)
---@return boolean -- true followed by a list of values, OR false followed by an error message
---@return ... -- List of values or error message
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-serializer-3-0#title-1)
function AceSerializer:Deserialize(str)end
---@param ... any List of values to serialize
---@return string -- The data in its serialized form (string)
--- ---
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-serializer-3-0#title-2)
function AceSerializer:Serialize(...) end
@@ -0,0 +1,35 @@
---@meta _
-- ----------------------------------------------------------------------------
-- AceTab-3.0
-- ----------------------------------------------------------------------------
---@class AceTab-3.0
local AceTab = {}
-- stylua: ignore start
-- Registers a tab completion set with AceTab
---@param descriptor string Unique identifier for this tab completion set
---@param prematches string|table|nil String match(es) AFTER which this tab completion will apply.<br>AceTab will ignore tabs NOT preceded by the string(s).<br>If no value is passed, will check all tabs pressed in the specified editframe(s) UNLESS a more-specific tab complete applies.
---@param wordlist function|table Function that will be passed a table into which it will insert strings corresponding to all possible completions, or an equivalent table.<br>The text in the editbox, the position of the start of the word to be completed, and the uncompleted partial word are passed as second, third, and fourth arguments, to facilitate pre-filtering or conditional formatting, if desired.
---@param usagefunc function|boolean|nil Usage statement function. Defaults to the wordlist, one per line. A boolean true squelches usage output.
---@param listenframes string|EditBox|nil EditFrames to monitor. Defaults to ChatFrameEditBox.
---@param postfunc function|nil Post-processing function. If supplied, matches will be passed through this function after they've been identified as a match.
---@param pmoverwrite boolean|number|nil Offset the beginning of the completion string in the editbox when making a completion.<br>Passing a boolean true indicates that we want to overwrite the entire prematch string, and passing a number will overwrite that many characters prior to the cursor.<br>This is useful when you want to use the prematch as an indicator character, but ultimately do not want it as part of the text, itself.
function AceTab:RegisterTabCompletion(descriptor, prematches, wordlist, usagefunc, listenframes, postfunc, pmoverwrite) end
-- stylua: ignore end
-- Returns whether or not a tab completion set is registered.
---@param descriptor string Unique identifier for this tab completion set
---@return boolean
function AceTab:IsTabCompletionRegistered(descriptor) end
-- Unregisters a tab completion set from AceTab
---@param descriptor string Unique identifier for this tab completion set
function AceTab:UnregisterTabCompletion(descriptor) end
-- AceTab internal OnTabPressed script hook
---@param editBox EditBox The editbox to operate on
function AceTab:OnTabPressed(editBox) end
@@ -0,0 +1,37 @@
---@meta _
---@class AceTimerObj
---@field object table The object that the timer is registered on (self)
---@field func function Callback function
---@field looping boolean If true, the timer will loop
---@field argsCount number number of arguments to pass to the callback function
---@field delay number delay in seconds
---@field ends number GetTime() + delay,
---@class AceTimer-3.0
local AceTimer = {}
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-timer-3-0#title-1)
function AceTimer:CancelAllTimers() end
---@param id AceTimerObj The id of the timer, as returned by `:ScheduleTimer` or `:ScheduleRepeatingTimer`
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-timer-3-0#title-2)
function AceTimer:CancelTimer(id) end
---@param func function|string Callback function for the timer pulse (funcref or method name).
---@param delay number Delay for the timer, in seconds.
---@param ... any An optional, unlimited amount of arguments to pass to the callback function.
---@return AceTimerObj
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-timer-3-0#title-3)
function AceTimer:ScheduleRepeatingTimer(func, delay, ...) end
---@param func function|string callback Callback function for the timer pulse (funcref or method name).
---@param delay number Delay for the timer, in seconds.
---@param ... any An optional, unlimited amount of arguments to pass to the callback function.
---@return AceTimerObj
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-timer-3-0#title-4)
function AceTimer:ScheduleTimer(func, delay, ...) end
---@param id AceTimerObj The id of the timer, as returned by `:ScheduleTimer` or `:ScheduleRepeatingTimer`
---@return number -- The time left on the timer.
---[Documentation](https://www.wowace.com/projects/ace3/pages/api/ace-timer-3-0#title-5)
function AceTimer:TimeLeft(id) end