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

//#region src/pvp-season/types.d.ts
/**
 * The response for a PvP season index.
 * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
 */
interface PvpSeasonIndexResponse extends ResponseBase {
  current_season: Season;
  seasons: Array<Season>;
}
/**
 * The response for a PvP season.
 * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
 */
interface PvpSeasonResponse extends ResponseBase {
  id: number;
  leaderboards: Href;
  rewards: Href;
  season_name?: null | string;
  season_start_timestamp: number;
}
interface Season extends KeyBase {
  id: number;
}
//#endregion
//#region src/pvp-season/index.d.ts
/**
 * Get a PvP leaderboard by PvP season ID and bracket.
 * @param namespace The namespace to use. See {@link BlizzardNamespaces}.
 * @param pvpRegionId The PvP region ID.
 * @param pvpSeasonId The PvP season ID.
 * @param pvpBracket The PvP bracket.
 * @returns The PvP leaderboard.
 */
declare function pvpLeaderboard(namespace: Extract<BlizzardNamespaces, 'dynamic-classic1x' | 'dynamic-classic'>, pvpRegionId: number, pvpSeasonId: number, pvpBracket: string): Resource<unknown>;
/**
 * Returns an index of PvP leaderboards for a PvP season in a given PvP region.
 * @param namespace The namespace to use. See {@link BlizzardNamespaces}.
 * @param pvpRegionId The PvP region ID.
 * @param pvpSeasonId The PvP season ID.
 * @returns The PvP leaderboard index.
 */
declare function pvpLeaderboardIndex(namespace: Extract<BlizzardNamespaces, 'dynamic-classic1x' | 'dynamic-classic'>, pvpRegionId: number, pvpSeasonId: number): Resource<unknown>;
/**
 * Returns a PvP season by region ID and season ID.
 * @param namespace The namespace to use. See {@link BlizzardNamespaces}.
 * @param pvpRegionId The PvP region ID.
 * @param pvpSeasonId The PvP season ID.
 * @returns The PvP season.
 */
declare function pvpRegionalSeason(namespace: Extract<BlizzardNamespaces, 'dynamic-classic1x' | 'dynamic-classic'>, pvpRegionId: number, pvpSeasonId: number): Resource<unknown>;
/**
 * Returns an index of PvP Seasons in a PvP region.
 * @param namespace The namespace to use. See {@link BlizzardNamespaces}.
 * @param pvpRegionId The PvP region ID.
 * @returns The PvP season index. See {@link PvpSeasonIndexResponse}.
 */
declare function pvpRegionalSeasonIndex(namespace: Extract<BlizzardNamespaces, 'dynamic-classic1x' | 'dynamic-classic'>, pvpRegionId: number): Resource<PvpSeasonIndexResponse>;
/**
 * Returns an index of PvP Regions.
 * @param namespace The namespace to use. See {@link BlizzardNamespaces}.
 * @returns The PvP region index.
 */
declare function pvpRegionIndex(namespace: Extract<BlizzardNamespaces, 'dynamic-classic1x' | 'dynamic-classic'>): Resource<unknown>;
/**
 * Returns an index of PvP rewards for a PvP season in a given PvP region.
 * @param namespace The namespace to use. See {@link BlizzardNamespaces}.
 * @param pvpRegionId The PvP region ID.
 * @param pvpSeasonId The PvP season ID.
 * @returns The PvP reward index.
 */
declare function pvpRewardsIndex(namespace: Extract<BlizzardNamespaces, 'dynamic-classic1x' | 'dynamic-classic'>, pvpRegionId: number, pvpSeasonId: number): Resource<unknown>;
/**
 * Get a PvP season by ID.
 * @param namespace The namespace to use. See {@link BlizzardNamespaces}.
 * @param pvpSeasonId The PvP season ID.
 * @returns The PvP season. See {@link PvpSeasonResponse}.
 */
declare function pvpSeason(namespace: Extract<BlizzardNamespaces, 'dynamic-classic1x' | 'dynamic-classic'>, pvpSeasonId: number): Resource<PvpSeasonResponse>;
/**
 * Get a PvP season index.
 * @param namespace The namespace to use. See {@link BlizzardNamespaces}.
 * @returns The PvP season index. See {@link PvpSeasonIndexResponse}.
 */
declare function pvpSeasonIndex(namespace: Extract<BlizzardNamespaces, 'dynamic-classic1x' | 'dynamic-classic'>): Resource<PvpSeasonIndexResponse>;
//#endregion
export { pvpRegionalSeasonIndex as a, pvpSeasonIndex as c, pvpRegionalSeason as i, PvpSeasonIndexResponse as l, pvpLeaderboardIndex as n, pvpRewardsIndex as o, pvpRegionIndex as r, pvpSeason as s, pvpLeaderboard as t, PvpSeasonResponse as u };
//# sourceMappingURL=index-y_6cJbJi.d.ts.map