---@meta

---@class Slider : Frame
Slider = {
	--- Disables the slider.
	--- @example
	--- mySlider:Disable()
	Disable = function(self) end,

	--- Enables the slider.
	--- @example
	--- mySlider:Enable()
	Enable = function(self) end,

	--- Gets the minimum and maximum values.
	--- @return number min, number max The minimum and maximum values.
	--- @example
	--- local min, max = mySlider:GetMinMaxValues()
	GetMinMaxValues = function(self) end,

	--- Gets the orientation of the slider.
	--- @return string orientation The orientation ("HORIZONTAL" or "VERTICAL").
	--- @example
	--- local orientation = mySlider:GetOrientation()
	GetOrientation = function(self) end,

	--- Gets the page step size.
	--- @return number stepSize The page step size.
	--- @example
	--- local stepSize = mySlider:GetStepsPerPage()
	GetStepsPerPage = function(self) end,

	--- Gets the thumb texture.
	--- @return Texture texture The thumb texture.
	--- @example
	--- local texture = mySlider:GetThumbTexture()
	GetThumbTexture = function(self) end,

	--- Gets the current value.
	--- @return number value The current value.
	--- @example
	--- local value = mySlider:GetValue()
	GetValue = function(self) end,

	--- Gets the value step size.
	--- @return number stepSize The value step size.
	--- @example
	--- local stepSize = mySlider:GetValueStep()
	GetValueStep = function(self) end,

	--- Returns whether the slider is enabled.
	--- @return boolean enabled True if the slider is enabled.
	--- @example
	--- local enabled = mySlider:IsEnabled()
	IsEnabled = function(self) end,

	--- Sets the minimum and maximum values.
	--- @param min number The minimum value.
	--- @param max number The maximum value.
	--- @example
	--- mySlider:SetMinMaxValues(0, 100)
	SetMinMaxValues = function(self, min, max) end,

	--- Sets the orientation of the slider.
	--- @param orientation string The orientation ("HORIZONTAL" or "VERTICAL").
	--- @example
	--- mySlider:SetOrientation("HORIZONTAL")
	SetOrientation = function(self, orientation) end,

	--- Sets the page step size.
	--- @param stepSize number The page step size.
	--- @example
	--- mySlider:SetStepsPerPage(10)
	SetStepsPerPage = function(self, stepSize) end,

	--- Sets the thumb texture.
	--- @param texture Texture|string The texture or texture path.
	--- @example
	--- mySlider:SetThumbTexture("Interface\\Buttons\\UI-SliderBar-Button-Horizontal")
	SetThumbTexture = function(self, texture) end,

	--- Sets the current value.
	--- @param value number The value to set.
	--- @example
	--- mySlider:SetValue(50)
	SetValue = function(self, value) end,

	--- Sets the value step size.
	--- @param stepSize number The value step size.
	--- @example
	--- mySlider:SetValueStep(5)
	SetValueStep = function(self, stepSize) end,
}
