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

//#region src/pvp-tier/types.d.ts
/**
 * The response for a PvP tier index.
 * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
 */
interface PvpTierIndexResponse extends ResponseBase {
  tiers: Array<NullishNameIdKey>;
}
/**
 * The response for a PvP tier media.
 * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
 */
interface PvpTierMediaResponse extends ResponseBase {
  assets: Array<MediaAsset>;
  id: number;
}
/**
 * The response for a PvP tier.
 * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
 */
interface PvpTierResponse extends ResponseBase {
  bracket: Bracket;
  id: number;
  max_rating: number;
  media: Media;
  min_rating: number;
  name: null | string;
  rating_type: number;
}
interface Bracket {
  id: number;
  type: string;
}
interface Media extends KeyBase {
  id: number;
}
//#endregion
//#region src/pvp-tier/index.d.ts
/**
 * Get a PvP tier by ID.
 * @param pvpTierId The PvP tier ID.
 * @returns The PvP tier. See {@link PvpTierResponse}.
 */
declare function pvpTier(pvpTierId: number): Resource<PvpTierResponse>;
/**
 * Get a PvP tier index.
 * @returns The PvP tier index. See {@link PvpTierIndexResponse}.
 */
declare function pvpTierIndex(): Resource<PvpTierIndexResponse>;
/**
 * Get PvP tier media by ID.
 * @param pvpTierId The PvP tier ID.
 * @returns The PvP tier media. See {@link PvpTierMediaResponse}.
 */
declare function pvpTierMedia(pvpTierId: number): Resource<PvpTierMediaResponse>;
//#endregion
export { PvpTierMediaResponse as a, PvpTierIndexResponse as i, pvpTierIndex as n, PvpTierResponse as o, pvpTierMedia as r, pvpTier as t };
//# sourceMappingURL=index-C-__dzSH2.d.ts.map