---@meta

---[Source](https://github.com/WeakAuras/WeakAuras2/wiki/Trigger-State-Updater-%28TSU%29)
---@class state
---@field changed boolean Informs WeakAuras that the states values have changed. Always set this to true for states that were changed.
---@field show boolean Controls whether the display is visible. Note, that states that have show set to false are automatically removed.
---@field name string The name, returned by %n
---@field icon number|string IconID or TexturePath, used in icons and progress bars
---@field texture number|string IconID or TexturePath, used in textures
---@field stacks number The stack count, returned by %s
---@field index number|string Sets the order the output will display in a dynamic group (if sorting is set to "none" on the group). Strings or numbers are fine but DO NOT MIX TYPES!
---@field progressType string "timed" or "static"
---@field expirationTime number Use with "timed" progressType; relative to GetTime()
---@field duration number Use with "timed" progressType; total duration of the bar in seconds
---@field value number Use with "static" progressType
---@field maxValue number Use with "static" progressType
---@field autoHide boolean Set to true to make the display automatically hide at the end of the "timed" progress. autoHide can also be used along with the "static" progressType by defining a duration and expirationTime along with the static value and total. While the static values will be displayed, the timed values will set the Hide time for the clone.
---@field paused boolean Set to true (and set a remaining value) to pause a "timed" progress. Set to false (and recalculate the expirationTime value) to resume.
---@field remaining number Only used with paused, gives WA the info needed to show paused progress at the current point.
state = {}

---@alias allstates table<number, state>
