import { Resource, ResponseBase } from "@blizzard-api/core";

//#region src/auction-house/types.d.ts
/**
 * Interface for a response from the auction house commodities endpoint.
 * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
 */
interface AuctionHouseCommoditiesResponse extends ResponseBase {
  auctions: Array<AuctionHouseCommodity>;
}
/**
 * Interface for a response from the auction house endpoint.
 * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
 */
interface AuctionHouseResponse extends ResponseBase {
  auctions: Array<AuctionHousePosting>;
  commodities: {
    href: string;
  };
  connected_realm: {
    href: string;
  };
}
interface AuctionHouseCommodity {
  id: number;
  item: {
    id: number;
  };
  quantity: number;
  time_left: AuctionHouseTimeLeft;
  unit_price: number;
}
interface AuctionHousePosting {
  bid?: number;
  buyout?: number;
  id: number;
  item: {
    bonus_lists?: Array<number>;
    context?: number;
    id: number;
    modifiers?: Array<{
      type: number;
      value: number;
    }>;
    pet_breed_id?: number;
    pet_level?: number;
    pet_quality_id?: number;
    pet_species_id?: number;
  };
  quantity: number;
  time_left: AuctionHouseTimeLeft;
}
type AuctionHouseTimeLeft = 'LONG' | 'MEDIUM' | 'SHORT' | 'VERY_LONG';
//#endregion
//#region src/auction-house/index.d.ts
/**
 * Get auction house data for a connected realm.
 * @param connectedRealmId The ID of the connected realm.
 * @returns The auction house data. See {@link AuctionHouseResponse}.
 */
declare function auctions(connectedRealmId: number): Resource<AuctionHouseResponse>;
/**
 * Get auction house data for all connected realms.
 * @returns The auction house data. See {@link AuctionHouseResponse}.
 */
declare function commodities(): Resource<AuctionHouseCommoditiesResponse>;
//#endregion
export { AuctionHouseResponse as i, commodities as n, AuctionHouseCommoditiesResponse as r, auctions as t };
//# sourceMappingURL=index-D95DK7_R.d.ts.map