@blizzard-api/wow
Version:
A series of helpers to interact with the World of Warcraft Blizzard API
145 lines (144 loc) • 3.88 kB
TypeScript
import { Character, Color, Faction, Factions, Href, KeyBase, NameIdKey, Realm, Resource, ResponseBase } from "@blizzard-api/core";
//#region src/guild/types.d.ts
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;
encounter_completed?: EncounterActivity;
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 EncounterActivity {
encounter: NameIdKey;
mode: {
name: string;
type: ModeType;
};
}
interface Guild extends NameIdKey {
faction: Faction;
realm: Realm;
}
interface Member {
character: RosterMemberCharacter;
rank: number;
}
type ModeType = 'HEROIC' | 'LEGACY_10_MAN' | 'LEGACY_10_MAN_HEROIC' | 'LEGACY_25_MAN' | 'LEGACY_25_MAN_HEROIC' | 'LFR' | 'MYTHIC' | 'MYTHIC_KEYSTONE' | 'NORMAL';
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 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(realmSlug: string, nameSlug: string): Resource<GuildResponse>;
/**
* @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(realmSlug: string, nameSlug: string): Resource<GuildAchievementsResponse>;
/**
* @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(realmSlug: string, nameSlug: string): Resource<GuildActivityResponse>;
/**
* @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(realmSlug: string, nameSlug: string): Resource<GuildRosterResponse>;
//#endregion
export { GuildAchievementsResponse as a, GuildRosterResponse as c, guildRoster as i, guildAchievements as n, GuildActivityResponse as o, guildActivity as r, GuildResponse as s, guild as t };
//# sourceMappingURL=index-Dbd6X4HH.d.ts.map