UNPKG

@blizzard-api/classic-wow

Version:

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

143 lines (142 loc) 4.42 kB
import { BlizzardNamespaces, Character, Color, Faction, Factions, Href, KeyBase, NameIdKey, Realm, Resource, ResponseBase } from "@blizzard-api/core"; //#region src/guild/types.d.ts interface GuildAchievementsClassicEraResponse extends ResponseBase { guild: Guild; } interface GuildAchievementsResponse extends ResponseBase { achievements: Array<Achievement>; category_progress: Array<CategoryProgress>; guild: Guild; recent_events: Array<RecentEvent>; total_points: number; total_quantity: number; } interface GuildActivityResponse extends ResponseBase { activities?: Array<ActivityElement>; guild: Guild; } interface GuildResponse extends ResponseBase { achievement_points: number; achievements: Href; activity: Href; created_timestamp: number; crest?: Crest; faction: Faction; id: number; member_count: number; name: string; name_search: string; realm: Realm; roster: Href; } interface GuildRosterResponse extends ResponseBase { guild: Guild; members: Array<Member>; } interface Achievement { achievement: NameIdKey; completed_timestamp?: number; criteria?: Criteria; id: number; } interface ActivityElement { activity: { type: string; }; character_achievement: CharacterAchievement; timestamp: number; } interface Border { color: RgbWithId; id: number; media: KeyBase & { id: number; }; } interface CategoryProgress { category: NameIdKey; points: number; quantity: number; } interface CharacterAchievement { achievement: NameIdKey; character: Character; } interface ChildCriterum { amount: number; id: number; is_completed: boolean; } interface Crest { background: { color: RgbWithId; }; border: Border; emblem: Border; } interface Criteria { amount?: number; child_criteria?: Array<ChildCriterum>; id: number; is_completed: boolean; } interface Guild extends NameIdKey { faction: Faction; realm: Realm; } interface Member { character: RosterMemberCharacter; rank: number; } interface Playable extends KeyBase { id: number; } interface RecentEvent { achievement: NameIdKey; timestamp: number; } interface RgbWithId { id: number; rgba: Color; } interface RosterMemberCharacter extends Character { faction: { type: Factions; }; level: number; playable_class: Playable; playable_race: Playable; } //#endregion //#region src/guild/index.d.ts /** * @param namespace The namespace to use. See {@link BlizzardNamespaces}. * @param realmSlug The slug of the realm. * @param nameSlug The lowercase name of the guild. * @returns a single guild by its name and realm. */ declare function guild(namespace: Extract<BlizzardNamespaces, 'profile-classic1x' | 'profile-classic'>, realmSlug: string, nameSlug: string): Resource<GuildResponse>; /** * @param namespace The namespace to use. See {@link BlizzardNamespaces}. * @param realmSlug The slug of the realm. * @param nameSlug The lowercase name of the guild. * @returns a single guild's achievements by name and realm. */ declare function guildAchievements<T extends Extract<BlizzardNamespaces, 'profile-classic1x' | 'profile-classic'>>(namespace: T, realmSlug: string, nameSlug: string): Resource<T extends 'profile-classic1x' ? GuildAchievementsClassicEraResponse : GuildAchievementsResponse>; /** * @param namespace The namespace to use. See {@link BlizzardNamespaces}. * @param realmSlug The slug of the realm. * @param nameSlug The lowercase name of the guild. * @returns a single guild's activity by name and realm. */ declare function guildActivity(namespace: Extract<BlizzardNamespaces, 'profile-classic1x' | 'profile-classic'>, realmSlug: string, nameSlug: string): Resource<GuildActivityResponse>; /** * @param namespace The namespace to use. See {@link BlizzardNamespaces}. * @param realmSlug The slug of the realm. * @param nameSlug The lowercase name of the guild. * @returns a single guild's roster by its name and realm. */ declare function guildRoster(namespace: Extract<BlizzardNamespaces, 'profile-classic1x' | 'profile-classic'>, realmSlug: string, nameSlug: string): Resource<GuildRosterResponse>; //#endregion export { GuildAchievementsClassicEraResponse as a, GuildResponse as c, guildRoster as i, GuildRosterResponse as l, guildAchievements as n, GuildAchievementsResponse as o, guildActivity as r, GuildActivityResponse as s, guild as t }; //# sourceMappingURL=index-DajMx-uR.d.ts.map