@blizzard-api/wow
Version:
A series of helpers to interact with the World of Warcraft Blizzard API
123 lines (122 loc) • 3.85 kB
TypeScript
import { Faction, Href, KeyBase, NameId, NameIdKey, NonNeutralFactions, Resource, ResponseBase } from "@blizzard-api/core";
//#region src/pvp-season/types.d.ts
/**
* The response for a PvP leaderboard index.
* @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
*/
interface PvpLeaderboardIndexResponse extends ResponseBase {
leaderboards: Array<KeyBase & {
id?: number;
name: string;
}>;
season: Season;
}
/**
* The response for a PvP leaderboard.
* @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
*/
interface PvpLeaderboardResponse extends ResponseBase {
bracket: Bracket;
entries: Array<Entry>;
name: string;
season: Season;
}
/**
* The response for PvP rewards index.
* @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
*/
interface PvpRewardsIndexResponse extends ResponseBase {
rewards: Array<Reward>;
season: Season;
}
/**
* 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_end_timestamp?: number;
season_name?: null | string;
season_start_timestamp: number;
}
interface Bracket {
id: number;
type: 'ARENA_3v3' | 'BATTLEGROUNDS' | 'BLITZ' | 'SHUFFLE';
}
interface Character$1 extends NameId {
realm: Realm$1;
}
interface Entry {
character: Character$1;
faction: {
type: NonNeutralFactions;
};
rank: number;
rating: number;
season_match_statistics: SeasonMatchStatistics;
tier: Season;
}
interface Realm$1 extends KeyBase {
id: number;
slug: string;
}
interface Reward {
achievement: NameIdKey;
bracket: Bracket;
faction?: Faction;
rating_cutoff: number;
specialization?: NameIdKey;
}
interface Season extends KeyBase {
id: number;
}
interface SeasonMatchStatistics {
lost: number;
played: number;
won: number;
}
//#endregion
//#region src/pvp-season/index.d.ts
/**
* Get a PvP leaderboard by PvP season ID and bracket.
* @param pvpSeasonId The PvP season ID.
* @param bracket The PvP bracket.
* @returns The PvP leaderboard. See {@link PvpLeaderboardResponse}.
*/
declare function pvpLeaderboard(pvpSeasonId: number, bracket: string): Resource<PvpLeaderboardResponse>;
/**
* Get a PvP leaderboard index by PvP season ID.
* @param pvpSeasonId The PvP season ID.
* @returns The PvP leaderboard index. See {@link PvpLeaderboardIndexResponse}.
*/
declare function pvpLeaderboardIndex(pvpSeasonId: number): Resource<PvpLeaderboardIndexResponse>;
/**
* Get a PvP reward index by PvP season ID.
* @param pvpSeasonId The PvP season ID.
* @returns The PvP reward index. See {@link PvpRewardsIndexResponse}.
*/
declare function pvpRewardsIndex(pvpSeasonId: number): Resource<PvpRewardsIndexResponse>;
/**
* Get a PvP season by ID.
* @param pvpSeasonId The PvP season ID.
* @returns The PvP season. See {@link PvpSeasonResponse}.
*/
declare function pvpSeason(pvpSeasonId: number): Resource<PvpSeasonResponse>;
/**
* Get a PvP season index.
* @returns The PvP season index. See {@link PvpSeasonIndexResponse}.
*/
declare function pvpSeasonIndex(): Resource<PvpSeasonIndexResponse>;
//#endregion
export { pvpSeasonIndex as a, PvpRewardsIndexResponse as c, pvpSeason as i, PvpSeasonIndexResponse as l, pvpLeaderboardIndex as n, PvpLeaderboardIndexResponse as o, pvpRewardsIndex as r, PvpLeaderboardResponse as s, pvpLeaderboard as t, PvpSeasonResponse as u };
//# sourceMappingURL=index-BVs6hQne2.d.ts.map