@blizzard-api/wow
Version:
A series of helpers to interact with the World of Warcraft Blizzard API
86 lines (85 loc) • 2.81 kB
TypeScript
import { Character, Href, NameIdKey, Resource, ResponseBase } from "@blizzard-api/core";
//#region src/character-encounters/types.d.ts
interface CharacterDungeonsResponse extends ResponseBase {
expansions: Array<ExpansionWithDungeonInstances>;
}
interface CharacterEncountersSummaryResponse extends ResponseBase {
character: Character;
dungeons: Href;
raids: Href;
}
interface CharacterRaidsResponse extends ResponseBase {
character: Character;
expansions: Array<ExpansionWithRaidInstances>;
}
interface DungeonDifficulties {
name?: string;
type?: 'HEROIC' | 'MYTHIC' | 'MYTHIC_KEYSTONE' | 'NORMAL';
}
interface DungeonInstance {
instance: NameIdKey;
modes: Array<DungeonMode>;
}
interface DungeonMode {
difficulty: DungeonDifficulties;
progress: Progress;
status: Status;
}
interface Encounter {
completed_count: number;
encounter: NameIdKey;
last_kill_timestamp: number;
}
interface ExpansionWithDungeonInstances {
expansion: NameIdKey;
instances: Array<DungeonInstance>;
}
interface ExpansionWithRaidInstances {
expansion: NameIdKey;
instances: Array<RaidInstance>;
}
interface Progress {
completed_count: number;
encounters: Array<Encounter>;
total_count: number;
}
interface RaidDifficulties {
name: string;
type: 'HEROIC' | 'LEGACY_10_MAN' | 'LEGACY_10_MAN_HEROIC' | 'LEGACY_25_MAN' | 'LEGACY_25_MAN_HEROIC' | 'LFR' | 'MYTHIC' | 'NORMAL';
}
interface RaidInstance {
instance: NameIdKey;
modes: Array<RaidMode>;
}
interface RaidMode {
difficulty: RaidDifficulties;
progress: Progress;
status: Status;
}
interface Status {
name: string;
type: 'COMPLETE' | 'IN_PROGRESS';
}
//#endregion
//#region src/character-encounters/index.d.ts
/**
* @param realmSlug The slug of the realm.
* @param characterName The lowercase name of the character.
* @returns a summary of a character's completed dungeons.
*/
declare function characterDungeons(realmSlug: string, characterName: string): Resource<CharacterDungeonsResponse>;
/**
* @param realmSlug The slug of the realm.
* @param characterName The lowercase name of the character.
* @returns a summary of a character's encounters.
*/
declare function characterEncountersSummary(realmSlug: string, characterName: string): Resource<CharacterEncountersSummaryResponse>;
/**
* @param realmSlug The slug of the realm.
* @param characterName The lowercase name of the character.
* @returns a summary of a character's completed raids.
*/
declare function characterRaids(realmSlug: string, characterName: string): Resource<CharacterRaidsResponse>;
//#endregion
export { CharacterEncountersSummaryResponse as a, CharacterDungeonsResponse as i, characterEncountersSummary as n, CharacterRaidsResponse as o, characterRaids as r, characterDungeons as t };
//# sourceMappingURL=index-C95i4KEl.d.ts.map