UNPKG

@blizzard-api/wow

Version:

A series of helpers to interact with the World of Warcraft Blizzard API

149 lines (148 loc) 4.79 kB
import { Faction, KeyBase, MediaAsset, NameId, NameIdKey, Resource, ResponseBase } from "@blizzard-api/core"; //#region src/achievements/types.d.ts /** * Interface for a response from the achievement category index endpoint. * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis} */ interface AchievementCategoryIndexResponse extends ResponseBase { categories: Array<NameIdKey>; guild_categories: Array<NameIdKey>; root_categories: Array<NameIdKey>; } /** * Interface for a response from the achievement category endpoint. * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis} */ interface AchievementCategoryResponse extends NameId, ResponseBase { achievements: Array<NameIdKey>; aggregates_by_faction: { alliance: { points: number; quantity: number; }; horde: { points: number; quantity: number; }; }; display_order: number; is_guild_category: boolean; parent_category?: NameIdKey; subcategories?: Array<NameIdKey>; } /** * Interface for a response from the achievement index endpoint. * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis} */ interface AchievementIndexResponse extends ResponseBase { achievements: Array<NameIdKey>; } /** * Interface for a response from the achievement media endpoint. * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis} */ interface AchievementMediaResponse extends ResponseBase { assets: Array<MediaAsset>; id: number; } /** * Interface for a response from the achievement endpoint. * @see {@link https://develop.battle.net/documentation/world-of-warcraft/game-data-apis} */ interface AchievementResponse extends NameId, ResponseBase { category: NameIdKey; criteria?: Criteria; description: null | string; display_order: number; guild_reward_items?: Array<NameIdKey>; is_account_wide: boolean; media: KeyBase & { id: number; }; next_achievement?: NameIdKey; points: number; prerequisite_achievement?: NameIdKey; requirements?: { faction: Faction; }; reward_description?: string; reward_item?: NameIdKey; } interface ChildCriteria { achievement?: NameIdKey; amount: number; child_criteria?: Array<ChildCriteria2>; description: null | string; faction?: Faction; id: number; is_gold?: boolean; operator?: Operator; show_progress_bar?: boolean; } interface ChildCriteria2 { achievement?: NameIdKey; amount: number; child_criteria?: Array<ChildCriteria3>; description: null | string; faction?: Faction; id: number; is_gold?: boolean; operator?: Operator; show_progress_bar?: boolean; } interface ChildCriteria3 { achievement?: NameIdKey; amount: number; description: null | string; faction?: Faction; id: number; is_gold?: boolean; operator?: Operator; show_progress_bar?: boolean; } interface Criteria { amount: number; child_criteria?: Array<ChildCriteria>; description: null | string; faction?: Faction; id: number; operator?: Operator; show_progress_bar?: boolean; } interface Operator { name: string; type: 'AND' | 'COMPLETE_AT_LEAST'; } //#endregion //#region src/achievements/index.d.ts /** * Get an achievement by ID. * @param achievementId The achievement ID. * @returns The achievement. See {@link AchievementResponse}. */ declare function achievement(achievementId: number): Resource<AchievementResponse>; /** * Get an achievement category by ID. * @param achievementCategoryId The achievement category ID. * @returns The achievement category. See {@link AchievementCategoryResponse}. */ declare function achievementCategory(achievementCategoryId: number): Resource<AchievementCategoryResponse>; /** * Get an achievement category index. * @returns The achievement category index. See {@link AchievementCategoryIndexResponse}. */ declare function achievementCategoryIndex(): Resource<AchievementCategoryIndexResponse>; /** * Get an achievement index. * @returns The achievement index. See {@link AchievementIndexResponse}. */ declare function achievementIndex(): Resource<AchievementIndexResponse>; /** * Get achievement media by ID. * @param achievementId The achievement ID. * @returns The achievement media. See {@link AchievementMediaResponse}. */ declare function achievementMedia(achievementId: number): Resource<AchievementMediaResponse>; //#endregion export { achievementMedia as a, AchievementIndexResponse as c, achievementIndex as i, AchievementMediaResponse as l, achievementCategory as n, AchievementCategoryIndexResponse as o, achievementCategoryIndex as r, AchievementCategoryResponse as s, achievement as t, AchievementResponse as u }; //# sourceMappingURL=index-BdXHZTxx.d.ts.map