raiderio-api 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +99 -0
- package/dist/index.d.ts +1193 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +572 -0
- package/dist/index.js.map +1 -0
- package/package.json +59 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,1193 @@
|
|
|
1
|
+
import { Options } from "ky";
|
|
2
|
+
|
|
3
|
+
//#region src/core/api.d.ts
|
|
4
|
+
declare const raiderIoBasePath = "https://raider.io/api/v1";
|
|
5
|
+
type ISODateString = string;
|
|
6
|
+
interface Resource<T> {
|
|
7
|
+
/**
|
|
8
|
+
* The response type of the resource
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
_responseType?: T;
|
|
12
|
+
path: string;
|
|
13
|
+
query: Record<string, boolean | number | string | undefined>;
|
|
14
|
+
}
|
|
15
|
+
type ResourceResponse<T = unknown> = Promise<T>;
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region src/core/character.d.ts
|
|
18
|
+
declare const roles: readonly ["tank", "healer", "dps"];
|
|
19
|
+
type Role = (typeof roles)[number];
|
|
20
|
+
declare const factions: readonly ["horde", "alliance"];
|
|
21
|
+
type Faction = (typeof factions)[number];
|
|
22
|
+
declare const genders: readonly ["male", "female"];
|
|
23
|
+
type Gender = (typeof genders)[number];
|
|
24
|
+
interface PlayableClass {
|
|
25
|
+
id: number;
|
|
26
|
+
name: string;
|
|
27
|
+
slug: string;
|
|
28
|
+
}
|
|
29
|
+
interface PlayableRace {
|
|
30
|
+
faction: Faction;
|
|
31
|
+
id: number;
|
|
32
|
+
name: string;
|
|
33
|
+
slug: string;
|
|
34
|
+
}
|
|
35
|
+
interface Specialization {
|
|
36
|
+
class_id: number;
|
|
37
|
+
id: number;
|
|
38
|
+
is_melee: boolean;
|
|
39
|
+
name: string;
|
|
40
|
+
ordinal: number;
|
|
41
|
+
patch: string;
|
|
42
|
+
role: Role;
|
|
43
|
+
slug: string;
|
|
44
|
+
}
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region src/core/region-realm.d.ts
|
|
47
|
+
declare const regions: readonly ["us", "eu", "tw", "kr", "cn"];
|
|
48
|
+
interface Realm {
|
|
49
|
+
altName: string;
|
|
50
|
+
altSlug: string;
|
|
51
|
+
connectedRealmId: number;
|
|
52
|
+
id: number;
|
|
53
|
+
isConnected: boolean;
|
|
54
|
+
locale: string;
|
|
55
|
+
name: string;
|
|
56
|
+
realmType: string;
|
|
57
|
+
slug: string;
|
|
58
|
+
wowConnectedRealmId: number;
|
|
59
|
+
wowRealmId: number;
|
|
60
|
+
}
|
|
61
|
+
type RealmSummary = Pick<Realm, 'isConnected' | 'name' | 'slug'>;
|
|
62
|
+
interface Region {
|
|
63
|
+
name: string;
|
|
64
|
+
short_name: RegionShortName;
|
|
65
|
+
slug: string;
|
|
66
|
+
}
|
|
67
|
+
type RegionShortName = (typeof regions)[number];
|
|
68
|
+
//#endregion
|
|
69
|
+
//#region src/core/season.d.ts
|
|
70
|
+
declare const seasonReferences: string[];
|
|
71
|
+
type SeasonReference = (typeof seasonReferences)[number];
|
|
72
|
+
declare const weekScopes: readonly ["current", "previous"];
|
|
73
|
+
type WeekScope = (typeof weekScopes)[number];
|
|
74
|
+
//#endregion
|
|
75
|
+
//#region src/core/common.d.ts
|
|
76
|
+
interface Ranks {
|
|
77
|
+
realm: number;
|
|
78
|
+
region: number;
|
|
79
|
+
world: number;
|
|
80
|
+
}
|
|
81
|
+
interface Stream {
|
|
82
|
+
activiy_record_id: number;
|
|
83
|
+
community_ids: Array<string>;
|
|
84
|
+
description?: string;
|
|
85
|
+
game_id: string;
|
|
86
|
+
id: string;
|
|
87
|
+
is_featured_stream: boolean;
|
|
88
|
+
language: string;
|
|
89
|
+
name: string;
|
|
90
|
+
started_at: string;
|
|
91
|
+
thumbnail_url: string;
|
|
92
|
+
title: string;
|
|
93
|
+
type: string;
|
|
94
|
+
user_id: string;
|
|
95
|
+
viewer_count: number;
|
|
96
|
+
}
|
|
97
|
+
interface Video {
|
|
98
|
+
character: {
|
|
99
|
+
class: PlayableClass;
|
|
100
|
+
faction: Faction;
|
|
101
|
+
flags: unknown;
|
|
102
|
+
id: number;
|
|
103
|
+
level: number;
|
|
104
|
+
name: string;
|
|
105
|
+
path: string;
|
|
106
|
+
persona_id: number;
|
|
107
|
+
race: PlayableRace;
|
|
108
|
+
realm: Realm;
|
|
109
|
+
region: Region;
|
|
110
|
+
spec: Specialization;
|
|
111
|
+
};
|
|
112
|
+
createdByUserId: number;
|
|
113
|
+
duration: number;
|
|
114
|
+
id: string;
|
|
115
|
+
seasonSlug: SeasonReference;
|
|
116
|
+
startVideoTimeSeconds: null | number;
|
|
117
|
+
thumbnailUrl: null | string;
|
|
118
|
+
videoId: string;
|
|
119
|
+
videoType: string;
|
|
120
|
+
}
|
|
121
|
+
//#endregion
|
|
122
|
+
//#region src/core/expansion.d.ts
|
|
123
|
+
declare const LEGION = 6;
|
|
124
|
+
declare const BATTLE_FOR_AZEROTH = 7;
|
|
125
|
+
declare const SHADOWLANDS = 8;
|
|
126
|
+
declare const DRAGONFLIGHT = 9;
|
|
127
|
+
declare const THE_WAR_WITHIN = 10;
|
|
128
|
+
declare const MIDNIGHT = 11;
|
|
129
|
+
declare const expansionIds: readonly [6, 7, 8, 9, 10, 11];
|
|
130
|
+
type ExpansionId = (typeof expansionIds)[number];
|
|
131
|
+
//#endregion
|
|
132
|
+
//#region src/core/gear.d.ts
|
|
133
|
+
declare const slots: string[];
|
|
134
|
+
type ItemSlot = (typeof slots)[number];
|
|
135
|
+
//#endregion
|
|
136
|
+
//#region src/core/locales.d.ts
|
|
137
|
+
declare const locales: readonly ["en", "ru", "ko", "cn", "pt", "it", "fr", "es", "de", "tw"];
|
|
138
|
+
type Locale = (typeof locales)[number];
|
|
139
|
+
type LocalizedString = Record<Locale, string>;
|
|
140
|
+
//#endregion
|
|
141
|
+
//#region src/http/types.d.ts
|
|
142
|
+
interface ClientOptions {
|
|
143
|
+
key?: string;
|
|
144
|
+
kyOptions?: Options;
|
|
145
|
+
}
|
|
146
|
+
//#endregion
|
|
147
|
+
//#region src/resources/raiding/types.d.ts
|
|
148
|
+
/**
|
|
149
|
+
* The rankings for the specified boss, raid, difficulty and region
|
|
150
|
+
* @see {@link https://raider.io/api#/raiding/getApiV1RaidingBossrankings}
|
|
151
|
+
*/
|
|
152
|
+
interface ViewBossRankingsResponse {
|
|
153
|
+
bossRankings: Array<BossRanking>;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* The hall of fame for a given raid
|
|
157
|
+
* @see {@link https://raider.io/api#/raiding/getApiV1RaidingHalloffame}
|
|
158
|
+
*/
|
|
159
|
+
interface ViewHallOfFameResponse {
|
|
160
|
+
hallOfFame: {
|
|
161
|
+
bossKills: Array<HallOfFameBossKill>;
|
|
162
|
+
winningGuilds: Array<HallOfFameGuildEntry>;
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Details of raiding progression for a raid, showing how many guilds have reached each boss kill milestone
|
|
167
|
+
* @see {@link https://raider.io/api#/raiding/getApiV1RaidingProgression}
|
|
168
|
+
*/
|
|
169
|
+
interface ViewRaidProgressionResponse {
|
|
170
|
+
progression: Array<RaidRaceProgressionEntry>;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* The raid rankings for a given raid and region
|
|
174
|
+
* @see {@link https://raider.io/api#/raiding/getApiV1RaidingRaidrankings}
|
|
175
|
+
*/
|
|
176
|
+
interface ViewRaidRankingsResponse {
|
|
177
|
+
raidRankings: Array<RaidRankingEntry>;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Raid and boss static data for a specific expansion (slugs, names, etc)
|
|
181
|
+
* @see {@link https://raider.io/api#/raiding/getApiV1RaidingStaticdata}
|
|
182
|
+
*/
|
|
183
|
+
interface ViewRaidingStaticDataResponse {
|
|
184
|
+
raids: Array<RaidStaticData>;
|
|
185
|
+
}
|
|
186
|
+
declare const raidDifficulties: readonly ["normal", "heroic", "mythic"];
|
|
187
|
+
declare const raidInstances: readonly ["tier-mn-1", "manaforge-omega", "liberation-of-undermine", "nerubar-palace", "blackrock-depths", "awakened-amirdrassil-the-dreams-hope", "awakened-aberrus-the-shadowed-crucible", "awakened-vault-of-the-incarnates", "amirdrassil-the-dreams-hope", "aberrus-the-shadowed-crucible", "vault-of-the-incarnates", "fated-sepulcher-of-the-first-ones", "fated-sanctum-of-domination", "fated-castle-nathria", "sepulcher-of-the-first-ones", "sanctum-of-domination", "castle-nathria", "nyalotha-the-waking-city", "the-eternal-palace", "crucible-of-storms", "battle-of-dazaralor", "uldir", "antorus-the-burning-throne", "tomb-of-sargeras", "the-nighthold", "trial-of-valor", "the-emerald-nightmare"];
|
|
188
|
+
type RaidDifficulty = (typeof raidDifficulties)[number];
|
|
189
|
+
type RaidDifficultyRankings = Record<RaidDifficulty, Ranks>;
|
|
190
|
+
interface RaidEncounter {
|
|
191
|
+
defeatedAt: ISODateString | null;
|
|
192
|
+
name: string;
|
|
193
|
+
slug: string;
|
|
194
|
+
}
|
|
195
|
+
type RaidInstance = (typeof raidInstances)[number];
|
|
196
|
+
type RaidProgression = Record<`${RaidDifficulty}_bosses_killed`, number> & {
|
|
197
|
+
expansion_id: number;
|
|
198
|
+
summary: string;
|
|
199
|
+
total_bosses: number;
|
|
200
|
+
};
|
|
201
|
+
interface RecruitmentProfile {
|
|
202
|
+
activity_type: string;
|
|
203
|
+
entity_type: string;
|
|
204
|
+
recruitment_profile_id: number;
|
|
205
|
+
}
|
|
206
|
+
type BossRanking = Record<RaidInstance, RaidDifficultyRankings>;
|
|
207
|
+
interface EncounterDefeated {
|
|
208
|
+
firstDefeated: ISODateString;
|
|
209
|
+
lastDefeated: ISODateString;
|
|
210
|
+
slug: string;
|
|
211
|
+
}
|
|
212
|
+
interface GuildDefeatEntry {
|
|
213
|
+
defeatedAt: ISODateString;
|
|
214
|
+
guild: GuildSummary;
|
|
215
|
+
}
|
|
216
|
+
interface GuildEncounter {
|
|
217
|
+
encountersDefeated: Array<EncounterDefeated>;
|
|
218
|
+
guild: RaidingGuild;
|
|
219
|
+
rank: number;
|
|
220
|
+
}
|
|
221
|
+
interface GuildPrivacy {
|
|
222
|
+
raidComps: boolean;
|
|
223
|
+
raidPercents: boolean;
|
|
224
|
+
raidPulls: boolean;
|
|
225
|
+
shareraidUntil: ISODateString;
|
|
226
|
+
wereRaidCompsRestricted: boolean;
|
|
227
|
+
wereRaidPercentsRestricted: boolean;
|
|
228
|
+
wereRaidPullsRestricted: boolean;
|
|
229
|
+
}
|
|
230
|
+
interface GuildStreamers {
|
|
231
|
+
count: number;
|
|
232
|
+
description: string;
|
|
233
|
+
stream: Stream;
|
|
234
|
+
}
|
|
235
|
+
interface GuildSummary {
|
|
236
|
+
displayName: string;
|
|
237
|
+
faction: Faction;
|
|
238
|
+
id: number;
|
|
239
|
+
name: string;
|
|
240
|
+
realm: RealmSummary;
|
|
241
|
+
region: Region;
|
|
242
|
+
}
|
|
243
|
+
interface HallOfFameBossKill {
|
|
244
|
+
attemptedBy: {
|
|
245
|
+
attempts: Array<GuildEncounter>;
|
|
246
|
+
totalCount: number;
|
|
247
|
+
};
|
|
248
|
+
boss: string;
|
|
249
|
+
bossKillVideo: Video;
|
|
250
|
+
bossSummary: RaidBossSummary;
|
|
251
|
+
defeatedBy: {
|
|
252
|
+
guilds: Array<GuildEncounter>;
|
|
253
|
+
totalCount: number;
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
type HallOfFameGuildEntry = GuildEncounter & {
|
|
257
|
+
defeatedAt: ISODateString;
|
|
258
|
+
doesVideoExist: boolean;
|
|
259
|
+
recruitmentProfiles: Array<RecruitmentProfile>;
|
|
260
|
+
streamers: GuildStreamers;
|
|
261
|
+
};
|
|
262
|
+
interface RaidBossSummary {
|
|
263
|
+
encounterId: number;
|
|
264
|
+
iconUrl: string;
|
|
265
|
+
name: string;
|
|
266
|
+
ordinal: number;
|
|
267
|
+
slug: string;
|
|
268
|
+
wingId: number;
|
|
269
|
+
}
|
|
270
|
+
interface RaidEncounterStaticData {
|
|
271
|
+
id: number;
|
|
272
|
+
name: string;
|
|
273
|
+
slug: string;
|
|
274
|
+
}
|
|
275
|
+
type RaidingGuild = GuildSummary & {
|
|
276
|
+
color: string;
|
|
277
|
+
isDefaultLogo: boolean;
|
|
278
|
+
logo: string;
|
|
279
|
+
path: string;
|
|
280
|
+
realm: Realm;
|
|
281
|
+
};
|
|
282
|
+
interface RaidRaceProgressionEntry {
|
|
283
|
+
guilds: Array<GuildDefeatEntry>;
|
|
284
|
+
progress: number;
|
|
285
|
+
totalGuilds: number;
|
|
286
|
+
}
|
|
287
|
+
interface RaidRankingEncounter {
|
|
288
|
+
bestPercent: number;
|
|
289
|
+
id: number;
|
|
290
|
+
isDefeated: boolean;
|
|
291
|
+
numPulls: number;
|
|
292
|
+
pulStartedAt: ISODateString;
|
|
293
|
+
slug: string;
|
|
294
|
+
}
|
|
295
|
+
interface RaidRankingEntry {
|
|
296
|
+
encountersDefeated: Array<EncounterDefeated>;
|
|
297
|
+
encountersPulled: Array<RaidRankingEncounter>;
|
|
298
|
+
guild: RaidingGuild;
|
|
299
|
+
guildPrivacy: GuildPrivacy;
|
|
300
|
+
rank: number;
|
|
301
|
+
regionRank: number;
|
|
302
|
+
}
|
|
303
|
+
interface RaidStaticData {
|
|
304
|
+
encounters: Array<RaidEncounterStaticData>;
|
|
305
|
+
ends: {
|
|
306
|
+
ends: ISODateString;
|
|
307
|
+
};
|
|
308
|
+
icon: string;
|
|
309
|
+
id: number;
|
|
310
|
+
name: string;
|
|
311
|
+
short_name: string;
|
|
312
|
+
slug: RaidInstance;
|
|
313
|
+
starts: {
|
|
314
|
+
starts: ISODateString;
|
|
315
|
+
};
|
|
316
|
+
}
|
|
317
|
+
//#endregion
|
|
318
|
+
//#region src/resources/mythic-plus/types.d.ts
|
|
319
|
+
/**
|
|
320
|
+
* The affixes for a specific region, including the latest run seen with this affix
|
|
321
|
+
* @see {@link https://raider.io/api#/mythic_plus/getApiV1MythicplusAffixes}
|
|
322
|
+
*/
|
|
323
|
+
interface ViewMythicPlusAffixesResponse {
|
|
324
|
+
affix_details: Array<Affix>;
|
|
325
|
+
leaderboard_url: string;
|
|
326
|
+
region: RegionShortName;
|
|
327
|
+
title: string;
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Leaderboad capacity for a region including the lowest level and time to quality
|
|
331
|
+
* @see {@link https://raider.io/api#/mythic_plus/getApiV1MythicplusLeaderboardcapacity}
|
|
332
|
+
*/
|
|
333
|
+
interface ViewMythicPlusLeaderboardCapacityResponse {
|
|
334
|
+
realmListing: {
|
|
335
|
+
affixes: Array<LeaderboardAffix>;
|
|
336
|
+
realms: Array<RealmCapacityEntry>;
|
|
337
|
+
region: Region;
|
|
338
|
+
};
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Details for a specific Mythic+ run
|
|
342
|
+
* @see {@link https://raider.io/api#/mythic_plus/getApiV1MythicplusRundetails}
|
|
343
|
+
*/
|
|
344
|
+
interface ViewMythicPlusRunDetailsResponse {
|
|
345
|
+
canManageOthersVideos: boolean;
|
|
346
|
+
canManageOwnVideos: boolean;
|
|
347
|
+
canViewPrivateDetails: boolean;
|
|
348
|
+
clear_time_ms: number;
|
|
349
|
+
completed_at: ISODateString;
|
|
350
|
+
deleted_at: ISODateString | null;
|
|
351
|
+
dungeon: Dungeon;
|
|
352
|
+
faction: Faction;
|
|
353
|
+
isPatron: boolean;
|
|
354
|
+
isTournamentProfile: boolean;
|
|
355
|
+
isViewingPrivateDetails: boolean;
|
|
356
|
+
keystone_platoon_id: number;
|
|
357
|
+
keystone_run_id: number;
|
|
358
|
+
keystone_team_id: number;
|
|
359
|
+
keystone_time_ms: number;
|
|
360
|
+
logged_details: LoggedRunDetails;
|
|
361
|
+
logged_run_id: number;
|
|
362
|
+
loggedSources: Array<LoggedSource>;
|
|
363
|
+
mythic_level: number;
|
|
364
|
+
num_chests: number;
|
|
365
|
+
num_modifiers_active: number;
|
|
366
|
+
replay_limit: number;
|
|
367
|
+
roster: Array<RunRosterMember>;
|
|
368
|
+
runPrivacyMode: string;
|
|
369
|
+
score: number;
|
|
370
|
+
season: SeasonReference;
|
|
371
|
+
status: string;
|
|
372
|
+
time_remaining_ms: number;
|
|
373
|
+
videos: Array<Video>;
|
|
374
|
+
weekly_modifiers: Array<RunModifier>;
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* Information about the top runs that match the given criteria
|
|
378
|
+
* @see {@link https://raider.io/api#/mythic_plus/getApiV1MythicplusRuns}
|
|
379
|
+
*/
|
|
380
|
+
interface ViewMythicPlusRunsResponse {
|
|
381
|
+
rankings: Array<MythicPlusRankingRun>;
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* Colors used for score tiers in the given season
|
|
385
|
+
* @see {@link https://raider.io/api#/mythic_plus/getApiV1MythicplusScoretiers}
|
|
386
|
+
*/
|
|
387
|
+
type ViewMythicPlusScoreTiersResponse = Array<ScoreTier>;
|
|
388
|
+
/**
|
|
389
|
+
* Mythic+ Season cutoffs for a region
|
|
390
|
+
* @see {@link https://raider.io/api#/mythic_plus/getApiV1MythicplusSeasoncutoffs}
|
|
391
|
+
*/
|
|
392
|
+
interface ViewMythicPlusSeasonCutoffsResponse {
|
|
393
|
+
cutoffs: SeasonCutoffs;
|
|
394
|
+
ui: {
|
|
395
|
+
access_key: string;
|
|
396
|
+
region: RegionShortName;
|
|
397
|
+
season: SeasonReference;
|
|
398
|
+
};
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Mythic plus season and dungeon static data for a specific expansion (slugs, names, etc.)
|
|
402
|
+
* @see {@link https://raider.io/api#/mythic_plus/getApiV1MythicplusStaticdata}
|
|
403
|
+
*/
|
|
404
|
+
interface ViewMythicPlusStaticDataResponse {
|
|
405
|
+
dungeons: Array<SeasonDungeon>;
|
|
406
|
+
seasons: Array<MythicPlusStaticData>;
|
|
407
|
+
}
|
|
408
|
+
interface KeystoneRun {
|
|
409
|
+
affixes: Array<Affix>;
|
|
410
|
+
background_image_url: string;
|
|
411
|
+
clear_time_ms: number;
|
|
412
|
+
completed_at: ISODateString;
|
|
413
|
+
dungeon: string;
|
|
414
|
+
icon_url: string;
|
|
415
|
+
keystone_run_id: number;
|
|
416
|
+
map_challenge_mode_id: number;
|
|
417
|
+
mythic_level: number;
|
|
418
|
+
num_keystone_upgrades: number;
|
|
419
|
+
par_time_ms: number;
|
|
420
|
+
role: Role;
|
|
421
|
+
score: number;
|
|
422
|
+
short_name: string;
|
|
423
|
+
spec: Specialization;
|
|
424
|
+
url: string;
|
|
425
|
+
zone_expansion_id: ExpansionId;
|
|
426
|
+
zone_id: number;
|
|
427
|
+
}
|
|
428
|
+
interface Affix {
|
|
429
|
+
description: string;
|
|
430
|
+
icon: string;
|
|
431
|
+
icon_url: string;
|
|
432
|
+
id: number;
|
|
433
|
+
name: string;
|
|
434
|
+
wowhead_url: string;
|
|
435
|
+
}
|
|
436
|
+
interface Dungeon {
|
|
437
|
+
expansion_id: ExpansionId;
|
|
438
|
+
group_finder_activity_ids: Array<number>;
|
|
439
|
+
icon_url: string;
|
|
440
|
+
id: number;
|
|
441
|
+
keystone_timer_ms: number;
|
|
442
|
+
map_challenge_mode_id: number;
|
|
443
|
+
name: string;
|
|
444
|
+
num_bosses: number;
|
|
445
|
+
patch: string;
|
|
446
|
+
short_name: string;
|
|
447
|
+
slug: string;
|
|
448
|
+
type: string;
|
|
449
|
+
wowInstanceId: number;
|
|
450
|
+
}
|
|
451
|
+
interface KeystoneRunRosterMember {
|
|
452
|
+
character: {
|
|
453
|
+
class: PlayableClass;
|
|
454
|
+
faction: Faction;
|
|
455
|
+
flags: Record<string, unknown>;
|
|
456
|
+
id: number;
|
|
457
|
+
level: number;
|
|
458
|
+
name: string;
|
|
459
|
+
path: string;
|
|
460
|
+
persona_id: number;
|
|
461
|
+
race: PlayableRace;
|
|
462
|
+
realm: Realm;
|
|
463
|
+
recruitmentProfiles: Array<RecruitmentProfile>;
|
|
464
|
+
region: Region;
|
|
465
|
+
spec: Specialization;
|
|
466
|
+
stream: null | Stream;
|
|
467
|
+
};
|
|
468
|
+
isBanned: boolean;
|
|
469
|
+
isTransfer: boolean;
|
|
470
|
+
oldCharacter: null | RunRosterMember['character'];
|
|
471
|
+
role: Role;
|
|
472
|
+
}
|
|
473
|
+
type LeaderboardAffix = Pick<Affix, 'icon' | 'id'> & {
|
|
474
|
+
description: LocalizedString;
|
|
475
|
+
name: LocalizedString;
|
|
476
|
+
slug: string;
|
|
477
|
+
};
|
|
478
|
+
interface LeaderboardLowest {
|
|
479
|
+
mythicLevel: number;
|
|
480
|
+
rank: number;
|
|
481
|
+
timeInMilliseconds: number;
|
|
482
|
+
}
|
|
483
|
+
interface LoggedRunDetails {
|
|
484
|
+
correlationId: string;
|
|
485
|
+
deaths: Array<RunDeathDetail>;
|
|
486
|
+
encounters: Array<RunEncounter>;
|
|
487
|
+
route_key: null | string;
|
|
488
|
+
showing_replay_authorized: boolean;
|
|
489
|
+
showing_route_authorized: boolean;
|
|
490
|
+
total_enemy_forces: number;
|
|
491
|
+
}
|
|
492
|
+
interface LoggedSource {
|
|
493
|
+
logId: string;
|
|
494
|
+
source: string;
|
|
495
|
+
}
|
|
496
|
+
interface MythicPlusRankingRun {
|
|
497
|
+
rank: number;
|
|
498
|
+
run: RankingKeystoneRun;
|
|
499
|
+
score: number;
|
|
500
|
+
}
|
|
501
|
+
interface RankingKeystoneRun {
|
|
502
|
+
clear_time_ms: number;
|
|
503
|
+
completed_at: ISODateString;
|
|
504
|
+
deleted_at: ISODateString | null;
|
|
505
|
+
dungeon: Dungeon;
|
|
506
|
+
faction: 'mixed' | Faction;
|
|
507
|
+
keystone_platoon_id: null | number;
|
|
508
|
+
keystone_run_id: number;
|
|
509
|
+
keystone_team_id: number;
|
|
510
|
+
logged_run_id: number;
|
|
511
|
+
mythic_level: number;
|
|
512
|
+
num_chests: number;
|
|
513
|
+
num_modifiers_active: number;
|
|
514
|
+
platoon: null | Record<string, unknown>;
|
|
515
|
+
roster: Array<KeystoneRunRosterMember>;
|
|
516
|
+
season: SeasonReference;
|
|
517
|
+
time_remaining_ms: number;
|
|
518
|
+
videos: Array<Video>;
|
|
519
|
+
weekly_modifiers: Array<RunModifier>;
|
|
520
|
+
}
|
|
521
|
+
interface RealmCapacityEntry {
|
|
522
|
+
connectedRealms: Array<Realm>;
|
|
523
|
+
dungeons: Array<RealmDungeonCapacity>;
|
|
524
|
+
id: number;
|
|
525
|
+
}
|
|
526
|
+
interface RealmDungeonCapacity {
|
|
527
|
+
dungeon: Dungeon;
|
|
528
|
+
lowest: LeaderboardLowest | null;
|
|
529
|
+
}
|
|
530
|
+
interface RunDeathDetail {
|
|
531
|
+
approximate_died_at: number;
|
|
532
|
+
character_id: number;
|
|
533
|
+
logged_encounter_id: number;
|
|
534
|
+
}
|
|
535
|
+
interface RunEncounter {
|
|
536
|
+
approximate_relative_ended_at: number;
|
|
537
|
+
approximate_relative_started_at: number;
|
|
538
|
+
boss: RunEncounterBoss;
|
|
539
|
+
duration_ms: number;
|
|
540
|
+
id: number;
|
|
541
|
+
is_success: boolean;
|
|
542
|
+
pull_ended_at: ISODateString;
|
|
543
|
+
pull_started_at: ISODateString;
|
|
544
|
+
roster: Array<RunRosterMember>;
|
|
545
|
+
status: string;
|
|
546
|
+
}
|
|
547
|
+
interface RunEncounterBoss {
|
|
548
|
+
encounterId: number;
|
|
549
|
+
iconUrl: string;
|
|
550
|
+
name: string;
|
|
551
|
+
ordinal: number;
|
|
552
|
+
slug: string;
|
|
553
|
+
wingId: number;
|
|
554
|
+
}
|
|
555
|
+
interface RunModifier {
|
|
556
|
+
description: string;
|
|
557
|
+
icon: string;
|
|
558
|
+
id: number;
|
|
559
|
+
name: string;
|
|
560
|
+
slug: string;
|
|
561
|
+
}
|
|
562
|
+
interface RunRosterMember {
|
|
563
|
+
character: {
|
|
564
|
+
artifactTraits: number;
|
|
565
|
+
class: PlayableClass;
|
|
566
|
+
gender: Gender;
|
|
567
|
+
id: number;
|
|
568
|
+
itemLevelEquipped: number;
|
|
569
|
+
name: string;
|
|
570
|
+
race: PlayableRace;
|
|
571
|
+
realm: Realm;
|
|
572
|
+
region: Region;
|
|
573
|
+
spec: Specialization;
|
|
574
|
+
talentLoadout: RunRosterTalentLoadout;
|
|
575
|
+
thumbnail: string;
|
|
576
|
+
};
|
|
577
|
+
guild: null | RunRosterMemberGuild;
|
|
578
|
+
interestingAuras: Array<Spell>;
|
|
579
|
+
isBanned: boolean;
|
|
580
|
+
isTransfer: boolean;
|
|
581
|
+
items: CharacterGear;
|
|
582
|
+
oldCharacter: null | RunRosterMember['character'];
|
|
583
|
+
ranks: {
|
|
584
|
+
realm: number;
|
|
585
|
+
region: number;
|
|
586
|
+
score: number;
|
|
587
|
+
world: number;
|
|
588
|
+
};
|
|
589
|
+
role: Role;
|
|
590
|
+
}
|
|
591
|
+
interface RunRosterMemberGuild {
|
|
592
|
+
displayName: string;
|
|
593
|
+
faction: Faction;
|
|
594
|
+
id: number;
|
|
595
|
+
isDefaultLogo: boolean;
|
|
596
|
+
logo: string;
|
|
597
|
+
name: string;
|
|
598
|
+
path: string;
|
|
599
|
+
realm: Realm;
|
|
600
|
+
region: Region;
|
|
601
|
+
}
|
|
602
|
+
interface RunRosterTalentLoadout {
|
|
603
|
+
heroSubTreeId: number;
|
|
604
|
+
loadout: Array<TalentLoadoutEntry>;
|
|
605
|
+
loadoutText: string;
|
|
606
|
+
specId: number;
|
|
607
|
+
}
|
|
608
|
+
interface ScoreTier {
|
|
609
|
+
rgbFloat: [number, number, number];
|
|
610
|
+
rgbHex: string;
|
|
611
|
+
rgbInteger: [number, number, number];
|
|
612
|
+
score: number;
|
|
613
|
+
}
|
|
614
|
+
declare const bracketDungeonLevels: readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29];
|
|
615
|
+
type BracketDungeonLevel = (typeof bracketDungeonLevels)[number];
|
|
616
|
+
declare const percentiles: readonly [999, 990, 900, 750, 600];
|
|
617
|
+
interface Coordinates {
|
|
618
|
+
total: number;
|
|
619
|
+
x: number;
|
|
620
|
+
y: number;
|
|
621
|
+
}
|
|
622
|
+
interface CutoffFactionStat {
|
|
623
|
+
quantile: number;
|
|
624
|
+
quantileMinValue: number;
|
|
625
|
+
quantilePopulationCount: number;
|
|
626
|
+
quantilePopulationFraction: number;
|
|
627
|
+
totalPopulationCount: number;
|
|
628
|
+
}
|
|
629
|
+
interface GraphData {
|
|
630
|
+
color: string;
|
|
631
|
+
data: Array<Coordinates>;
|
|
632
|
+
marker: {
|
|
633
|
+
enabled: boolean;
|
|
634
|
+
};
|
|
635
|
+
name: string;
|
|
636
|
+
type: string;
|
|
637
|
+
}
|
|
638
|
+
interface MythicPlusStaticData {
|
|
639
|
+
blizzard_season_id: number;
|
|
640
|
+
dungeons: Array<SeasonDungeon>;
|
|
641
|
+
ends: Record<RegionShortName, ISODateString>;
|
|
642
|
+
is_main_season: boolean;
|
|
643
|
+
name: string;
|
|
644
|
+
seasonal_affix: Affix | null;
|
|
645
|
+
short_name: string;
|
|
646
|
+
slug: SeasonReference;
|
|
647
|
+
starts: Record<RegionShortName, ISODateString>;
|
|
648
|
+
}
|
|
649
|
+
type Percentile = (typeof percentiles)[number];
|
|
650
|
+
type PercentileKey = `p${Percentile}`;
|
|
651
|
+
type SeasonCutoffEntry = Record<'all' | Faction, CutoffFactionStat | null> & Record<'allColor' | `${Faction}Color`, null | string>;
|
|
652
|
+
type SeasonCutoffs = Record<`allTimed${BracketDungeonLevel}`, SeasonCutoffEntry & {
|
|
653
|
+
score: number;
|
|
654
|
+
}> & Record<PercentileKey, SeasonCutoffEntry> & {
|
|
655
|
+
bracketDungeonLevels: Array<BracketDungeonLevel>;
|
|
656
|
+
graphData: Record<PercentileKey, GraphData>;
|
|
657
|
+
isRemappedSeason: boolean;
|
|
658
|
+
keystoneConqueror: SeasonCutoffEntry & {
|
|
659
|
+
score: number;
|
|
660
|
+
};
|
|
661
|
+
keystoneExplorer: SeasonCutoffEntry & {
|
|
662
|
+
score: number;
|
|
663
|
+
};
|
|
664
|
+
keystoneHero: SeasonCutoffEntry & {
|
|
665
|
+
score: number;
|
|
666
|
+
};
|
|
667
|
+
keystoneLegend: SeasonCutoffEntry & {
|
|
668
|
+
score: number;
|
|
669
|
+
};
|
|
670
|
+
keystoneMaster: SeasonCutoffEntry & {
|
|
671
|
+
score: number;
|
|
672
|
+
};
|
|
673
|
+
};
|
|
674
|
+
interface SeasonDungeon {
|
|
675
|
+
background_image_url: string;
|
|
676
|
+
challenge_mode_id: number;
|
|
677
|
+
icon_url: string;
|
|
678
|
+
id: number;
|
|
679
|
+
keystone_timer_seconds: number;
|
|
680
|
+
name: string;
|
|
681
|
+
short_name: string;
|
|
682
|
+
slug: string;
|
|
683
|
+
}
|
|
684
|
+
//#endregion
|
|
685
|
+
//#region src/resources/character/types.d.ts
|
|
686
|
+
/**
|
|
687
|
+
* The response from the character profile endpoint. The basic profile information is always included, while the optional fields are only included if they were requested in the `fields` parameter of the request.
|
|
688
|
+
* @see {@link https://raider.io/api#/character/getApiV1CharactersProfile}
|
|
689
|
+
*/
|
|
690
|
+
type ViewCharacterProfileResponse = Character & {
|
|
691
|
+
covenant?: unknown;
|
|
692
|
+
gear?: CharacterGear;
|
|
693
|
+
guild?: {
|
|
694
|
+
name: string;
|
|
695
|
+
realm: Realm['name'];
|
|
696
|
+
};
|
|
697
|
+
mythic_plus_best_runs?: Array<KeystoneRun>;
|
|
698
|
+
mythic_plus_highest_level_runs?: Array<KeystoneRun>;
|
|
699
|
+
mythic_plus_previous_weekly_highest_level_runs?: Array<KeystoneRun>;
|
|
700
|
+
mythic_plus_ranks?: MythicPlusRanks;
|
|
701
|
+
mythic_plus_recent_runs?: Array<KeystoneRun>;
|
|
702
|
+
mythic_plus_scores_by_season?: MythciPlusSeasonScores;
|
|
703
|
+
mythic_plus_weekly_highest_level_runs?: Array<KeystoneRun>;
|
|
704
|
+
previous_mythic_plus_ranks?: MythicPlusRanks;
|
|
705
|
+
raid_achievement_curve?: Array<RaidAchievementCurve>;
|
|
706
|
+
raid_achievement_meta?: Array<RaidAchievementMeta>;
|
|
707
|
+
raid_progression?: Record<RaidInstance, RaidProgression>;
|
|
708
|
+
talentLoadout?: TalentLoadout;
|
|
709
|
+
};
|
|
710
|
+
declare const characterProfileFieldKeys: readonly ["gear", "talents", "talents:categorized", "guild", "covenant", "mythic_plus_scores_by_season", "mythic_plus_ranks", "mythic_plus_recent_runs", "mythic_plus_best_runs", "mythic_plus_best_runs:all", "mythic_plus_alternate_runs", "mythic_plus_alternate_runs:all", "mythic_plus_highest_level_runs", "mythic_plus_weekly_highest_level_runs", "mythic_plus_previous_weekly_highest_level_runs", "previous_mythic_plus_ranks"];
|
|
711
|
+
interface Character {
|
|
712
|
+
achievement_points: number;
|
|
713
|
+
active_spec_name: Specialization['name'];
|
|
714
|
+
active_spec_role: Specialization['role'];
|
|
715
|
+
class: PlayableClass['name'];
|
|
716
|
+
faction: Faction;
|
|
717
|
+
gender: Gender;
|
|
718
|
+
id?: number;
|
|
719
|
+
last_crawled_at: ISODateString;
|
|
720
|
+
name: string;
|
|
721
|
+
profile_banner: string;
|
|
722
|
+
profile_url: string;
|
|
723
|
+
race: PlayableRace['name'];
|
|
724
|
+
realm: string;
|
|
725
|
+
region: RegionShortName;
|
|
726
|
+
thumbnail_url: string;
|
|
727
|
+
}
|
|
728
|
+
interface CharacterGear {
|
|
729
|
+
artifact_traits: number;
|
|
730
|
+
corruption: CorruptionDetails;
|
|
731
|
+
created_at: ISODateString;
|
|
732
|
+
item_level_equipped: number;
|
|
733
|
+
item_level_total: number;
|
|
734
|
+
items: ItemsContainer;
|
|
735
|
+
source: string;
|
|
736
|
+
updated_at: ISODateString;
|
|
737
|
+
}
|
|
738
|
+
type CharacterProfileFieldKey = (typeof characterProfileFieldKeys)[number] | `mythic_plus_scores_by_season:${string}` | `raid_achievement_curve:${string}` | `raid_achievement_meta:${string}`;
|
|
739
|
+
interface TalentLoadout {
|
|
740
|
+
active_hero_tree: {
|
|
741
|
+
description: string;
|
|
742
|
+
iconUrl: string;
|
|
743
|
+
id: number;
|
|
744
|
+
name: string;
|
|
745
|
+
slug: string;
|
|
746
|
+
traitTreeId: number;
|
|
747
|
+
};
|
|
748
|
+
class_talents?: Array<TalentLoadoutEntry>;
|
|
749
|
+
hero_talents?: Array<TalentLoadoutEntry>;
|
|
750
|
+
loadout?: Array<TalentLoadoutEntry>;
|
|
751
|
+
loadout_spec_id: number;
|
|
752
|
+
loadout_text: string;
|
|
753
|
+
spec_talents?: Array<TalentLoadoutEntry>;
|
|
754
|
+
}
|
|
755
|
+
interface TalentLoadoutEntry {
|
|
756
|
+
entryIndex: number;
|
|
757
|
+
node: TalentNodeChoice | TalentNodePassive | TalentNodeSpell;
|
|
758
|
+
rank: number;
|
|
759
|
+
}
|
|
760
|
+
interface Spell {
|
|
761
|
+
hasCooldown: boolean;
|
|
762
|
+
icon: string;
|
|
763
|
+
id: number;
|
|
764
|
+
name: string;
|
|
765
|
+
rank: null | number;
|
|
766
|
+
school: number;
|
|
767
|
+
}
|
|
768
|
+
interface AzeritePower {
|
|
769
|
+
id: number;
|
|
770
|
+
spell: {
|
|
771
|
+
icon: string;
|
|
772
|
+
id: number;
|
|
773
|
+
name: string;
|
|
774
|
+
rank: null | number;
|
|
775
|
+
school: number;
|
|
776
|
+
};
|
|
777
|
+
}
|
|
778
|
+
interface CorruptionDetails {
|
|
779
|
+
added: number;
|
|
780
|
+
cloakRank: number;
|
|
781
|
+
items: ItemsContainer;
|
|
782
|
+
resisted: number;
|
|
783
|
+
spells: Array<unknown>;
|
|
784
|
+
total: number;
|
|
785
|
+
}
|
|
786
|
+
interface EnchantDetails {
|
|
787
|
+
icon: string;
|
|
788
|
+
id: number;
|
|
789
|
+
name: string;
|
|
790
|
+
}
|
|
791
|
+
interface GearItem {
|
|
792
|
+
azerite_powers: Array<AzeritePower>;
|
|
793
|
+
bonuses: Array<number>;
|
|
794
|
+
corruption: Pick<CorruptionDetails, 'added' | 'resisted' | 'total'>;
|
|
795
|
+
domination_shards: Array<unknown>;
|
|
796
|
+
enchant: number;
|
|
797
|
+
enchants: Array<EnchantDetails['id']>;
|
|
798
|
+
enchants_details: Array<EnchantDetails>;
|
|
799
|
+
gems: Array<GemDetails['id']>;
|
|
800
|
+
gems_details: Array<GemDetails>;
|
|
801
|
+
icon: string;
|
|
802
|
+
is_azerite_power: boolean;
|
|
803
|
+
is_legendary: boolean;
|
|
804
|
+
item_id: number;
|
|
805
|
+
item_level: number;
|
|
806
|
+
item_quality: number;
|
|
807
|
+
name: string;
|
|
808
|
+
}
|
|
809
|
+
interface GemDetails {
|
|
810
|
+
icon: string;
|
|
811
|
+
id: number;
|
|
812
|
+
name: string;
|
|
813
|
+
}
|
|
814
|
+
type ItemsContainer = Record<ItemSlot, GearItem>;
|
|
815
|
+
interface MythciPlusSeasonScores {
|
|
816
|
+
scores: Record<ScoreKey, number>;
|
|
817
|
+
season: SeasonReference;
|
|
818
|
+
segments: Record<ScoreKey, MythicPlusScoreSegment>;
|
|
819
|
+
}
|
|
820
|
+
type MythicPlusRanks = Record<RankKey, Ranks$1>;
|
|
821
|
+
interface MythicPlusScoreSegment {
|
|
822
|
+
color: string;
|
|
823
|
+
score: number;
|
|
824
|
+
}
|
|
825
|
+
interface RaidAchievement {
|
|
826
|
+
id: number;
|
|
827
|
+
raid: string;
|
|
828
|
+
timestamp: ISODateString;
|
|
829
|
+
}
|
|
830
|
+
interface RaidAchievementCurve {
|
|
831
|
+
aotc: ISODateString;
|
|
832
|
+
raid: RaidInstance;
|
|
833
|
+
}
|
|
834
|
+
interface RaidAchievementMeta {
|
|
835
|
+
completed_achievements: Array<RaidAchievement>;
|
|
836
|
+
completed_count: number;
|
|
837
|
+
meta_achievement: {
|
|
838
|
+
id: number;
|
|
839
|
+
raid: string;
|
|
840
|
+
};
|
|
841
|
+
remaining_achievements: Array<RaidAchievement>;
|
|
842
|
+
tier: `tier_${number}`;
|
|
843
|
+
total_count: number;
|
|
844
|
+
}
|
|
845
|
+
type RankKey = 'overall' | `class_${Role}` | `spec_${number}` | keyof Role;
|
|
846
|
+
interface Ranks$1 {
|
|
847
|
+
realm: number;
|
|
848
|
+
region: number;
|
|
849
|
+
world: number;
|
|
850
|
+
}
|
|
851
|
+
type ScoreKey = 'all' | `spec${0 | 1 | 2 | 3}` | Role;
|
|
852
|
+
interface TalentNode {
|
|
853
|
+
col: number;
|
|
854
|
+
entries: Array<TalentNodeEntryPassive | TalentNodeEntrySpell>;
|
|
855
|
+
flags: number;
|
|
856
|
+
id: number;
|
|
857
|
+
important: boolean;
|
|
858
|
+
posX: number;
|
|
859
|
+
posY: number;
|
|
860
|
+
row: number;
|
|
861
|
+
subTreeId: number;
|
|
862
|
+
treeId: number;
|
|
863
|
+
}
|
|
864
|
+
interface TalentNodeChoice extends TalentNode {
|
|
865
|
+
type: 2;
|
|
866
|
+
}
|
|
867
|
+
interface TalentNodeEntry {
|
|
868
|
+
id: number;
|
|
869
|
+
maxRanks: number;
|
|
870
|
+
spell: Spell;
|
|
871
|
+
traitDefinitionId: number;
|
|
872
|
+
traitSubTreeId: number;
|
|
873
|
+
}
|
|
874
|
+
interface TalentNodeEntryPassive extends TalentNodeEntry {
|
|
875
|
+
type: 2;
|
|
876
|
+
}
|
|
877
|
+
interface TalentNodeEntrySpell extends TalentNodeEntry {
|
|
878
|
+
type: 1;
|
|
879
|
+
}
|
|
880
|
+
interface TalentNodePassive extends TalentNode {
|
|
881
|
+
type: 0;
|
|
882
|
+
}
|
|
883
|
+
interface TalentNodeSpell extends TalentNode {
|
|
884
|
+
type: 1;
|
|
885
|
+
}
|
|
886
|
+
//#endregion
|
|
887
|
+
//#region src/resources/character/character.d.ts
|
|
888
|
+
/**
|
|
889
|
+
* @param region The region (us, eu, kr or tw).
|
|
890
|
+
* @param realm The realm (can be formatted as "Altar of Storms" or "altar-of-storms").
|
|
891
|
+
* @param name The character name.
|
|
892
|
+
* @param fields The fields to include in the response. If not provided, only the basic profile information will be returned.
|
|
893
|
+
* @returns information about a character. See {@link ViewCharacterProfileResponse}
|
|
894
|
+
*/
|
|
895
|
+
declare function characterProfile(region: string, realm: string, name: string, fields?: Array<CharacterProfileFieldKey>): Resource<ViewCharacterProfileResponse>;
|
|
896
|
+
//#endregion
|
|
897
|
+
//#region src/resources/general/types.d.ts
|
|
898
|
+
/**
|
|
899
|
+
* Period information for each region
|
|
900
|
+
* @see {@link https://raider.io/api#/general/getApiV1Periods}
|
|
901
|
+
*/
|
|
902
|
+
interface ViewPeriodsResponse {
|
|
903
|
+
periods: Array<RegionPeriod>;
|
|
904
|
+
}
|
|
905
|
+
interface Period {
|
|
906
|
+
end: string;
|
|
907
|
+
period: number;
|
|
908
|
+
start: string;
|
|
909
|
+
}
|
|
910
|
+
interface RegionPeriod {
|
|
911
|
+
current: Period;
|
|
912
|
+
next: Period;
|
|
913
|
+
previous: Period;
|
|
914
|
+
region: RegionShortName;
|
|
915
|
+
}
|
|
916
|
+
//#endregion
|
|
917
|
+
//#region src/resources/general/general.d.ts
|
|
918
|
+
/**
|
|
919
|
+
* @returns current, previous and next period ids and data ranges. See {@link ViewPeriodsResponse}
|
|
920
|
+
*/
|
|
921
|
+
declare function periods(): Resource<ViewPeriodsResponse>;
|
|
922
|
+
//#endregion
|
|
923
|
+
//#region src/resources/guild/types.d.ts
|
|
924
|
+
/**
|
|
925
|
+
* Information about a guild boss kill
|
|
926
|
+
* @see {@link https://raider.io/api#/guild/getApiV1GuildsBosskill}
|
|
927
|
+
*/
|
|
928
|
+
interface ViewGuildBossKillResponse {
|
|
929
|
+
kill: BossKill;
|
|
930
|
+
roster: Array<BossKillRosterMember>;
|
|
931
|
+
}
|
|
932
|
+
/**
|
|
933
|
+
* Information about a guild
|
|
934
|
+
* @see {@link https://raider.io/api#/guild/getApiV1GuildsProfile}
|
|
935
|
+
*/
|
|
936
|
+
interface ViewGuildProfileResponse {
|
|
937
|
+
displayName: null | string;
|
|
938
|
+
faction: Faction;
|
|
939
|
+
last_crawled_at: ISODateString;
|
|
940
|
+
members?: Array<GuildMember>;
|
|
941
|
+
name: string;
|
|
942
|
+
profile_url: string;
|
|
943
|
+
raid_encounters?: Array<RaidEncounter>;
|
|
944
|
+
raid_progression?: Record<RaidInstance, RaidProgression>;
|
|
945
|
+
raid_rankings?: Record<RaidInstance, RaidDifficultyRankings>;
|
|
946
|
+
realm: Realm['name'];
|
|
947
|
+
region: RegionShortName;
|
|
948
|
+
}
|
|
949
|
+
declare const guildProfileKeys: {
|
|
950
|
+
readonly members: "members";
|
|
951
|
+
readonly raid_progression: "raid_progression";
|
|
952
|
+
readonly raid_rankings: "raid_rankings";
|
|
953
|
+
};
|
|
954
|
+
type GuildProfileFieldKey = (typeof guildProfileKeys)[keyof typeof guildProfileKeys] | `raid_encounters:${RaidInstance}:${RaidDifficulty}`;
|
|
955
|
+
interface BossKill {
|
|
956
|
+
defeatedAt: ISODateString;
|
|
957
|
+
durationMs: number;
|
|
958
|
+
isSuccess: boolean;
|
|
959
|
+
itemLevelEquippedAvg: number;
|
|
960
|
+
itemLevelEquippedMax: number;
|
|
961
|
+
itemLevelEquippedMin: number;
|
|
962
|
+
pulledAt: ISODateString;
|
|
963
|
+
}
|
|
964
|
+
interface BossKillRosterMember {
|
|
965
|
+
character: {
|
|
966
|
+
artifactTraits: number;
|
|
967
|
+
class: PlayableClass;
|
|
968
|
+
gender: Gender;
|
|
969
|
+
id: number;
|
|
970
|
+
interestingAuras: Array<Spell>;
|
|
971
|
+
itemLevelEquipped: number;
|
|
972
|
+
items: CharacterGear;
|
|
973
|
+
name: string;
|
|
974
|
+
race: PlayableRace;
|
|
975
|
+
realm: Realm;
|
|
976
|
+
recruitmentProfiles: Array<RecruitmentProfile>;
|
|
977
|
+
region: Region;
|
|
978
|
+
spec: Specialization;
|
|
979
|
+
talentLoadout: TalentLoadout;
|
|
980
|
+
thumbnail: string;
|
|
981
|
+
};
|
|
982
|
+
vantus: boolean;
|
|
983
|
+
}
|
|
984
|
+
interface GuildMember {
|
|
985
|
+
character: Pick<Character, 'achievement_points' | 'active_spec_name' | 'active_spec_role' | 'class' | 'faction' | 'gender' | 'last_crawled_at' | 'name' | 'profile_banner' | 'profile_url' | 'race' | 'realm' | 'region'>;
|
|
986
|
+
rank: number;
|
|
987
|
+
}
|
|
988
|
+
//#endregion
|
|
989
|
+
//#region src/resources/guild/guild.d.ts
|
|
990
|
+
/**
|
|
991
|
+
* @param region The region (us, eu, kr or tw).
|
|
992
|
+
* @param realm The realm (can be formatted as "Altar of Storms" or "altar-of-storms").
|
|
993
|
+
* @param guild The guild name.
|
|
994
|
+
* @param raid The raid instance slug (e.g. "castle-nathria").
|
|
995
|
+
* @param boss The boss slug (e.g. "sire-denathrius").
|
|
996
|
+
* @param difficulty The raid difficulty (e.g. "mythic").
|
|
997
|
+
* @returns information about a guild boss kill. See {@link ViewGuildBossKillResponse}
|
|
998
|
+
*/
|
|
999
|
+
declare function guildBossKill(region: string, realm: string, guild: string, raid: string, boss: string, difficulty: RaidDifficulty): Resource<ViewGuildBossKillResponse>;
|
|
1000
|
+
/**
|
|
1001
|
+
* @param region The region (us, eu, kr or tw).
|
|
1002
|
+
* @param realm The realm (can be formatted as "Altar of Storms" or "altar-of-storms").
|
|
1003
|
+
* @param name The guild name.
|
|
1004
|
+
* @param fields The fields to include in the response. If not provided, only the basic profile information will be returned.
|
|
1005
|
+
* @returns Profile information about the guild, including optional fields. See {@link ViewGuildProfileResponse}
|
|
1006
|
+
*/
|
|
1007
|
+
declare function guildProfile(region: string, realm: string, name: string, fields?: Array<GuildProfileFieldKey>): Resource<ViewGuildProfileResponse>;
|
|
1008
|
+
//#endregion
|
|
1009
|
+
//#region src/resources/mythic-plus/mythic-plus.d.ts
|
|
1010
|
+
/**
|
|
1011
|
+
* @param region The region (us, eu, kr or tw).
|
|
1012
|
+
* @param locale The locale (en, es, fr, de, ru, ko or cn).
|
|
1013
|
+
* @returns List of current Mythic Plus affixes, including their names and descriptions in the specified locale. See {@link ViewMythicPlusAffixesResponse}
|
|
1014
|
+
*/
|
|
1015
|
+
declare function mythicPlusAffixes(region?: RegionShortName, locale?: Locale): Resource<ViewMythicPlusAffixesResponse>;
|
|
1016
|
+
/**
|
|
1017
|
+
*
|
|
1018
|
+
* @param scope The week scope (current or previous).
|
|
1019
|
+
* @param region The region (us, eu, kr or tw).
|
|
1020
|
+
* @param realm The realm (can be formatted as "Altar of Storms" or "altar-of-storms"). Optional, if not provided, the capacity for the entire region will be returned.
|
|
1021
|
+
* @returns The Mythic Plus leaderboard capacity for the specified scope, region and realm (if provided). See {@link ViewMythicPlusLeaderboardCapacityResponse}
|
|
1022
|
+
*/
|
|
1023
|
+
declare function mythicPlusLeaderboardCapacity(scope: WeekScope, region: RegionShortName, realm?: null | string): Resource<ViewMythicPlusLeaderboardCapacityResponse>;
|
|
1024
|
+
/**
|
|
1025
|
+
* @param season The season slug (e.g. "season-tww-4").
|
|
1026
|
+
* @param id The ID of the Mythic Plus run.
|
|
1027
|
+
* @returns Detailed information about the specified Mythic Plus run, including the dungeon, keystone level, clear time, affixes, roster and more. See {@link ViewMythicPlusRunDetailsResponse}
|
|
1028
|
+
*/
|
|
1029
|
+
declare function mythicPlusRunDetails(season: SeasonReference, id: number): Resource<ViewMythicPlusRunDetailsResponse>;
|
|
1030
|
+
/**
|
|
1031
|
+
* @param region The region (us, eu, kr or tw).
|
|
1032
|
+
* @param page The page number for pagination (starting from 0).
|
|
1033
|
+
* @param season The season slug (e.g. "season-tww-4"). Optional, if not provided, runs from the current season will be returned.
|
|
1034
|
+
* @param dungeon The name of the dungeon (e.g. "plaguefall"). Optional, if not provided, runs from all dungeons will be returned.
|
|
1035
|
+
* @param affixes A hyphen-separated list of affix slugs (e.g. "fortified-bolstering"). Optional, if not provided, runs with any affixes will be returned.
|
|
1036
|
+
* @returns information about the top runs that match the given criteria. See {@link ViewMythicPlusRunsResponse}
|
|
1037
|
+
*/
|
|
1038
|
+
declare function mythicPlusRuns(region: 'world' | Exclude<RegionShortName, 'cn'>, page?: number, season?: SeasonReference, dungeon?: string, affixes?: string): Resource<ViewMythicPlusRunsResponse>;
|
|
1039
|
+
/**
|
|
1040
|
+
* @param season The season slug (e.g. "season-tww-4"). Optional, if not provided, the score tiers for the current season will be returned.
|
|
1041
|
+
* @returns the colors used for score tiers in the given season. See {@link ViewMythicPlusScoreTiersResponse}
|
|
1042
|
+
*/
|
|
1043
|
+
declare function mythicPlusScoreTiers(season?: SeasonReference): Resource<ViewMythicPlusScoreTiersResponse>;
|
|
1044
|
+
/**
|
|
1045
|
+
* @param region The region (us, eu, kr or tw).
|
|
1046
|
+
* @param season The season slug (e.g. "season-tww-4"). Optional, if not provided, the cutoffs for the current season will be returned.
|
|
1047
|
+
* @returns the Mythic+ Season cutoffs for a region. See {@link ViewMythicPlusSeasonCutoffsResponse}
|
|
1048
|
+
*/
|
|
1049
|
+
declare function mythicPlusSeasonCutoffs(region: RegionShortName, season?: SeasonReference): Resource<ViewMythicPlusSeasonCutoffsResponse>;
|
|
1050
|
+
/**
|
|
1051
|
+
* @param expansionId The expansion ID (e.g. 9 for Shadowlands).
|
|
1052
|
+
* @returns mythic plus season and dungeon static data for a specific expansion (slugs, names, etc.). See {@link ViewMythicPlusStaticDataResponse}
|
|
1053
|
+
*/
|
|
1054
|
+
declare function mythicPlusStaticData(expansionId: ExpansionId): Resource<ViewMythicPlusStaticDataResponse>;
|
|
1055
|
+
//#endregion
|
|
1056
|
+
//#region src/resources/raiding/raiding.d.ts
|
|
1057
|
+
/**
|
|
1058
|
+
* @param raid The raid instance to retrieve boss rankings for.
|
|
1059
|
+
* @param boss The boss slug to retrieve rankings for (e.g. "sire-denathrius").
|
|
1060
|
+
* @param difficulty The raid difficulty to retrieve rankings for (e.g. "mythic").
|
|
1061
|
+
* @param region The region to retrieve rankings for (us, eu, kr or tw).
|
|
1062
|
+
* @param realm The realm slug to retrieve rankings for (e.g. "area-52"). Optional, if not provided rankings for all realms in the specified region will be returned.
|
|
1063
|
+
* @returns the rankings for the specified boss, raid, difficulty and region. See {@link ViewBossRankingsResponse}
|
|
1064
|
+
*/
|
|
1065
|
+
declare function raidingBossRankings(raid: RaidInstance, boss: string, difficulty: RaidDifficulty, region: RegionShortName, realm?: null | Realm['slug']): Resource<ViewBossRankingsResponse>;
|
|
1066
|
+
/**
|
|
1067
|
+
* @param raid The raid instance to retrieve boss rankings for.
|
|
1068
|
+
* @param difficulty The raid difficulty to retrieve rankings for (e.g. "mythic").
|
|
1069
|
+
* @param region The region to retrieve rankings for (us, eu, kr or tw).
|
|
1070
|
+
* @returns the hall of fame for a given raid. See {@link ViewHallOfFameResponse}
|
|
1071
|
+
*/
|
|
1072
|
+
declare function raidingHallOfFame(raid: RaidInstance, difficulty: RaidDifficulty, region: RegionShortName): Resource<ViewHallOfFameResponse>;
|
|
1073
|
+
/**
|
|
1074
|
+
* @param raid The raid instance to retrieve progression for.
|
|
1075
|
+
* @param difficulty The raid difficulty to retrieve progression for (e.g. "mythic").
|
|
1076
|
+
* @param region The region to retrieve progression for (us, eu, kr or tw).
|
|
1077
|
+
* @returns the raid progression for a given raid. See {@link ViewRaidProgressionResponse}
|
|
1078
|
+
*/
|
|
1079
|
+
declare function raidingProgression(raid: RaidInstance, difficulty: RaidDifficulty, region: RegionShortName): Resource<ViewRaidProgressionResponse>;
|
|
1080
|
+
/**
|
|
1081
|
+
* @param raid The raid instance to retrieve rankings for.
|
|
1082
|
+
* @param difficulty The raid difficulty to retrieve rankings for (e.g. "mythic").
|
|
1083
|
+
* @param region The region to retrieve rankings for (us, eu, kr or tw).
|
|
1084
|
+
* @param realm The realm slug to retrieve rankings for (e.g. "area-52"). Optional, if not provided rankings for all realms in the specified region will be returned.
|
|
1085
|
+
* @param guilds A comma-separated list of guild names to filter the rankings by (e.g. "guild1,guild2"). Optional, if not provided rankings for all guilds will be returned.
|
|
1086
|
+
* @param limit The number of results to return per page. Default is 50.
|
|
1087
|
+
* @param page The page number to return (starting from 0). Default is 0.
|
|
1088
|
+
* @returns the raid rankings for a given raid and region. See {@link ViewRaidRankingsResponse}
|
|
1089
|
+
*/
|
|
1090
|
+
declare function raidingRaidRankings(raid: RaidInstance, difficulty: RaidDifficulty, region: RegionShortName, realm: null | string, guilds?: string, limit?: number, page?: number): Resource<ViewRaidRankingsResponse>;
|
|
1091
|
+
/**
|
|
1092
|
+
* @param expansionId The expansion ID (e.g. 9 for Shadowlands).
|
|
1093
|
+
* @returns raid and biss static data for a specific expansion (slugs, names, etc). See {@link ViewRaidingStaticDataResponse}
|
|
1094
|
+
*/
|
|
1095
|
+
declare function raidingStaticData(expansionId: ExpansionId): Resource<ViewRaidingStaticDataResponse>;
|
|
1096
|
+
//#endregion
|
|
1097
|
+
//#region src/client.d.ts
|
|
1098
|
+
/**
|
|
1099
|
+
* A client for the Raider.io API.
|
|
1100
|
+
*
|
|
1101
|
+
* Endpoints are grouped by area (`character`, `general`, `guild`, `mythicPlus`,
|
|
1102
|
+
* `raiding`) and each method returns the parsed, fully-typed response. The
|
|
1103
|
+
* underlying resource builder is linked from each group for full parameter docs.
|
|
1104
|
+
* @example
|
|
1105
|
+
* ```ts
|
|
1106
|
+
* const client = new RaiderioClient();
|
|
1107
|
+
* const profile = await client.character.profile("eu", "ysondre", "melestra", [
|
|
1108
|
+
* "gear",
|
|
1109
|
+
* "mythic_plus_scores_by_season",
|
|
1110
|
+
* ]);
|
|
1111
|
+
* ```
|
|
1112
|
+
*/
|
|
1113
|
+
declare class RaiderioClient {
|
|
1114
|
+
private readonly http;
|
|
1115
|
+
constructor(options?: ClientOptions);
|
|
1116
|
+
/** Character endpoints. See {@link characterProfile}. */
|
|
1117
|
+
readonly character: {
|
|
1118
|
+
profile: (region: string, realm: string, name: string, fields?: CharacterProfileFieldKey[] | undefined) => ResourceResponse<ViewCharacterProfileResponse>;
|
|
1119
|
+
};
|
|
1120
|
+
/** General endpoints. See {@link periods}. */
|
|
1121
|
+
readonly general: {
|
|
1122
|
+
periods: () => ResourceResponse<ViewPeriodsResponse>;
|
|
1123
|
+
};
|
|
1124
|
+
/** Guild endpoints. See {@link guildBossKill} and {@link guildProfile}. */
|
|
1125
|
+
readonly guild: {
|
|
1126
|
+
bossKill: (region: string, realm: string, guild: string, raid: string, boss: string, difficulty: "normal" | "heroic" | "mythic") => ResourceResponse<ViewGuildBossKillResponse>;
|
|
1127
|
+
profile: (region: string, realm: string, name: string, fields?: GuildProfileFieldKey[] | undefined) => ResourceResponse<ViewGuildProfileResponse>;
|
|
1128
|
+
};
|
|
1129
|
+
/** Mythic+ endpoints. */
|
|
1130
|
+
readonly mythicPlus: {
|
|
1131
|
+
affixes: (region?: "us" | "eu" | "tw" | "kr" | "cn" | undefined, locale?: "tw" | "cn" | "en" | "ru" | "ko" | "pt" | "it" | "fr" | "es" | "de" | undefined) => ResourceResponse<ViewMythicPlusAffixesResponse>;
|
|
1132
|
+
leaderboardCapacity: (scope: "current" | "previous", region: "us" | "eu" | "tw" | "kr" | "cn", realm?: string | null | undefined) => ResourceResponse<ViewMythicPlusLeaderboardCapacityResponse>;
|
|
1133
|
+
runDetails: (season: string, id: number) => ResourceResponse<ViewMythicPlusRunDetailsResponse>;
|
|
1134
|
+
runs: (region: "us" | "eu" | "tw" | "kr" | "world", page?: number | undefined, season?: string | undefined, dungeon?: string | undefined, affixes?: string | undefined) => ResourceResponse<ViewMythicPlusRunsResponse>;
|
|
1135
|
+
scoreTiers: (season?: string | undefined) => ResourceResponse<ViewMythicPlusScoreTiersResponse>;
|
|
1136
|
+
seasonCutoffs: (region: "us" | "eu" | "tw" | "kr" | "cn", season?: string | undefined) => ResourceResponse<ViewMythicPlusSeasonCutoffsResponse>;
|
|
1137
|
+
staticData: (expansionId: 6 | 10 | 7 | 8 | 9 | 11) => ResourceResponse<ViewMythicPlusStaticDataResponse>;
|
|
1138
|
+
};
|
|
1139
|
+
/** Raiding endpoints. */
|
|
1140
|
+
readonly raiding: {
|
|
1141
|
+
bossRankings: (raid: "tier-mn-1" | "manaforge-omega" | "liberation-of-undermine" | "nerubar-palace" | "blackrock-depths" | "awakened-amirdrassil-the-dreams-hope" | "awakened-aberrus-the-shadowed-crucible" | "awakened-vault-of-the-incarnates" | "amirdrassil-the-dreams-hope" | "aberrus-the-shadowed-crucible" | "vault-of-the-incarnates" | "fated-sepulcher-of-the-first-ones" | "fated-sanctum-of-domination" | "fated-castle-nathria" | "sepulcher-of-the-first-ones" | "sanctum-of-domination" | "castle-nathria" | "nyalotha-the-waking-city" | "the-eternal-palace" | "crucible-of-storms" | "battle-of-dazaralor" | "uldir" | "antorus-the-burning-throne" | "tomb-of-sargeras" | "the-nighthold" | "trial-of-valor" | "the-emerald-nightmare", boss: string, difficulty: "normal" | "heroic" | "mythic", region: "us" | "eu" | "tw" | "kr" | "cn", realm?: string | null | undefined) => ResourceResponse<ViewBossRankingsResponse>;
|
|
1142
|
+
hallOfFame: (raid: "tier-mn-1" | "manaforge-omega" | "liberation-of-undermine" | "nerubar-palace" | "blackrock-depths" | "awakened-amirdrassil-the-dreams-hope" | "awakened-aberrus-the-shadowed-crucible" | "awakened-vault-of-the-incarnates" | "amirdrassil-the-dreams-hope" | "aberrus-the-shadowed-crucible" | "vault-of-the-incarnates" | "fated-sepulcher-of-the-first-ones" | "fated-sanctum-of-domination" | "fated-castle-nathria" | "sepulcher-of-the-first-ones" | "sanctum-of-domination" | "castle-nathria" | "nyalotha-the-waking-city" | "the-eternal-palace" | "crucible-of-storms" | "battle-of-dazaralor" | "uldir" | "antorus-the-burning-throne" | "tomb-of-sargeras" | "the-nighthold" | "trial-of-valor" | "the-emerald-nightmare", difficulty: "normal" | "heroic" | "mythic", region: "us" | "eu" | "tw" | "kr" | "cn") => ResourceResponse<ViewHallOfFameResponse>;
|
|
1143
|
+
progression: (raid: "tier-mn-1" | "manaforge-omega" | "liberation-of-undermine" | "nerubar-palace" | "blackrock-depths" | "awakened-amirdrassil-the-dreams-hope" | "awakened-aberrus-the-shadowed-crucible" | "awakened-vault-of-the-incarnates" | "amirdrassil-the-dreams-hope" | "aberrus-the-shadowed-crucible" | "vault-of-the-incarnates" | "fated-sepulcher-of-the-first-ones" | "fated-sanctum-of-domination" | "fated-castle-nathria" | "sepulcher-of-the-first-ones" | "sanctum-of-domination" | "castle-nathria" | "nyalotha-the-waking-city" | "the-eternal-palace" | "crucible-of-storms" | "battle-of-dazaralor" | "uldir" | "antorus-the-burning-throne" | "tomb-of-sargeras" | "the-nighthold" | "trial-of-valor" | "the-emerald-nightmare", difficulty: "normal" | "heroic" | "mythic", region: "us" | "eu" | "tw" | "kr" | "cn") => ResourceResponse<ViewRaidProgressionResponse>;
|
|
1144
|
+
raidRankings: (raid: "tier-mn-1" | "manaforge-omega" | "liberation-of-undermine" | "nerubar-palace" | "blackrock-depths" | "awakened-amirdrassil-the-dreams-hope" | "awakened-aberrus-the-shadowed-crucible" | "awakened-vault-of-the-incarnates" | "amirdrassil-the-dreams-hope" | "aberrus-the-shadowed-crucible" | "vault-of-the-incarnates" | "fated-sepulcher-of-the-first-ones" | "fated-sanctum-of-domination" | "fated-castle-nathria" | "sepulcher-of-the-first-ones" | "sanctum-of-domination" | "castle-nathria" | "nyalotha-the-waking-city" | "the-eternal-palace" | "crucible-of-storms" | "battle-of-dazaralor" | "uldir" | "antorus-the-burning-throne" | "tomb-of-sargeras" | "the-nighthold" | "trial-of-valor" | "the-emerald-nightmare", difficulty: "normal" | "heroic" | "mythic", region: "us" | "eu" | "tw" | "kr" | "cn", realm: string | null, guilds?: string | undefined, limit?: number | undefined, page?: number | undefined) => ResourceResponse<ViewRaidRankingsResponse>;
|
|
1145
|
+
staticData: (expansionId: 6 | 10 | 7 | 8 | 9 | 11) => ResourceResponse<ViewRaidingStaticDataResponse>;
|
|
1146
|
+
};
|
|
1147
|
+
/**
|
|
1148
|
+
* Escape hatch: send any {@link Resource} through the client. Useful for
|
|
1149
|
+
* resources built by hand or not yet covered by a dedicated method.
|
|
1150
|
+
* @param resource The resource to fetch.
|
|
1151
|
+
* @param options Per-request overrides (api key, ky options).
|
|
1152
|
+
* @returns The parsed, typed response.
|
|
1153
|
+
*/
|
|
1154
|
+
request<T>(resource: Resource<T>, options?: Partial<ClientOptions>): ResourceResponse<T>;
|
|
1155
|
+
}
|
|
1156
|
+
/**
|
|
1157
|
+
* Create a new {@link RaiderioClient}.
|
|
1158
|
+
* @param options Client options. See {@link ClientOptions}.
|
|
1159
|
+
* @returns A new Raider.io API client.
|
|
1160
|
+
*/
|
|
1161
|
+
declare const createRaiderioClient: (options?: ClientOptions) => RaiderioClient;
|
|
1162
|
+
//#endregion
|
|
1163
|
+
//#region src/http/http.d.ts
|
|
1164
|
+
/**
|
|
1165
|
+
* Low-level HTTP layer for the Raider.io API.
|
|
1166
|
+
*
|
|
1167
|
+
* Turns a {@link Resource} (a `path` + `query` description produced by the
|
|
1168
|
+
* resource builders) into an actual HTTP request and returns the parsed JSON.
|
|
1169
|
+
* Most consumers should use the higher-level `RaiderioClient` instead.
|
|
1170
|
+
*/
|
|
1171
|
+
declare class HttpClient {
|
|
1172
|
+
defaults: {
|
|
1173
|
+
key?: string;
|
|
1174
|
+
};
|
|
1175
|
+
private ky;
|
|
1176
|
+
constructor(options?: ClientOptions);
|
|
1177
|
+
/**
|
|
1178
|
+
* Build the absolute request URL for a resource.
|
|
1179
|
+
* @param resource The resource to fetch. See {@link Resource}.
|
|
1180
|
+
* @returns The fully-qualified request URL.
|
|
1181
|
+
*/
|
|
1182
|
+
getRequestUrl<T>(resource: Resource<T>): string;
|
|
1183
|
+
/**
|
|
1184
|
+
* Send a request to the Raider.io API.
|
|
1185
|
+
* @param resource The resource to fetch. See {@link Resource}.
|
|
1186
|
+
* @param options Per-request overrides (api key, ky options). See {@link ClientOptions}.
|
|
1187
|
+
* @returns The parsed JSON response. See {@link ResourceResponse}.
|
|
1188
|
+
*/
|
|
1189
|
+
request<T>(resource: Resource<T>, options?: Partial<ClientOptions>): ResourceResponse<T>;
|
|
1190
|
+
}
|
|
1191
|
+
//#endregion
|
|
1192
|
+
export { BATTLE_FOR_AZEROTH, Character, CharacterGear, CharacterProfileFieldKey, type ClientOptions, DRAGONFLIGHT, ExpansionId, Faction, Gender, GuildProfileFieldKey, HttpClient, ISODateString, ItemSlot, KeystoneRun, LEGION, Locale, LocalizedString, MIDNIGHT, PlayableClass, PlayableRace, RaidDifficulty, RaidDifficultyRankings, RaidEncounter, RaidInstance, RaidProgression, RaiderioClient, type Ranks, Realm, RealmSummary, RecruitmentProfile, Region, RegionShortName, Resource, ResourceResponse, Role, SHADOWLANDS, SeasonReference, Specialization, Spell, type Stream, THE_WAR_WITHIN, TalentLoadout, TalentLoadoutEntry, type Video, ViewBossRankingsResponse, ViewCharacterProfileResponse, ViewGuildBossKillResponse, ViewGuildProfileResponse, ViewHallOfFameResponse, ViewMythicPlusAffixesResponse, ViewMythicPlusLeaderboardCapacityResponse, ViewMythicPlusRunDetailsResponse, ViewMythicPlusRunsResponse, ViewMythicPlusScoreTiersResponse, ViewMythicPlusSeasonCutoffsResponse, ViewMythicPlusStaticDataResponse, type ViewPeriodsResponse, ViewRaidProgressionResponse, ViewRaidRankingsResponse, ViewRaidingStaticDataResponse, WeekScope, bracketDungeonLevels, characterProfile, characterProfileFieldKeys, createRaiderioClient, expansionIds, factions, genders, guildBossKill, guildProfile, guildProfileKeys, locales, mythicPlusAffixes, mythicPlusLeaderboardCapacity, mythicPlusRunDetails, mythicPlusRuns, mythicPlusScoreTiers, mythicPlusSeasonCutoffs, mythicPlusStaticData, percentiles, periods, raidDifficulties, raidInstances, raiderIoBasePath, raidingBossRankings, raidingHallOfFame, raidingProgression, raidingRaidRankings, raidingStaticData, regions, roles, seasonReferences, slots, weekScopes };
|
|
1193
|
+
//# sourceMappingURL=index.d.ts.map
|