---@meta
---
--- C_AuctionHouse is a namespace for functions related to the auction house system.
---
--- @class C_AuctionHouse
C_AuctionHouse = {
	--- @param itemKey table
	--- @return boolean
	--- Returns whether the item can be posted to the auction house.
	CanPostItem = function(itemKey) end,

	--- @param itemKey table
	--- @return boolean
	--- Returns whether the item can be searched in the auction house.
	CanSearchForItem = function(itemKey) end,

	--- @param itemLocation table
	--- @return boolean
	--- Returns whether the item can be sold in the auction house.
	CanSellItem = function(itemLocation) end,

	--- @param itemID number
	--- @return table
	--- Returns the commodity status of an item.
	GetCommodityStatus = function(itemID) end,

	--- @param itemKey table
	--- @return table
	--- Returns the item key info.
	GetItemKeyInfo = function(itemKey) end,

	--- @param itemKey table
	--- @return table
	--- Returns the item search results.
	GetItemSearchResults = function(itemKey) end,

	--- @return number
	--- Returns the number of owned auctions.
	GetNumOwnedAuctions = function() end,

	--- @param ownedAuctionIndex number
	--- @return table
	--- Returns information about an owned auction.
	GetOwnedAuctionInfo = function(ownedAuctionIndex) end,

	--- @param itemID number
	--- @return table
	--- Returns the price ranges for a commodity.
	GetCommodityPriceRanges = function(itemID) end,

	--- @param itemID number
	--- @return number
	--- Returns the deposit cost for posting a commodity.
	GetCommodityDepositCost = function(itemID) end,

	--- @param auctionID number
	--- @return boolean
	--- Places a bid on an auction.
	PlaceBid = function(auctionID) end,

	--- @param itemID number
	--- @param quantity number
	--- @param unitPrice number
	--- @return boolean
	--- Posts a commodity for sale.
	PostCommodity = function(itemID, quantity, unitPrice) end,

	--- @param itemLocation table
	--- @param duration number
	--- @param quantity number
	--- @param bid number
	--- @param buyout number
	--- @return boolean
	--- Posts an item for sale.
	PostItem = function(itemLocation, duration, quantity, bid, buyout) end,

	--- @param auctionID number
	--- @return boolean
	--- Cancels an auction.
	CancelAuction = function(auctionID) end,

	--- @param itemID number
	--- @param quantity number
	--- @param itemPrice number
	--- @return boolean
	--- Purchases a commodity.
	PurchaseCommodity = function(itemID, quantity, itemPrice) end,

	--- @return boolean
	--- Returns whether the auction house is enabled.
	IsEnabled = function() end,

	--- @return boolean
	--- Returns whether the auction house is open.
	IsOpen = function() end,
}
