---@meta

---@class TabardModel : PlayerModel
TabardModel = {
	--- Checks if the tabard can be saved.
	--- @return boolean canSave Whether the tabard can be saved.
	--- @example
	--- local canSave = myTabardModel:CanSaveTabardNow()
	CanSaveTabardNow = function(self) end,

	--- Cycles through the variations of a tabard component.
	--- @param variationIndex number The index of the variation to cycle.
	--- @param delta number The amount to cycle by.
	--- @example
	--- myTabardModel:CycleVariation(1, 1)
	CycleVariation = function(self, variationIndex, delta) end,

	--- Gets the filename for the lower background texture.
	--- @return string filename The filename.
	--- @example
	--- local filename = myTabardModel:GetLowerBackgroundFileName()
	GetLowerBackgroundFileName = function(self) end,

	--- Gets the filename for the lower emblem texture.
	--- @return string filename The filename.
	--- @example
	--- local filename = myTabardModel:GetLowerEmblemFileName()
	GetLowerEmblemFileName = function(self) end,

	--- Gets the lower emblem texture.
	--- @param textureName string The name of the texture.
	--- @return Texture texture The texture object.
	--- @example
	--- local texture = myTabardModel:GetLowerEmblemTexture("BACKGROUND")
	GetLowerEmblemTexture = function(self, textureName) end,

	--- Gets the filename for the upper background texture.
	--- @return string filename The filename.
	--- @example
	--- local filename = myTabardModel:GetUpperBackgroundFileName()
	GetUpperBackgroundFileName = function(self) end,

	--- Gets the filename for the upper emblem texture.
	--- @return string filename The filename.
	--- @example
	--- local filename = myTabardModel:GetUpperEmblemFileName()
	GetUpperEmblemFileName = function(self) end,

	--- Gets the upper emblem texture.
	--- @param textureName string The name of the texture.
	--- @return Texture texture The texture object.
	--- @example
	--- local texture = myTabardModel:GetUpperEmblemTexture("BACKGROUND")
	GetUpperEmblemTexture = function(self, textureName) end,

	--- Initializes the tabard colors.
	--- @example
	--- myTabardModel:InitializeTabardColors()
	InitializeTabardColors = function(self) end,

	--- Saves the current tabard design.
	--- @example
	--- myTabardModel:Save()
	Save = function(self) end,
}
