---@meta
---
--- C_MountJournal is a namespace for functions related to the mount journal.
---
--- @class C_MountJournal
C_MountJournal = {
	--- @return number
	--- Returns the number of mounts needing fanfare.
	GetNumMountsNeedingFanfare = function() end,

	--- @return number
	--- Returns the number of mounts listed in the mount journal.
	GetNumMounts = function() end,

	--- @return number
	--- Returns the number of (filtered) mounts shown in the mount journal.
	GetNumDisplayedMounts = function() end,

	--- @param mountID number
	--- @return boolean
	--- Returns true if fanfare is needed for the specified mount.
	NeedsFanfare = function(mountID) end,

	--- @param filterIndex number
	--- @return boolean
	--- Returns true if the source filter is valid.
	IsSourceChecked = function(filterIndex) end,

	--- @param filterIndex number
	--- @return boolean
	--- Returns true if the type filter is valid.
	IsTypeChecked = function(filterIndex) end,

	--- @return boolean
	--- Returns true if default filters are being used.
	IsUsingDefaultFilters = function() end,

	--- @param filterIndex number
	--- @return boolean
	--- Returns true if the specified source filter is valid.
	IsValidSourceFilter = function(filterIndex) end,

	--- @param filterIndex number
	--- @return boolean
	--- Returns true if the specified type filter is valid.
	IsValidTypeFilter = function(filterIndex) end,

	--- @return boolean
	--- Returns true if dragonriding is unlocked.
	IsDragonridingUnlocked = function() end,

	--- @param mountID number
	--- @return nil
	--- Clears the fanfare for the specified mount.
	ClearFanfare = function(mountID) end,

	--- @return nil
	--- Clears recent fanfares.
	ClearRecentFanfares = function() end,

	--- @return nil
	--- Dismisses the currently summoned mount.
	Dismiss = function() end,

	--- @param mountID number
	--- @return table
	--- Returns all creature display IDs for the given mount ID.
	GetAllCreatureDisplayIDsForMountID = function(mountID) end,

	--- @return table
	--- Returns a list of collected dragonriding mounts.
	GetCollectedDragonridingMounts = function() end,

	--- @param filterIndex number
	--- @return boolean
	--- Indicates whether the specified mount journal filter is enabled.
	GetCollectedFilterSetting = function(filterIndex) end,

	--- @param displayIndex number
	--- @return number
	--- Returns the displayed mount ID for the given index.
	GetDisplayedMountID = function(displayIndex) end,

	--- @param displayIndex number
	--- @return table
	--- Returns information about the specified mount.
	GetDisplayedMountInfo = function(displayIndex) end,

	--- @param mountIndex number
	--- @return table
	--- Returns extra information about the specified mount.
	GetDisplayedMountInfoExtra = function(mountIndex) end,

	--- @return number
	--- Returns the spell ID for the dynamic flight mode.
	GetDynamicFlightModeSpellID = function() end,

	--- @param mountIndex number
	--- @return boolean
	--- Indicates whether the specified mount is marked as a favorite.
	GetIsFavorite = function(mountIndex) end,

	--- @param mountID number
	--- @return table
	--- Returns all creature display info for the given mount ID.
	GetMountAllCreatureDisplayInfoByID = function(mountID) end,

	--- @param itemID number
	--- @return number
	--- Returns the mount associated with the given item.
	GetMountFromItem = function(itemID) end,

	--- @param spellID number
	--- @return number
	--- Returns the mount associated with the given spell.
	GetMountFromSpell = function(spellID) end,

	--- @return table
	--- Returns a list of all mount IDs.
	GetMountIDs = function() end,

	--- @param mountID number
	--- @return table
	--- Returns information about the mount by ID.
	GetMountInfoByID = function(mountID) end,

	--- @param mountID number
	--- @return table
	--- Returns extra information about the mount by ID.
	GetMountInfoExtraByID = function(mountID) end,

	--- @param spellID number
	--- @return string
	--- Returns the mount link for the given spell ID.
	GetMountLink = function(spellID) end,

	--- @param mountID number
	--- @param checkIndoors boolean
	--- @return boolean
	--- Returns if a mount is currently usable by the player.
	GetMountUsabilityByID = function(mountID, checkIndoors) end,

	--- @param displayIndex number
	--- @return nil
	--- Picks up the specified mount onto the cursor.
	Pickup = function(displayIndex) end,

	--- @return nil
	--- Picks up the dynamic flight mode.
	PickupDynamicFlightMode = function() end,

	--- @param isChecked boolean
	--- @return nil
	--- Sets all source filters.
	SetAllSourceFilters = function(isChecked) end,

	--- @param isChecked boolean
	--- @return nil
	--- Sets all type filters.
	SetAllTypeFilters = function(isChecked) end,

	--- @param filterIndex number
	--- @param isChecked boolean
	--- @return nil
	--- Enables or disables the specified mount journal filter.
	SetCollectedFilterSetting = function(filterIndex, isChecked) end,

	--- @return nil
	--- Sets the default filters.
	SetDefaultFilters = function() end,

	--- @param mountIndex number
	--- @param isFavorite boolean
	--- @return nil
	--- Marks or unmarks the specified mount as a favorite.
	SetIsFavorite = function(mountIndex, isFavorite) end,

	--- @param searchValue string
	--- @return nil
	--- Sets the search term for the mount journal.
	SetSearch = function(searchValue) end,

	--- @param filterIndex number
	--- @param isChecked boolean
	--- @return nil
	--- Sets the source filter.
	SetSourceFilter = function(filterIndex, isChecked) end,

	--- @param filterIndex number
	--- @param isChecked boolean
	--- @return nil
	--- Sets the type filter.
	SetTypeFilter = function(filterIndex, isChecked) end,

	--- @param mountID number
	--- @return nil
	--- Summons the specified mount.
	SummonByID = function(mountID) end,

	--- @return nil
	--- Swaps the dynamic flight mode.
	SwapDynamicFlightMode = function() end,
}
