---@meta
---
--- C_ActionBar is a namespace for functions related to the action bar system.
---
--- @class C_ActionBar
C_ActionBar = {
	--- @param actionID number
	--- @return boolean
	--- Returns whether the action can be used.
	CanUseAction = function(actionID) end,

	--- @param actionID number
	--- @return boolean
	--- Returns whether the action is currently being used.
	IsCurrentAction = function(actionID) end,

	--- @param actionID number
	--- @return boolean
	--- Returns whether the action is enabled.
	IsEnabled = function(actionID) end,

	--- @param actionID number
	--- @return boolean
	--- Returns whether the action is equipped.
	IsEquippedAction = function(actionID) end,

	--- @param actionID number
	--- @return boolean
	--- Returns whether the action is harmful.
	IsHarmfulAction = function(actionID) end,

	--- @param actionID number
	--- @return boolean
	--- Returns whether the action is helpful.
	IsHelpfulAction = function(actionID) end,

	--- @param actionID number
	--- @return boolean
	--- Returns whether the action is in range.
	IsInRange = function(actionID) end,

	--- @param actionID number
	--- @return boolean
	--- Returns whether the action is on cooldown.
	IsOnCooldown = function(actionID) end,

	--- @param actionID number
	--- @return boolean
	--- Returns whether the action is usable.
	IsUsableAction = function(actionID) end,

	--- @param actionID number
	--- @return nil
	--- Uses the specified action.
	UseAction = function(actionID) end,

	--- @param actionID number
	--- @return number
	--- Returns the cooldown information for the action.
	GetActionCooldown = function(actionID) end,

	--- @param actionID number
	--- @return string
	--- Returns the texture for the action.
	GetActionTexture = function(actionID) end,

	--- @param actionID number
	--- @return string
	--- Returns the tooltip text for the action.
	GetActionText = function(actionID) end,

	--- @param actionID number
	--- @return number
	--- Returns the type of the action.
	GetActionType = function(actionID) end,

	--- @param actionID number
	--- @return number
	--- Returns the count of items for the action.
	GetActionCount = function(actionID) end,

	--- @param actionID number
	--- @return number
	--- Returns the charges for the action.
	GetActionCharges = function(actionID) end,

	--- @param actionID number
	--- @return number
	--- Returns the maximum charges for the action.
	GetActionMaxCharges = function(actionID) end,

	--- @param actionID number
	--- @return number
	--- Returns the start time of the action cooldown.
	GetActionStartTime = function(actionID) end,

	--- @param actionID number
	--- @return number
	--- Returns the duration of the action cooldown.
	GetActionDuration = function(actionID) end,

	--- @param actionID number
	--- @return boolean
	--- Returns whether the action is currently active.
	IsActionActive = function(actionID) end,

	--- @param actionID number
	--- @return boolean
	--- Returns whether the action is currently being cast.
	IsActionBeingCast = function(actionID) end,

	--- @param actionID number
	--- @return boolean
	--- Returns whether the action is currently being channeled.
	IsActionBeingChanneled = function(actionID) end,

	--- @param actionID number
	--- @return boolean
	--- Returns whether the action is currently being used.
	IsActionBeingUsed = function(actionID) end,

	--- @param actionID number
	--- @return boolean
	--- Returns whether the action is currently being queued.
	IsActionQueued = function(actionID) end,

	--- @param actionID number
	--- @return boolean
	--- Returns whether the action is currently being queued for auto-cast.
	IsActionQueuedForAutoCast = function(actionID) end,

	--- @param actionID number
	--- @return boolean
	--- Returns whether the action is currently being queued for auto-cast on all targets.
	IsActionQueuedForAutoCastOnAllTargets = function(actionID) end,

	--- @param actionID number
	--- @return boolean
	--- Returns whether the action is currently being queued for auto-cast on the current target.
	IsActionQueuedForAutoCastOnCurrentTarget = function(actionID) end,

	--- @param actionID number
	--- @return boolean
	--- Returns whether the action is currently being queued for auto-cast on the focus target.
	IsActionQueuedForAutoCastOnFocusTarget = function(actionID) end,

	--- @param actionID number
	--- @return boolean
	--- Returns whether the action is currently being queued for auto-cast on the mouseover target.
	IsActionQueuedForAutoCastOnMouseoverTarget = function(actionID) end,

	--- @param actionID number
	--- @return boolean
	--- Returns whether the action is currently being queued for auto-cast on the player.
	IsActionQueuedForAutoCastOnPlayer = function(actionID) end,

	--- @param actionID number
	--- @return boolean
	--- Returns whether the action is currently being queued for auto-cast on the target.
	IsActionQueuedForAutoCastOnTarget = function(actionID) end,
}
