@blizzard-api/wow
Version:
A series of helpers to interact with the World of Warcraft Blizzard API
77 lines (76 loc) • 2.86 kB
TypeScript
import { GenderName, KeyBase, MediaAsset, NameId, NameIdKey, NullishNameIdKey, Resource, ResponseBase } from "@blizzard-api/core";
//#region src/playable-specialization/types.d.ts
/**
* The response for a playable specialization index.
* @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
*/
interface PlayableSpecializationIndexResponse extends ResponseBase {
character_specializations: Array<NameIdKey>;
pet_specializations: Array<NameIdKey>;
}
/**
* The response for a playable specialization media.
* @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
*/
interface PlayableSpecializationMediaResponse extends ResponseBase {
assets: Array<MediaAsset>;
id: number;
}
/**
* The response for a playable specialization.
* @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis}
*/
interface PlayableSpecializationResponse extends NameId, ResponseBase {
gender_description: GenderName;
hero_talent_trees: Array<NullishNameIdKey>;
media: Media;
playable_class: NameIdKey;
power_type: NameIdKey;
primary_stat_type: PrimaryStatType;
pvp_talents: Array<PvpTalent>;
role: PrimaryStatType;
spec_talent_tree: SpecTalentTree;
}
interface Media extends KeyBase {
id: number;
}
interface PrimaryStatType {
name: string;
type: string;
}
interface PvpTalent {
spell_tooltip: SpellTooltip;
talent: NameIdKey;
}
interface SpecTalentTree extends KeyBase {
name: string;
}
interface SpellTooltip {
cast_time: string;
cooldown?: string;
description: string;
power_cost?: null | string;
range?: string;
}
//#endregion
//#region src/playable-specialization/index.d.ts
/**
* Get a playable specialization by ID.
* @param specializationId The playable specialization ID.
* @returns The playable specialization. See {@link PlayableSpecializationResponse}.
*/
declare function playableSpecialization(specializationId: number): Resource<PlayableSpecializationResponse>;
/**
* Get a playable specialization index.
* @returns The playable specialization index. See {@link PlayableSpecializationIndexResponse}.
*/
declare function playableSpecializationIndex(): Resource<PlayableSpecializationIndexResponse>;
/**
* Get a playable specialization media by ID.
* @param specializationId The playable specialization ID.
* @returns The playable specialization media. See {@link PlayableSpecializationMediaResponse}.
*/
declare function playableSpecializationMedia(specializationId: number): Resource<PlayableSpecializationMediaResponse>;
//#endregion
export { PlayableSpecializationMediaResponse as a, PlayableSpecializationIndexResponse as i, playableSpecializationIndex as n, PlayableSpecializationResponse as o, playableSpecializationMedia as r, playableSpecialization as t };
//# sourceMappingURL=index-BHkqRbxC2.d.ts.map