@wise-old-man/utils 1.0.26 → 2.0.0-beta.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.
@@ -0,0 +1,1799 @@
1
+ export type Achievement$1 = {
2
+ playerId: number
3
+ name: string
4
+ metric: Metric
5
+ threshold: bigint
6
+ createdAt: Date
7
+ }
8
+
9
+
10
+ export type Competition = {
11
+ id: number
12
+ title: string
13
+ metric: Metric
14
+ type: CompetitionType
15
+ startsAt: Date
16
+ endsAt: Date
17
+ groupId: number | null
18
+ score: number
19
+ verificationHash: string
20
+ createdAt: Date | null
21
+ updatedAt: Date | null
22
+ }
23
+
24
+
25
+ export type Delta$1 = {
26
+ id: number
27
+ playerId: number
28
+ period: Period
29
+ startedAt: Date
30
+ endedAt: Date
31
+ updatedAt: Date | null
32
+ overall: bigint
33
+ attack: number
34
+ defence: number
35
+ strength: number
36
+ hitpoints: number
37
+ ranged: number
38
+ prayer: number
39
+ magic: number
40
+ cooking: number
41
+ woodcutting: number
42
+ fletching: number
43
+ fishing: number
44
+ firemaking: number
45
+ crafting: number
46
+ smithing: number
47
+ mining: number
48
+ herblore: number
49
+ agility: number
50
+ thieving: number
51
+ slayer: number
52
+ farming: number
53
+ runecrafting: number
54
+ hunter: number
55
+ construction: number
56
+ abyssal_sire: number
57
+ alchemical_hydra: number
58
+ barrows_chests: number
59
+ bryophyta: number
60
+ callisto: number
61
+ cerberus: number
62
+ chambers_of_xeric: number
63
+ chambers_of_xeric_challenge_mode: number
64
+ chaos_elemental: number
65
+ chaos_fanatic: number
66
+ commander_zilyana: number
67
+ corporeal_beast: number
68
+ crazy_archaeologist: number
69
+ dagannoth_prime: number
70
+ dagannoth_rex: number
71
+ dagannoth_supreme: number
72
+ deranged_archaeologist: number
73
+ general_graardor: number
74
+ giant_mole: number
75
+ grotesque_guardians: number
76
+ hespori: number
77
+ kalphite_queen: number
78
+ king_black_dragon: number
79
+ kraken: number
80
+ kreearra: number
81
+ kril_tsutsaroth: number
82
+ mimic: number
83
+ nex: number
84
+ nightmare: number
85
+ phosanis_nightmare: number
86
+ obor: number
87
+ sarachnis: number
88
+ scorpia: number
89
+ skotizo: number
90
+ tempoross: number
91
+ the_gauntlet: number
92
+ the_corrupted_gauntlet: number
93
+ theatre_of_blood: number
94
+ theatre_of_blood_hard_mode: number
95
+ thermonuclear_smoke_devil: number
96
+ tzkal_zuk: number
97
+ tztok_jad: number
98
+ venenatis: number
99
+ vetion: number
100
+ vorkath: number
101
+ wintertodt: number
102
+ zalcano: number
103
+ zulrah: number
104
+ league_points: number
105
+ bounty_hunter_hunter: number
106
+ bounty_hunter_rogue: number
107
+ clue_scrolls_all: number
108
+ clue_scrolls_beginner: number
109
+ clue_scrolls_easy: number
110
+ clue_scrolls_medium: number
111
+ clue_scrolls_hard: number
112
+ clue_scrolls_elite: number
113
+ clue_scrolls_master: number
114
+ last_man_standing: number
115
+ pvp_arena: number
116
+ soul_wars_zeal: number
117
+ guardians_of_the_rift: number
118
+ ehp: number
119
+ ehb: number
120
+ }
121
+
122
+
123
+ export type Group = {
124
+ id: number
125
+ name: string
126
+ clanChat: string | null
127
+ description: string | null
128
+ homeworld: number | null
129
+ verified: boolean
130
+ score: number
131
+ verificationHash: string
132
+ createdAt: Date
133
+ updatedAt: Date
134
+ }
135
+
136
+
137
+ export type Membership = {
138
+ playerId: number
139
+ groupId: number
140
+ role: GroupRole
141
+ createdAt: Date
142
+ updatedAt: Date
143
+ }
144
+
145
+
146
+ export type NameChange = {
147
+ id: number
148
+ playerId: number
149
+ oldName: string
150
+ newName: string
151
+ status: NameChangeStatus
152
+ resolvedAt: Date | null
153
+ updatedAt: Date
154
+ createdAt: Date
155
+ }
156
+
157
+
158
+ export type Participation = {
159
+ playerId: number
160
+ competitionId: number
161
+ startSnapshotId: number | null
162
+ endSnapshotId: number | null
163
+ teamName: string | null
164
+ createdAt: Date
165
+ updatedAt: Date
166
+ }
167
+
168
+
169
+ export type Player$1 = {
170
+ id: number
171
+ username: string
172
+ displayName: string
173
+ type: PlayerType
174
+ build: PlayerBuild
175
+ country: Country | null
176
+ flagged: boolean
177
+ exp: bigint
178
+ ehp: number
179
+ ehb: number
180
+ ttm: number
181
+ tt200m: number
182
+ registeredAt: Date
183
+ updatedAt: Date | null
184
+ lastChangedAt: Date | null
185
+ lastImportedAt: Date | null
186
+ }
187
+
188
+
189
+ export type Record$1 = {
190
+ id: number
191
+ playerId: number
192
+ period: Period
193
+ metric: Metric
194
+ value: bigint
195
+ updatedAt: Date
196
+ }
197
+
198
+
199
+ export type Snapshot$1 = {
200
+ id: number
201
+ playerId: number
202
+ importedAt: Date | null
203
+ createdAt: Date
204
+ overallRank: number
205
+ overallExperience: bigint
206
+ attackRank: number
207
+ attackExperience: number
208
+ defenceRank: number
209
+ defenceExperience: number
210
+ strengthRank: number
211
+ strengthExperience: number
212
+ hitpointsRank: number
213
+ hitpointsExperience: number
214
+ rangedRank: number
215
+ rangedExperience: number
216
+ prayerRank: number
217
+ prayerExperience: number
218
+ magicRank: number
219
+ magicExperience: number
220
+ cookingRank: number
221
+ cookingExperience: number
222
+ woodcuttingRank: number
223
+ woodcuttingExperience: number
224
+ fletchingRank: number
225
+ fletchingExperience: number
226
+ fishingRank: number
227
+ fishingExperience: number
228
+ firemakingRank: number
229
+ firemakingExperience: number
230
+ craftingRank: number
231
+ craftingExperience: number
232
+ smithingRank: number
233
+ smithingExperience: number
234
+ miningRank: number
235
+ miningExperience: number
236
+ herbloreRank: number
237
+ herbloreExperience: number
238
+ agilityRank: number
239
+ agilityExperience: number
240
+ thievingRank: number
241
+ thievingExperience: number
242
+ slayerRank: number
243
+ slayerExperience: number
244
+ farmingRank: number
245
+ farmingExperience: number
246
+ runecraftingRank: number
247
+ runecraftingExperience: number
248
+ hunterRank: number
249
+ hunterExperience: number
250
+ constructionRank: number
251
+ constructionExperience: number
252
+ league_pointsRank: number
253
+ league_pointsScore: number
254
+ bounty_hunter_hunterRank: number
255
+ bounty_hunter_hunterScore: number
256
+ bounty_hunter_rogueScore: number
257
+ clue_scrolls_allRank: number
258
+ bounty_hunter_rogueRank: number
259
+ clue_scrolls_allScore: number
260
+ clue_scrolls_beginnerRank: number
261
+ clue_scrolls_easyRank: number
262
+ clue_scrolls_beginnerScore: number
263
+ clue_scrolls_easyScore: number
264
+ clue_scrolls_mediumRank: number
265
+ clue_scrolls_mediumScore: number
266
+ clue_scrolls_hardRank: number
267
+ clue_scrolls_hardScore: number
268
+ clue_scrolls_eliteRank: number
269
+ clue_scrolls_eliteScore: number
270
+ clue_scrolls_masterRank: number
271
+ clue_scrolls_masterScore: number
272
+ last_man_standingRank: number
273
+ last_man_standingScore: number
274
+ pvp_arenaRank: number
275
+ pvp_arenaScore: number
276
+ abyssal_sireRank: number
277
+ abyssal_sireKills: number
278
+ alchemical_hydraRank: number
279
+ alchemical_hydraKills: number
280
+ barrows_chestsRank: number
281
+ barrows_chestsKills: number
282
+ bryophytaKills: number
283
+ bryophytaRank: number
284
+ cerberusKills: number
285
+ chambers_of_xericRank: number
286
+ cerberusRank: number
287
+ callistoRank: number
288
+ callistoKills: number
289
+ chambers_of_xericKills: number
290
+ chambers_of_xeric_challenge_modeRank: number
291
+ chambers_of_xeric_challenge_modeKills: number
292
+ chaos_elementalKills: number
293
+ chaos_fanaticKills: number
294
+ chaos_fanaticRank: number
295
+ commander_zilyanaRank: number
296
+ chaos_elementalRank: number
297
+ commander_zilyanaKills: number
298
+ corporeal_beastRank: number
299
+ corporeal_beastKills: number
300
+ crazy_archaeologistRank: number
301
+ crazy_archaeologistKills: number
302
+ dagannoth_primeRank: number
303
+ dagannoth_primeKills: number
304
+ dagannoth_rexRank: number
305
+ dagannoth_rexKills: number
306
+ dagannoth_supremeRank: number
307
+ dagannoth_supremeKills: number
308
+ deranged_archaeologistRank: number
309
+ deranged_archaeologistKills: number
310
+ general_graardorRank: number
311
+ general_graardorKills: number
312
+ giant_moleRank: number
313
+ giant_moleKills: number
314
+ grotesque_guardiansRank: number
315
+ grotesque_guardiansKills: number
316
+ hesporiRank: number
317
+ kalphite_queenKills: number
318
+ hesporiKills: number
319
+ kalphite_queenRank: number
320
+ king_black_dragonRank: number
321
+ king_black_dragonKills: number
322
+ krakenRank: number
323
+ krakenKills: number
324
+ kreearraRank: number
325
+ kreearraKills: number
326
+ kril_tsutsarothRank: number
327
+ kril_tsutsarothKills: number
328
+ mimicRank: number
329
+ mimicKills: number
330
+ nightmareRank: number
331
+ nightmareKills: number
332
+ oborRank: number
333
+ oborKills: number
334
+ sarachnisRank: number
335
+ sarachnisKills: number
336
+ scorpiaRank: number
337
+ scorpiaKills: number
338
+ skotizoRank: number
339
+ skotizoKills: number
340
+ the_gauntletRank: number
341
+ the_gauntletKills: number
342
+ the_corrupted_gauntletKills: number
343
+ the_corrupted_gauntletRank: number
344
+ theatre_of_bloodRank: number
345
+ theatre_of_bloodKills: number
346
+ thermonuclear_smoke_devilRank: number
347
+ thermonuclear_smoke_devilKills: number
348
+ tzkal_zukRank: number
349
+ tzkal_zukKills: number
350
+ tztok_jadRank: number
351
+ tztok_jadKills: number
352
+ venenatisRank: number
353
+ venenatisKills: number
354
+ vetionRank: number
355
+ vetionKills: number
356
+ vorkathRank: number
357
+ vorkathKills: number
358
+ wintertodtRank: number
359
+ zalcanoRank: number
360
+ wintertodtKills: number
361
+ zalcanoKills: number
362
+ zulrahRank: number
363
+ zulrahKills: number
364
+ ehpValue: number
365
+ ehbValue: number
366
+ ehbRank: number
367
+ ehpRank: number
368
+ soul_wars_zealScore: number
369
+ soul_wars_zealRank: number
370
+ temporossKills: number
371
+ temporossRank: number
372
+ theatre_of_blood_hard_modeKills: number
373
+ theatre_of_blood_hard_modeRank: number
374
+ phosanis_nightmareKills: number
375
+ phosanis_nightmareRank: number
376
+ nexKills: number
377
+ nexRank: number
378
+ guardians_of_the_riftScore: number
379
+ guardians_of_the_riftRank: number
380
+ }
381
+
382
+
383
+
384
+
385
+
386
+ /**
387
+ * Prisma currently seems to ignore the @map() in enum declarations.
388
+ *
389
+ * So by declaring this enum in the schema file:
390
+ *
391
+ * enum NameChangeStatus {
392
+ * PENDING @map('pending')
393
+ * DENIED @map('denied')
394
+ * APPROVED @map('approved')
395
+ * }
396
+ *
397
+ * you would expect the prisma client to then generate the following object:
398
+ *
399
+ * const NameChangeStatus = {
400
+ * PENDING: 'pending',
401
+ * DENIED: 'denied',
402
+ * APPROVED: 'approved',
403
+ * }
404
+ *
405
+ * but unfortunately, the mapping is only used for queries, and the actual esulting object is this:
406
+ *
407
+ * const NameChangeStatus = {
408
+ * PENDING: 'PENDING',
409
+ * DENIED: 'DENIED',
410
+ * APPROVED: 'APPROVED',
411
+ * }
412
+ *
413
+ * And because I'd hate having to call enum values in lowercase, like:
414
+ * NameChangeStatus.pending
415
+ * Metric.king_black_dragon
416
+ * Period.day
417
+ *
418
+ * I'd rather do some mapping to ensure I have the best of both worlds,
419
+ * lowercase database values, but with uppercase in code.
420
+ * With the mappings below, we can now use prisma enums by calling them with uppercase, like:
421
+ *
422
+ * NameChangeStatus.PENDING
423
+ * Metric.KING_BLACK_DRAGON
424
+ * Period.DAY
425
+ *
426
+ */
427
+ declare const Skill: {
428
+ readonly OVERALL: "overall";
429
+ readonly ATTACK: "attack";
430
+ readonly DEFENCE: "defence";
431
+ readonly STRENGTH: "strength";
432
+ readonly HITPOINTS: "hitpoints";
433
+ readonly RANGED: "ranged";
434
+ readonly PRAYER: "prayer";
435
+ readonly MAGIC: "magic";
436
+ readonly COOKING: "cooking";
437
+ readonly WOODCUTTING: "woodcutting";
438
+ readonly FLETCHING: "fletching";
439
+ readonly FISHING: "fishing";
440
+ readonly FIREMAKING: "firemaking";
441
+ readonly CRAFTING: "crafting";
442
+ readonly SMITHING: "smithing";
443
+ readonly MINING: "mining";
444
+ readonly HERBLORE: "herblore";
445
+ readonly AGILITY: "agility";
446
+ readonly THIEVING: "thieving";
447
+ readonly SLAYER: "slayer";
448
+ readonly FARMING: "farming";
449
+ readonly RUNECRAFTING: "runecrafting";
450
+ readonly HUNTER: "hunter";
451
+ readonly CONSTRUCTION: "construction";
452
+ };
453
+ declare type Skill = typeof Skill[keyof typeof Skill];
454
+ declare const Activity: {
455
+ LEAGUE_POINTS: string;
456
+ BOUNTY_HUNTER_HUNTER: string;
457
+ BOUNTY_HUNTER_ROGUE: string;
458
+ CLUE_SCROLLS_ALL: string;
459
+ CLUE_SCROLLS_BEGINNER: string;
460
+ CLUE_SCROLLS_EASY: string;
461
+ CLUE_SCROLLS_MEDIUM: string;
462
+ CLUE_SCROLLS_HARD: string;
463
+ CLUE_SCROLLS_ELITE: string;
464
+ CLUE_SCROLLS_MASTER: string;
465
+ LAST_MAN_STANDING: string;
466
+ PVP_ARENA: string;
467
+ SOUL_WARS_ZEAL: string;
468
+ GUARDIANS_OF_THE_RIFT: string;
469
+ };
470
+ declare type Activity = typeof Activity[keyof typeof Activity];
471
+ declare const Boss: {
472
+ readonly ABYSSAL_SIRE: "abyssal_sire";
473
+ readonly ALCHEMICAL_HYDRA: "alchemical_hydra";
474
+ readonly BARROWS_CHESTS: "barrows_chests";
475
+ readonly BRYOPHYTA: "bryophyta";
476
+ readonly CALLISTO: "callisto";
477
+ readonly CERBERUS: "cerberus";
478
+ readonly CHAMBERS_OF_XERIC: "chambers_of_xeric";
479
+ readonly CHAMBERS_OF_XERIC_CM: "chambers_of_xeric_challenge_mode";
480
+ readonly CHAOS_ELEMENTAL: "chaos_elemental";
481
+ readonly CHAOS_FANATIC: "chaos_fanatic";
482
+ readonly COMMANDER_ZILYANA: "commander_zilyana";
483
+ readonly CORPOREAL_BEAST: "corporeal_beast";
484
+ readonly CRAZY_ARCHAEOLOGIST: "crazy_archaeologist";
485
+ readonly DAGANNOTH_PRIME: "dagannoth_prime";
486
+ readonly DAGANNOTH_REX: "dagannoth_rex";
487
+ readonly DAGANNOTH_SUPREME: "dagannoth_supreme";
488
+ readonly DERANGED_ARCHAEOLOGIST: "deranged_archaeologist";
489
+ readonly GENERAL_GRAARDOR: "general_graardor";
490
+ readonly GIANT_MOLE: "giant_mole";
491
+ readonly GROTESQUE_GUARDIANS: "grotesque_guardians";
492
+ readonly HESPORI: "hespori";
493
+ readonly KALPHITE_QUEEN: "kalphite_queen";
494
+ readonly KING_BLACK_DRAGON: "king_black_dragon";
495
+ readonly KRAKEN: "kraken";
496
+ readonly KREEARRA: "kreearra";
497
+ readonly KRIL_TSUTSAROTH: "kril_tsutsaroth";
498
+ readonly MIMIC: "mimic";
499
+ readonly NEX: "nex";
500
+ readonly NIGHTMARE: "nightmare";
501
+ readonly PHOSANIS_NIGHTMARE: "phosanis_nightmare";
502
+ readonly OBOR: "obor";
503
+ readonly SARACHNIS: "sarachnis";
504
+ readonly SCORPIA: "scorpia";
505
+ readonly SKOTIZO: "skotizo";
506
+ readonly TEMPOROSS: "tempoross";
507
+ readonly THE_GAUNTLET: "the_gauntlet";
508
+ readonly THE_CORRUPTED_GAUNTLET: "the_corrupted_gauntlet";
509
+ readonly THEATRE_OF_BLOOD: "theatre_of_blood";
510
+ readonly THEATRE_OF_BLOOD_HARD_MODE: "theatre_of_blood_hard_mode";
511
+ readonly THERMONUCLEAR_SMOKE_DEVIL: "thermonuclear_smoke_devil";
512
+ readonly TZKAL_ZUK: "tzkal_zuk";
513
+ readonly TZTOK_JAD: "tztok_jad";
514
+ readonly VENENATIS: "venenatis";
515
+ readonly VETION: "vetion";
516
+ readonly VORKATH: "vorkath";
517
+ readonly WINTERTODT: "wintertodt";
518
+ readonly ZALCANO: "zalcano";
519
+ readonly ZULRAH: "zulrah";
520
+ };
521
+ declare type Boss = typeof Boss[keyof typeof Boss];
522
+ declare const Virtual: {
523
+ readonly EHP: "ehp";
524
+ readonly EHB: "ehb";
525
+ };
526
+ declare type Virtual = typeof Virtual[keyof typeof Virtual];
527
+ declare const Metric: {
528
+ readonly EHP: "ehp";
529
+ readonly EHB: "ehb";
530
+ readonly ABYSSAL_SIRE: "abyssal_sire";
531
+ readonly ALCHEMICAL_HYDRA: "alchemical_hydra";
532
+ readonly BARROWS_CHESTS: "barrows_chests";
533
+ readonly BRYOPHYTA: "bryophyta";
534
+ readonly CALLISTO: "callisto";
535
+ readonly CERBERUS: "cerberus";
536
+ readonly CHAMBERS_OF_XERIC: "chambers_of_xeric";
537
+ readonly CHAMBERS_OF_XERIC_CM: "chambers_of_xeric_challenge_mode";
538
+ readonly CHAOS_ELEMENTAL: "chaos_elemental";
539
+ readonly CHAOS_FANATIC: "chaos_fanatic";
540
+ readonly COMMANDER_ZILYANA: "commander_zilyana";
541
+ readonly CORPOREAL_BEAST: "corporeal_beast";
542
+ readonly CRAZY_ARCHAEOLOGIST: "crazy_archaeologist";
543
+ readonly DAGANNOTH_PRIME: "dagannoth_prime";
544
+ readonly DAGANNOTH_REX: "dagannoth_rex";
545
+ readonly DAGANNOTH_SUPREME: "dagannoth_supreme";
546
+ readonly DERANGED_ARCHAEOLOGIST: "deranged_archaeologist";
547
+ readonly GENERAL_GRAARDOR: "general_graardor";
548
+ readonly GIANT_MOLE: "giant_mole";
549
+ readonly GROTESQUE_GUARDIANS: "grotesque_guardians";
550
+ readonly HESPORI: "hespori";
551
+ readonly KALPHITE_QUEEN: "kalphite_queen";
552
+ readonly KING_BLACK_DRAGON: "king_black_dragon";
553
+ readonly KRAKEN: "kraken";
554
+ readonly KREEARRA: "kreearra";
555
+ readonly KRIL_TSUTSAROTH: "kril_tsutsaroth";
556
+ readonly MIMIC: "mimic";
557
+ readonly NEX: "nex";
558
+ readonly NIGHTMARE: "nightmare";
559
+ readonly PHOSANIS_NIGHTMARE: "phosanis_nightmare";
560
+ readonly OBOR: "obor";
561
+ readonly SARACHNIS: "sarachnis";
562
+ readonly SCORPIA: "scorpia";
563
+ readonly SKOTIZO: "skotizo";
564
+ readonly TEMPOROSS: "tempoross";
565
+ readonly THE_GAUNTLET: "the_gauntlet";
566
+ readonly THE_CORRUPTED_GAUNTLET: "the_corrupted_gauntlet";
567
+ readonly THEATRE_OF_BLOOD: "theatre_of_blood";
568
+ readonly THEATRE_OF_BLOOD_HARD_MODE: "theatre_of_blood_hard_mode";
569
+ readonly THERMONUCLEAR_SMOKE_DEVIL: "thermonuclear_smoke_devil";
570
+ readonly TZKAL_ZUK: "tzkal_zuk";
571
+ readonly TZTOK_JAD: "tztok_jad";
572
+ readonly VENENATIS: "venenatis";
573
+ readonly VETION: "vetion";
574
+ readonly VORKATH: "vorkath";
575
+ readonly WINTERTODT: "wintertodt";
576
+ readonly ZALCANO: "zalcano";
577
+ readonly ZULRAH: "zulrah";
578
+ readonly LEAGUE_POINTS: string;
579
+ readonly BOUNTY_HUNTER_HUNTER: string;
580
+ readonly BOUNTY_HUNTER_ROGUE: string;
581
+ readonly CLUE_SCROLLS_ALL: string;
582
+ readonly CLUE_SCROLLS_BEGINNER: string;
583
+ readonly CLUE_SCROLLS_EASY: string;
584
+ readonly CLUE_SCROLLS_MEDIUM: string;
585
+ readonly CLUE_SCROLLS_HARD: string;
586
+ readonly CLUE_SCROLLS_ELITE: string;
587
+ readonly CLUE_SCROLLS_MASTER: string;
588
+ readonly LAST_MAN_STANDING: string;
589
+ readonly PVP_ARENA: string;
590
+ readonly SOUL_WARS_ZEAL: string;
591
+ readonly GUARDIANS_OF_THE_RIFT: string;
592
+ readonly OVERALL: "overall";
593
+ readonly ATTACK: "attack";
594
+ readonly DEFENCE: "defence";
595
+ readonly STRENGTH: "strength";
596
+ readonly HITPOINTS: "hitpoints";
597
+ readonly RANGED: "ranged";
598
+ readonly PRAYER: "prayer";
599
+ readonly MAGIC: "magic";
600
+ readonly COOKING: "cooking";
601
+ readonly WOODCUTTING: "woodcutting";
602
+ readonly FLETCHING: "fletching";
603
+ readonly FISHING: "fishing";
604
+ readonly FIREMAKING: "firemaking";
605
+ readonly CRAFTING: "crafting";
606
+ readonly SMITHING: "smithing";
607
+ readonly MINING: "mining";
608
+ readonly HERBLORE: "herblore";
609
+ readonly AGILITY: "agility";
610
+ readonly THIEVING: "thieving";
611
+ readonly SLAYER: "slayer";
612
+ readonly FARMING: "farming";
613
+ readonly RUNECRAFTING: "runecrafting";
614
+ readonly HUNTER: "hunter";
615
+ readonly CONSTRUCTION: "construction";
616
+ };
617
+ declare type Metric = typeof Metric[keyof typeof Metric];
618
+ declare const NameChangeStatus: {
619
+ readonly PENDING: "pending";
620
+ readonly DENIED: "denied";
621
+ readonly APPROVED: "approved";
622
+ };
623
+ declare type NameChangeStatus = typeof NameChangeStatus[keyof typeof NameChangeStatus];
624
+ declare const Period: {
625
+ readonly FIVE_MIN: "five_min";
626
+ readonly DAY: "day";
627
+ readonly WEEK: "week";
628
+ readonly MONTH: "month";
629
+ readonly YEAR: "year";
630
+ };
631
+ declare type Period = typeof Period[keyof typeof Period];
632
+ declare const PlayerType: {
633
+ readonly UNKNOWN: "unknown";
634
+ readonly REGULAR: "regular";
635
+ readonly IRONMAN: "ironman";
636
+ readonly HARDCORE: "hardcore";
637
+ readonly ULTIMATE: "ultimate";
638
+ };
639
+ declare type PlayerType = typeof PlayerType[keyof typeof PlayerType];
640
+ declare const PlayerBuild: {
641
+ readonly MAIN: "main";
642
+ readonly F2P: "f2p";
643
+ readonly LVL3: "lvl3";
644
+ readonly ZERKER: "zerker";
645
+ readonly DEF1: "def1";
646
+ readonly HP10: "hp10";
647
+ };
648
+ declare type PlayerBuild = typeof PlayerBuild[keyof typeof PlayerBuild];
649
+ declare const CompetitionType: {
650
+ readonly CLASSIC: "classic";
651
+ readonly TEAM: "team";
652
+ };
653
+ declare type CompetitionType = typeof CompetitionType[keyof typeof CompetitionType];
654
+ declare const GroupRole: {
655
+ readonly ACHIEVER: "achiever";
656
+ readonly ADAMANT: "adamant";
657
+ readonly ADEPT: "adept";
658
+ readonly ADMINISTRATOR: "administrator";
659
+ readonly ADMIRAL: "admiral";
660
+ readonly ADVENTURER: "adventurer";
661
+ readonly AIR: "air";
662
+ readonly ANCHOR: "anchor";
663
+ readonly APOTHECARY: "apothecary";
664
+ readonly ARCHER: "archer";
665
+ readonly ARMADYLEAN: "armadylean";
666
+ readonly ARTILLERY: "artillery";
667
+ readonly ARTISAN: "artisan";
668
+ readonly ASGARNIAN: "asgarnian";
669
+ readonly ASSASSIN: "assassin";
670
+ readonly ASSISTANT: "assistant";
671
+ readonly ASTRAL: "astral";
672
+ readonly ATHLETE: "athlete";
673
+ readonly ATTACKER: "attacker";
674
+ readonly BANDIT: "bandit";
675
+ readonly BANDOSIAN: "bandosian";
676
+ readonly BARBARIAN: "barbarian";
677
+ readonly BATTLEMAGE: "battlemage";
678
+ readonly BEAST: "beast";
679
+ readonly BERSERKER: "berserker";
680
+ readonly BLISTERWOOD: "blisterwood";
681
+ readonly BLOOD: "blood";
682
+ readonly BLUE: "blue";
683
+ readonly BOB: "bob";
684
+ readonly BODY: "body";
685
+ readonly BRASSICAN: "brassican";
686
+ readonly BRAWLER: "brawler";
687
+ readonly BRIGADIER: "brigadier";
688
+ readonly BRIGAND: "brigand";
689
+ readonly BRONZE: "bronze";
690
+ readonly BRUISER: "bruiser";
691
+ readonly BULWARK: "bulwark";
692
+ readonly BURGLAR: "burglar";
693
+ readonly BURNT: "burnt";
694
+ readonly CADET: "cadet";
695
+ readonly CAPTAIN: "captain";
696
+ readonly CARRY: "carry";
697
+ readonly CHAMPION: "champion";
698
+ readonly CHAOS: "chaos";
699
+ readonly CLERIC: "cleric";
700
+ readonly COLLECTOR: "collector";
701
+ readonly COLONEL: "colonel";
702
+ readonly COMMANDER: "commander";
703
+ readonly COMPETITOR: "competitor";
704
+ readonly COMPLETIONIST: "completionist";
705
+ readonly CONSTRUCTOR: "constructor";
706
+ readonly COOK: "cook";
707
+ readonly COORDINATOR: "coordinator";
708
+ readonly CORPORAL: "corporal";
709
+ readonly COSMIC: "cosmic";
710
+ readonly COUNCILLOR: "councillor";
711
+ readonly CRAFTER: "crafter";
712
+ readonly CREW: "crew";
713
+ readonly CRUSADER: "crusader";
714
+ readonly CUTPURSE: "cutpurse";
715
+ readonly DEATH: "death";
716
+ readonly DEFENDER: "defender";
717
+ readonly DEFILER: "defiler";
718
+ readonly DEPUTY_OWNER: "deputy_owner";
719
+ readonly DESTROYER: "destroyer";
720
+ readonly DIAMOND: "diamond";
721
+ readonly DISEASED: "diseased";
722
+ readonly DOCTOR: "doctor";
723
+ readonly DOGSBODY: "dogsbody";
724
+ readonly DRAGON: "dragon";
725
+ readonly DRAGONSTONE: "dragonstone";
726
+ readonly DRUID: "druid";
727
+ readonly DUELLIST: "duellist";
728
+ readonly EARTH: "earth";
729
+ readonly ELITE: "elite";
730
+ readonly EMERALD: "emerald";
731
+ readonly ENFORCER: "enforcer";
732
+ readonly EPIC: "epic";
733
+ readonly EXECUTIVE: "executive";
734
+ readonly EXPERT: "expert";
735
+ readonly EXPLORER: "explorer";
736
+ readonly FARMER: "farmer";
737
+ readonly FEEDER: "feeder";
738
+ readonly FIGHTER: "fighter";
739
+ readonly FIRE: "fire";
740
+ readonly FIREMAKER: "firemaker";
741
+ readonly FIRESTARTER: "firestarter";
742
+ readonly FISHER: "fisher";
743
+ readonly FLETCHER: "fletcher";
744
+ readonly FORAGER: "forager";
745
+ readonly FREMENNIK: "fremennik";
746
+ readonly GAMER: "gamer";
747
+ readonly GATHERER: "gatherer";
748
+ readonly GENERAL: "general";
749
+ readonly GNOME_CHILD: "gnome_child";
750
+ readonly GNOME_ELDER: "gnome_elder";
751
+ readonly GOBLIN: "goblin";
752
+ readonly GOLD: "gold";
753
+ readonly GOON: "goon";
754
+ readonly GREEN: "green";
755
+ readonly GREY: "grey";
756
+ readonly GUARDIAN: "guardian";
757
+ readonly GUTHIXIAN: "guthixian";
758
+ readonly HARPOON: "harpoon";
759
+ readonly HEALER: "healer";
760
+ readonly HELLCAT: "hellcat";
761
+ readonly HELPER: "helper";
762
+ readonly HERBOLOGIST: "herbologist";
763
+ readonly HERO: "hero";
764
+ readonly HOLY: "holy";
765
+ readonly HOARDER: "hoarder";
766
+ readonly HUNTER: "hunter";
767
+ readonly IGNITOR: "ignitor";
768
+ readonly ILLUSIONIST: "illusionist";
769
+ readonly IMP: "imp";
770
+ readonly INFANTRY: "infantry";
771
+ readonly INQUISITOR: "inquisitor";
772
+ readonly IRON: "iron";
773
+ readonly JADE: "jade";
774
+ readonly JUSTICIAR: "justiciar";
775
+ readonly KANDARIN: "kandarin";
776
+ readonly KARAMJAN: "karamjan";
777
+ readonly KHARIDIAN: "kharidian";
778
+ readonly KITTEN: "kitten";
779
+ readonly KNIGHT: "knight";
780
+ readonly LABOURER: "labourer";
781
+ readonly LAW: "law";
782
+ readonly LEADER: "leader";
783
+ readonly LEARNER: "learner";
784
+ readonly LEGACY: "legacy";
785
+ readonly LEGEND: "legend";
786
+ readonly LEGIONNAIRE: "legionnaire";
787
+ readonly LIEUTENANT: "lieutenant";
788
+ readonly LOOTER: "looter";
789
+ readonly LUMBERJACK: "lumberjack";
790
+ readonly MAGIC: "magic";
791
+ readonly MAGICIAN: "magician";
792
+ readonly MAJOR: "major";
793
+ readonly MAPLE: "maple";
794
+ readonly MARSHAL: "marshal";
795
+ readonly MASTER: "master";
796
+ readonly MAXED: "maxed";
797
+ readonly MEDIATOR: "mediator";
798
+ readonly MEDIC: "medic";
799
+ readonly MENTOR: "mentor";
800
+ readonly MEMBER: "member";
801
+ readonly MERCHANT: "merchant";
802
+ readonly MIND: "mind";
803
+ readonly MINER: "miner";
804
+ readonly MINION: "minion";
805
+ readonly MISTHALINIAN: "misthalinian";
806
+ readonly MITHRIL: "mithril";
807
+ readonly MODERATOR: "moderator";
808
+ readonly MONARCH: "monarch";
809
+ readonly MORYTANIAN: "morytanian";
810
+ readonly MYSTIC: "mystic";
811
+ readonly MYTH: "myth";
812
+ readonly NATURAL: "natural";
813
+ readonly NATURE: "nature";
814
+ readonly NECROMANCER: "necromancer";
815
+ readonly NINJA: "ninja";
816
+ readonly NOBLE: "noble";
817
+ readonly NOVICE: "novice";
818
+ readonly NURSE: "nurse";
819
+ readonly OAK: "oak";
820
+ readonly OFFICER: "officer";
821
+ readonly ONYX: "onyx";
822
+ readonly OPAL: "opal";
823
+ readonly ORACLE: "oracle";
824
+ readonly ORANGE: "orange";
825
+ readonly OWNER: "owner";
826
+ readonly PAGE: "page";
827
+ readonly PALADIN: "paladin";
828
+ readonly PAWN: "pawn";
829
+ readonly PILGRIM: "pilgrim";
830
+ readonly PINE: "pine";
831
+ readonly PINK: "pink";
832
+ readonly PREFECT: "prefect";
833
+ readonly PRIEST: "priest";
834
+ readonly PRIVATE: "private";
835
+ readonly PRODIGY: "prodigy";
836
+ readonly PROSELYTE: "proselyte";
837
+ readonly PROSPECTOR: "prospector";
838
+ readonly PROTECTOR: "protector";
839
+ readonly PURE: "pure";
840
+ readonly PURPLE: "purple";
841
+ readonly PYROMANCER: "pyromancer";
842
+ readonly QUESTER: "quester";
843
+ readonly RACER: "racer";
844
+ readonly RAIDER: "raider";
845
+ readonly RANGER: "ranger";
846
+ readonly RECORD_CHASER: "record_chaser";
847
+ readonly RECRUIT: "recruit";
848
+ readonly RECRUITER: "recruiter";
849
+ readonly RED_TOPAZ: "red_topaz";
850
+ readonly RED: "red";
851
+ readonly ROGUE: "rogue";
852
+ readonly RUBY: "ruby";
853
+ readonly RUNE: "rune";
854
+ readonly RUNECRAFTER: "runecrafter";
855
+ readonly SAGE: "sage";
856
+ readonly SAPPHIRE: "sapphire";
857
+ readonly SARADOMINIST: "saradominist";
858
+ readonly SAVIOUR: "saviour";
859
+ readonly SCAVENGER: "scavenger";
860
+ readonly SCHOLAR: "scholar";
861
+ readonly SCOURGE: "scourge";
862
+ readonly SCOUT: "scout";
863
+ readonly SCRIBE: "scribe";
864
+ readonly SEER: "seer";
865
+ readonly SENATOR: "senator";
866
+ readonly SENTRY: "sentry";
867
+ readonly SERENIST: "serenist";
868
+ readonly SERGEANT: "sergeant";
869
+ readonly SHAMAN: "shaman";
870
+ readonly SHERIFF: "sheriff";
871
+ readonly SHORT_GREEN_GUY: "short_green_guy";
872
+ readonly SKILLER: "skiller";
873
+ readonly SKULLED: "skulled";
874
+ readonly SLAYER: "slayer";
875
+ readonly SMITER: "smiter";
876
+ readonly SMITH: "smith";
877
+ readonly SMUGGLER: "smuggler";
878
+ readonly SNIPER: "sniper";
879
+ readonly SOUL: "soul";
880
+ readonly SPECIALIST: "specialist";
881
+ readonly SPEED_RUNNER: "speed_runner";
882
+ readonly SPELLCASTER: "spellcaster";
883
+ readonly SQUIRE: "squire";
884
+ readonly STAFF: "staff";
885
+ readonly STEEL: "steel";
886
+ readonly STRIDER: "strider";
887
+ readonly STRIKER: "striker";
888
+ readonly SUMMONER: "summoner";
889
+ readonly SUPERIOR: "superior";
890
+ readonly SUPERVISOR: "supervisor";
891
+ readonly TEACHER: "teacher";
892
+ readonly TEMPLAR: "templar";
893
+ readonly THERAPIST: "therapist";
894
+ readonly THIEF: "thief";
895
+ readonly TIRANNIAN: "tirannian";
896
+ readonly TRIALIST: "trialist";
897
+ readonly TRICKSTER: "trickster";
898
+ readonly TZKAL: "tzkal";
899
+ readonly TZTOK: "tztok";
900
+ readonly UNHOLY: "unholy";
901
+ readonly VAGRANT: "vagrant";
902
+ readonly VANGUARD: "vanguard";
903
+ readonly WALKER: "walker";
904
+ readonly WANDERER: "wanderer";
905
+ readonly WARDEN: "warden";
906
+ readonly WARLOCK: "warlock";
907
+ readonly WARRIOR: "warrior";
908
+ readonly WATER: "water";
909
+ readonly WILD: "wild";
910
+ readonly WILLOW: "willow";
911
+ readonly WILY: "wily";
912
+ readonly WINTUMBER: "wintumber";
913
+ readonly WITCH: "witch";
914
+ readonly WIZARD: "wizard";
915
+ readonly WORKER: "worker";
916
+ readonly WRATH: "wrath";
917
+ readonly XERICIAN: "xerician";
918
+ readonly YELLOW: "yellow";
919
+ readonly YEW: "yew";
920
+ readonly ZAMORAKIAN: "zamorakian";
921
+ readonly ZAROSIAN: "zarosian";
922
+ readonly ZEALOT: "zealot";
923
+ readonly ZENYTE: "zenyte";
924
+ };
925
+ declare type GroupRole = typeof GroupRole[keyof typeof GroupRole];
926
+ declare const Country: {
927
+ readonly AD: "AD";
928
+ readonly AE: "AE";
929
+ readonly AF: "AF";
930
+ readonly AG: "AG";
931
+ readonly AI: "AI";
932
+ readonly AL: "AL";
933
+ readonly AM: "AM";
934
+ readonly AO: "AO";
935
+ readonly AQ: "AQ";
936
+ readonly AR: "AR";
937
+ readonly AS: "AS";
938
+ readonly AT: "AT";
939
+ readonly AU: "AU";
940
+ readonly AW: "AW";
941
+ readonly AX: "AX";
942
+ readonly AZ: "AZ";
943
+ readonly BA: "BA";
944
+ readonly BB: "BB";
945
+ readonly BD: "BD";
946
+ readonly BE: "BE";
947
+ readonly BF: "BF";
948
+ readonly BG: "BG";
949
+ readonly BH: "BH";
950
+ readonly BI: "BI";
951
+ readonly BJ: "BJ";
952
+ readonly BL: "BL";
953
+ readonly BM: "BM";
954
+ readonly BN: "BN";
955
+ readonly BO: "BO";
956
+ readonly BQ: "BQ";
957
+ readonly BR: "BR";
958
+ readonly BS: "BS";
959
+ readonly BT: "BT";
960
+ readonly BV: "BV";
961
+ readonly BW: "BW";
962
+ readonly BY: "BY";
963
+ readonly BZ: "BZ";
964
+ readonly CA: "CA";
965
+ readonly CC: "CC";
966
+ readonly CD: "CD";
967
+ readonly CF: "CF";
968
+ readonly CG: "CG";
969
+ readonly CH: "CH";
970
+ readonly CI: "CI";
971
+ readonly CK: "CK";
972
+ readonly CL: "CL";
973
+ readonly CM: "CM";
974
+ readonly CN: "CN";
975
+ readonly CO: "CO";
976
+ readonly CR: "CR";
977
+ readonly CU: "CU";
978
+ readonly CV: "CV";
979
+ readonly CW: "CW";
980
+ readonly CX: "CX";
981
+ readonly CY: "CY";
982
+ readonly CZ: "CZ";
983
+ readonly DE: "DE";
984
+ readonly DJ: "DJ";
985
+ readonly DK: "DK";
986
+ readonly DM: "DM";
987
+ readonly DO: "DO";
988
+ readonly DZ: "DZ";
989
+ readonly EC: "EC";
990
+ readonly EE: "EE";
991
+ readonly EG: "EG";
992
+ readonly EH: "EH";
993
+ readonly ER: "ER";
994
+ readonly ES: "ES";
995
+ readonly ET: "ET";
996
+ readonly FI: "FI";
997
+ readonly FJ: "FJ";
998
+ readonly FK: "FK";
999
+ readonly FM: "FM";
1000
+ readonly FO: "FO";
1001
+ readonly FR: "FR";
1002
+ readonly GA: "GA";
1003
+ readonly GB: "GB";
1004
+ readonly GD: "GD";
1005
+ readonly GE: "GE";
1006
+ readonly GF: "GF";
1007
+ readonly GG: "GG";
1008
+ readonly GH: "GH";
1009
+ readonly GI: "GI";
1010
+ readonly GL: "GL";
1011
+ readonly GM: "GM";
1012
+ readonly GN: "GN";
1013
+ readonly GP: "GP";
1014
+ readonly GQ: "GQ";
1015
+ readonly GR: "GR";
1016
+ readonly GS: "GS";
1017
+ readonly GT: "GT";
1018
+ readonly GU: "GU";
1019
+ readonly GW: "GW";
1020
+ readonly GY: "GY";
1021
+ readonly HK: "HK";
1022
+ readonly HM: "HM";
1023
+ readonly HN: "HN";
1024
+ readonly HR: "HR";
1025
+ readonly HT: "HT";
1026
+ readonly HU: "HU";
1027
+ readonly ID: "ID";
1028
+ readonly IE: "IE";
1029
+ readonly IL: "IL";
1030
+ readonly IM: "IM";
1031
+ readonly IN: "IN";
1032
+ readonly IO: "IO";
1033
+ readonly IQ: "IQ";
1034
+ readonly IR: "IR";
1035
+ readonly IS: "IS";
1036
+ readonly IT: "IT";
1037
+ readonly JE: "JE";
1038
+ readonly JM: "JM";
1039
+ readonly JO: "JO";
1040
+ readonly JP: "JP";
1041
+ readonly KE: "KE";
1042
+ readonly KG: "KG";
1043
+ readonly KH: "KH";
1044
+ readonly KI: "KI";
1045
+ readonly KM: "KM";
1046
+ readonly KN: "KN";
1047
+ readonly KP: "KP";
1048
+ readonly KR: "KR";
1049
+ readonly KW: "KW";
1050
+ readonly KY: "KY";
1051
+ readonly KZ: "KZ";
1052
+ readonly LA: "LA";
1053
+ readonly LB: "LB";
1054
+ readonly LC: "LC";
1055
+ readonly LI: "LI";
1056
+ readonly LK: "LK";
1057
+ readonly LR: "LR";
1058
+ readonly LS: "LS";
1059
+ readonly LT: "LT";
1060
+ readonly LU: "LU";
1061
+ readonly LV: "LV";
1062
+ readonly LY: "LY";
1063
+ readonly MA: "MA";
1064
+ readonly MC: "MC";
1065
+ readonly MD: "MD";
1066
+ readonly ME: "ME";
1067
+ readonly MF: "MF";
1068
+ readonly MG: "MG";
1069
+ readonly MH: "MH";
1070
+ readonly MK: "MK";
1071
+ readonly ML: "ML";
1072
+ readonly MM: "MM";
1073
+ readonly MN: "MN";
1074
+ readonly MO: "MO";
1075
+ readonly MP: "MP";
1076
+ readonly MQ: "MQ";
1077
+ readonly MR: "MR";
1078
+ readonly MS: "MS";
1079
+ readonly MT: "MT";
1080
+ readonly MU: "MU";
1081
+ readonly MV: "MV";
1082
+ readonly MW: "MW";
1083
+ readonly MX: "MX";
1084
+ readonly MY: "MY";
1085
+ readonly MZ: "MZ";
1086
+ readonly NA: "NA";
1087
+ readonly NC: "NC";
1088
+ readonly NE: "NE";
1089
+ readonly NF: "NF";
1090
+ readonly NG: "NG";
1091
+ readonly NI: "NI";
1092
+ readonly NL: "NL";
1093
+ readonly NO: "NO";
1094
+ readonly NP: "NP";
1095
+ readonly NR: "NR";
1096
+ readonly NU: "NU";
1097
+ readonly NZ: "NZ";
1098
+ readonly OM: "OM";
1099
+ readonly PA: "PA";
1100
+ readonly PE: "PE";
1101
+ readonly PF: "PF";
1102
+ readonly PG: "PG";
1103
+ readonly PH: "PH";
1104
+ readonly PK: "PK";
1105
+ readonly PL: "PL";
1106
+ readonly PM: "PM";
1107
+ readonly PN: "PN";
1108
+ readonly PR: "PR";
1109
+ readonly PS: "PS";
1110
+ readonly PT: "PT";
1111
+ readonly PW: "PW";
1112
+ readonly PY: "PY";
1113
+ readonly QA: "QA";
1114
+ readonly RE: "RE";
1115
+ readonly RO: "RO";
1116
+ readonly RS: "RS";
1117
+ readonly RU: "RU";
1118
+ readonly RW: "RW";
1119
+ readonly SA: "SA";
1120
+ readonly SB: "SB";
1121
+ readonly SC: "SC";
1122
+ readonly SD: "SD";
1123
+ readonly SE: "SE";
1124
+ readonly SG: "SG";
1125
+ readonly SH: "SH";
1126
+ readonly SI: "SI";
1127
+ readonly SJ: "SJ";
1128
+ readonly SK: "SK";
1129
+ readonly SL: "SL";
1130
+ readonly SM: "SM";
1131
+ readonly SN: "SN";
1132
+ readonly SO: "SO";
1133
+ readonly SR: "SR";
1134
+ readonly SS: "SS";
1135
+ readonly ST: "ST";
1136
+ readonly SV: "SV";
1137
+ readonly SX: "SX";
1138
+ readonly SY: "SY";
1139
+ readonly SZ: "SZ";
1140
+ readonly TC: "TC";
1141
+ readonly TD: "TD";
1142
+ readonly TF: "TF";
1143
+ readonly TG: "TG";
1144
+ readonly TH: "TH";
1145
+ readonly TJ: "TJ";
1146
+ readonly TK: "TK";
1147
+ readonly TL: "TL";
1148
+ readonly TM: "TM";
1149
+ readonly TN: "TN";
1150
+ readonly TO: "TO";
1151
+ readonly TR: "TR";
1152
+ readonly TT: "TT";
1153
+ readonly TV: "TV";
1154
+ readonly TW: "TW";
1155
+ readonly TZ: "TZ";
1156
+ readonly UA: "UA";
1157
+ readonly UG: "UG";
1158
+ readonly UM: "UM";
1159
+ readonly US: "US";
1160
+ readonly UY: "UY";
1161
+ readonly UZ: "UZ";
1162
+ readonly VA: "VA";
1163
+ readonly VC: "VC";
1164
+ readonly VE: "VE";
1165
+ readonly VG: "VG";
1166
+ readonly VI: "VI";
1167
+ readonly VN: "VN";
1168
+ readonly VU: "VU";
1169
+ readonly WF: "WF";
1170
+ readonly WS: "WS";
1171
+ readonly YE: "YE";
1172
+ readonly YT: "YT";
1173
+ readonly ZA: "ZA";
1174
+ readonly ZM: "ZM";
1175
+ readonly ZW: "ZW";
1176
+ };
1177
+ declare type Country = typeof Country[keyof typeof Country];
1178
+
1179
+ declare enum CompetitionStatus {
1180
+ UPCOMING = "upcoming",
1181
+ ONGOING = "ongoing",
1182
+ FINISHED = "finished"
1183
+ }
1184
+ declare type CompetitionStatusPropsMap = {
1185
+ [status in CompetitionStatus]: {
1186
+ name: string;
1187
+ };
1188
+ };
1189
+ declare type CompetitionTypePropsMap = {
1190
+ [type in CompetitionType]: {
1191
+ name: string;
1192
+ };
1193
+ };
1194
+ declare const CompetitionTypeProps: CompetitionTypePropsMap;
1195
+ declare const CompetitionStatusProps: CompetitionStatusPropsMap;
1196
+ declare const COMPETITION_TYPES: ("classic" | "team")[];
1197
+ declare const COMPETITION_STATUSES: CompetitionStatus[];
1198
+ declare function findCompetitionType(typeName: string): CompetitionType | null;
1199
+ declare function findCompetitionStatus(statusName: string): CompetitionStatus | null;
1200
+
1201
+ interface CountryDetails {
1202
+ code: Country;
1203
+ name: string;
1204
+ }
1205
+ declare type CountryPropsMap = {
1206
+ [c in Country]: CountryDetails;
1207
+ };
1208
+ declare const CountryProps: CountryPropsMap;
1209
+ declare const COUNTRY_CODES: ("AD" | "AE" | "AF" | "AG" | "AI" | "AL" | "AM" | "AO" | "AQ" | "AR" | "AS" | "AT" | "AU" | "AW" | "AX" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BL" | "BM" | "BN" | "BO" | "BQ" | "BR" | "BS" | "BT" | "BV" | "BW" | "BY" | "BZ" | "CA" | "CC" | "CD" | "CF" | "CG" | "CH" | "CI" | "CK" | "CL" | "CM" | "CN" | "CO" | "CR" | "CU" | "CV" | "CW" | "CX" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FM" | "FO" | "FR" | "GA" | "GB" | "GD" | "GE" | "GF" | "GG" | "GH" | "GI" | "GL" | "GM" | "GN" | "GP" | "GQ" | "GR" | "GS" | "GT" | "GU" | "GW" | "GY" | "HK" | "HM" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IM" | "IN" | "IO" | "IQ" | "IR" | "IS" | "IT" | "JE" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KP" | "KR" | "KW" | "KY" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MF" | "MG" | "MH" | "MK" | "ML" | "MM" | "MN" | "MO" | "MP" | "MQ" | "MR" | "MS" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NC" | "NE" | "NF" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NU" | "NZ" | "OM" | "PA" | "PE" | "PF" | "PG" | "PH" | "PK" | "PL" | "PM" | "PN" | "PR" | "PS" | "PT" | "PW" | "PY" | "QA" | "RE" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SD" | "SE" | "SG" | "SH" | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SX" | "SY" | "SZ" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "UM" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VG" | "VI" | "VN" | "VU" | "WF" | "WS" | "YE" | "YT" | "ZA" | "ZM" | "ZW")[];
1210
+ declare function findCountry(countryIdentifier: string): CountryDetails | undefined;
1211
+ declare function findCountryByName(countryName: string): CountryDetails | undefined;
1212
+ declare function findCountryByCode(countryCode: string): CountryDetails | undefined;
1213
+
1214
+ declare type Achievement = Omit<Achievement$1, 'threshold'> & {
1215
+ threshold: number;
1216
+ };
1217
+ declare type Record = Omit<Record$1, 'value'> & {
1218
+ value: number;
1219
+ };
1220
+ declare type Delta = Omit<Delta$1, 'overall'> & {
1221
+ overall: number;
1222
+ };
1223
+ declare type Snapshot = Omit<Snapshot$1, 'overallExperience'> & {
1224
+ overallExperience: number;
1225
+ };
1226
+ declare type Player = Omit<Player$1, 'exp'> & {
1227
+ exp: number;
1228
+ };
1229
+
1230
+ declare const MAX_LEVEL = 99;
1231
+ declare const MAX_VIRTUAL_LEVEL = 126;
1232
+ declare const MAX_SKILL_EXP = 200000000;
1233
+ declare const SKILL_EXP_AT_99 = 13034431;
1234
+ declare const CAPPED_MAX_TOTAL_XP: number;
1235
+ declare function getExpForLevel(level: number): number;
1236
+ declare function getLevel(exp: number, virtual?: boolean): number;
1237
+ declare function getCombatLevelFromExp(attack: number, strength: number, defence: number, ranged: number, magic: number, hitpoints: number, prayer: number): number;
1238
+ declare function getCombatLevel(snapshot: Snapshot): number;
1239
+ declare function get200msCount(snapshot: any): number;
1240
+ declare function getMinimumExp(snapshot: Snapshot): number;
1241
+ declare function getCappedExp(snapshot: Snapshot, max: number): number;
1242
+ declare function getTotalLevel(snapshot: Snapshot): number;
1243
+ declare function isF2p(snapshot: Snapshot): boolean;
1244
+ declare function isLvl3(snapshot: Snapshot): boolean;
1245
+ declare function is1Def(snapshot: Snapshot): boolean;
1246
+ declare function is10HP(snapshot: Snapshot): boolean;
1247
+ declare function isZerker(snapshot: Snapshot): boolean;
1248
+
1249
+ declare const GROUP_ROLES: ("magic" | "slayer" | "hunter" | "achiever" | "adamant" | "adept" | "administrator" | "admiral" | "adventurer" | "air" | "anchor" | "apothecary" | "archer" | "armadylean" | "artillery" | "artisan" | "asgarnian" | "assassin" | "assistant" | "astral" | "athlete" | "attacker" | "bandit" | "bandosian" | "barbarian" | "battlemage" | "beast" | "berserker" | "blisterwood" | "blood" | "blue" | "bob" | "body" | "brassican" | "brawler" | "brigadier" | "brigand" | "bronze" | "bruiser" | "bulwark" | "burglar" | "burnt" | "cadet" | "captain" | "carry" | "champion" | "chaos" | "cleric" | "collector" | "colonel" | "commander" | "competitor" | "completionist" | "constructor" | "cook" | "coordinator" | "corporal" | "cosmic" | "councillor" | "crafter" | "crew" | "crusader" | "cutpurse" | "death" | "defender" | "defiler" | "deputy_owner" | "destroyer" | "diamond" | "diseased" | "doctor" | "dogsbody" | "dragon" | "dragonstone" | "druid" | "duellist" | "earth" | "elite" | "emerald" | "enforcer" | "epic" | "executive" | "expert" | "explorer" | "farmer" | "feeder" | "fighter" | "fire" | "firemaker" | "firestarter" | "fisher" | "fletcher" | "forager" | "fremennik" | "gamer" | "gatherer" | "general" | "gnome_child" | "gnome_elder" | "goblin" | "gold" | "goon" | "green" | "grey" | "guardian" | "guthixian" | "harpoon" | "healer" | "hellcat" | "helper" | "herbologist" | "hero" | "holy" | "hoarder" | "ignitor" | "illusionist" | "imp" | "infantry" | "inquisitor" | "iron" | "jade" | "justiciar" | "kandarin" | "karamjan" | "kharidian" | "kitten" | "knight" | "labourer" | "law" | "leader" | "learner" | "legacy" | "legend" | "legionnaire" | "lieutenant" | "looter" | "lumberjack" | "magician" | "major" | "maple" | "marshal" | "master" | "maxed" | "mediator" | "medic" | "mentor" | "member" | "merchant" | "mind" | "miner" | "minion" | "misthalinian" | "mithril" | "moderator" | "monarch" | "morytanian" | "mystic" | "myth" | "natural" | "nature" | "necromancer" | "ninja" | "noble" | "novice" | "nurse" | "oak" | "officer" | "onyx" | "opal" | "oracle" | "orange" | "owner" | "page" | "paladin" | "pawn" | "pilgrim" | "pine" | "pink" | "prefect" | "priest" | "private" | "prodigy" | "proselyte" | "prospector" | "protector" | "pure" | "purple" | "pyromancer" | "quester" | "racer" | "raider" | "ranger" | "record_chaser" | "recruit" | "recruiter" | "red_topaz" | "red" | "rogue" | "ruby" | "rune" | "runecrafter" | "sage" | "sapphire" | "saradominist" | "saviour" | "scavenger" | "scholar" | "scourge" | "scout" | "scribe" | "seer" | "senator" | "sentry" | "serenist" | "sergeant" | "shaman" | "sheriff" | "short_green_guy" | "skiller" | "skulled" | "smiter" | "smith" | "smuggler" | "sniper" | "soul" | "specialist" | "speed_runner" | "spellcaster" | "squire" | "staff" | "steel" | "strider" | "striker" | "summoner" | "superior" | "supervisor" | "teacher" | "templar" | "therapist" | "thief" | "tirannian" | "trialist" | "trickster" | "tzkal" | "tztok" | "unholy" | "vagrant" | "vanguard" | "walker" | "wanderer" | "warden" | "warlock" | "warrior" | "water" | "wild" | "willow" | "wily" | "wintumber" | "witch" | "wizard" | "worker" | "wrath" | "xerician" | "yellow" | "yew" | "zamorakian" | "zarosian" | "zealot" | "zenyte")[];
1250
+ declare const PRIVELEGED_GROUP_ROLES: GroupRole[];
1251
+ declare type GroupRolePropsMap = {
1252
+ [role in GroupRole]: {
1253
+ name: string;
1254
+ isPriveleged: boolean;
1255
+ };
1256
+ };
1257
+ declare const GroupRoleProps: GroupRolePropsMap;
1258
+ declare function findGroupRole(roleName: string): GroupRole | null;
1259
+
1260
+ declare enum MetricType {
1261
+ SKILL = "skill",
1262
+ BOSS = "boss",
1263
+ ACTIVITY = "activity",
1264
+ VIRTUAL = "virtual"
1265
+ }
1266
+ declare enum MetricMeasure {
1267
+ EXPERIENCE = "experience",
1268
+ KILLS = "kills",
1269
+ SCORE = "score",
1270
+ VALUE = "value"
1271
+ }
1272
+ interface SkillProperties {
1273
+ name: string;
1274
+ isCombat: boolean;
1275
+ isMembers: boolean;
1276
+ type: MetricType;
1277
+ measure: MetricMeasure;
1278
+ }
1279
+ interface BossProperties {
1280
+ name: string;
1281
+ minimumKc: number;
1282
+ isMembers: boolean;
1283
+ type: MetricType;
1284
+ measure: MetricMeasure;
1285
+ }
1286
+ interface VirtualProperties {
1287
+ name: string;
1288
+ type: MetricType;
1289
+ measure: MetricMeasure;
1290
+ }
1291
+ declare const MetricProps: {
1292
+ ehp: VirtualProperties;
1293
+ ehb: VirtualProperties;
1294
+ abyssal_sire: BossProperties;
1295
+ alchemical_hydra: BossProperties;
1296
+ barrows_chests: BossProperties;
1297
+ bryophyta: BossProperties;
1298
+ callisto: BossProperties;
1299
+ cerberus: BossProperties;
1300
+ chambers_of_xeric: BossProperties;
1301
+ chambers_of_xeric_challenge_mode: BossProperties;
1302
+ chaos_elemental: BossProperties;
1303
+ chaos_fanatic: BossProperties;
1304
+ commander_zilyana: BossProperties;
1305
+ corporeal_beast: BossProperties;
1306
+ crazy_archaeologist: BossProperties;
1307
+ dagannoth_prime: BossProperties;
1308
+ dagannoth_rex: BossProperties;
1309
+ dagannoth_supreme: BossProperties;
1310
+ deranged_archaeologist: BossProperties;
1311
+ general_graardor: BossProperties;
1312
+ giant_mole: BossProperties;
1313
+ grotesque_guardians: BossProperties;
1314
+ hespori: BossProperties;
1315
+ kalphite_queen: BossProperties;
1316
+ king_black_dragon: BossProperties;
1317
+ kraken: BossProperties;
1318
+ kreearra: BossProperties;
1319
+ kril_tsutsaroth: BossProperties;
1320
+ mimic: BossProperties;
1321
+ nex: BossProperties;
1322
+ nightmare: BossProperties;
1323
+ phosanis_nightmare: BossProperties;
1324
+ obor: BossProperties;
1325
+ sarachnis: BossProperties;
1326
+ scorpia: BossProperties;
1327
+ skotizo: BossProperties;
1328
+ tempoross: BossProperties;
1329
+ the_gauntlet: BossProperties;
1330
+ the_corrupted_gauntlet: BossProperties;
1331
+ theatre_of_blood: BossProperties;
1332
+ theatre_of_blood_hard_mode: BossProperties;
1333
+ thermonuclear_smoke_devil: BossProperties;
1334
+ tzkal_zuk: BossProperties;
1335
+ tztok_jad: BossProperties;
1336
+ venenatis: BossProperties;
1337
+ vetion: BossProperties;
1338
+ vorkath: BossProperties;
1339
+ wintertodt: BossProperties;
1340
+ zalcano: BossProperties;
1341
+ zulrah: BossProperties;
1342
+ overall: SkillProperties;
1343
+ attack: SkillProperties;
1344
+ defence: SkillProperties;
1345
+ strength: SkillProperties;
1346
+ hitpoints: SkillProperties;
1347
+ ranged: SkillProperties;
1348
+ prayer: SkillProperties;
1349
+ magic: SkillProperties;
1350
+ cooking: SkillProperties;
1351
+ woodcutting: SkillProperties;
1352
+ fletching: SkillProperties;
1353
+ fishing: SkillProperties;
1354
+ firemaking: SkillProperties;
1355
+ crafting: SkillProperties;
1356
+ smithing: SkillProperties;
1357
+ mining: SkillProperties;
1358
+ herblore: SkillProperties;
1359
+ agility: SkillProperties;
1360
+ thieving: SkillProperties;
1361
+ slayer: SkillProperties;
1362
+ farming: SkillProperties;
1363
+ runecrafting: SkillProperties;
1364
+ hunter: SkillProperties;
1365
+ construction: SkillProperties;
1366
+ };
1367
+ declare const METRICS: string[];
1368
+ declare const SKILLS: ("overall" | "attack" | "defence" | "strength" | "hitpoints" | "ranged" | "prayer" | "magic" | "cooking" | "woodcutting" | "fletching" | "fishing" | "firemaking" | "crafting" | "smithing" | "mining" | "herblore" | "agility" | "thieving" | "slayer" | "farming" | "runecrafting" | "hunter" | "construction")[];
1369
+ declare const BOSSES: ("abyssal_sire" | "alchemical_hydra" | "barrows_chests" | "bryophyta" | "callisto" | "cerberus" | "chambers_of_xeric" | "chambers_of_xeric_challenge_mode" | "chaos_elemental" | "chaos_fanatic" | "commander_zilyana" | "corporeal_beast" | "crazy_archaeologist" | "dagannoth_prime" | "dagannoth_rex" | "dagannoth_supreme" | "deranged_archaeologist" | "general_graardor" | "giant_mole" | "grotesque_guardians" | "hespori" | "kalphite_queen" | "king_black_dragon" | "kraken" | "kreearra" | "kril_tsutsaroth" | "mimic" | "nex" | "nightmare" | "phosanis_nightmare" | "obor" | "sarachnis" | "scorpia" | "skotizo" | "tempoross" | "the_gauntlet" | "the_corrupted_gauntlet" | "theatre_of_blood" | "theatre_of_blood_hard_mode" | "thermonuclear_smoke_devil" | "tzkal_zuk" | "tztok_jad" | "venenatis" | "vetion" | "vorkath" | "wintertodt" | "zalcano" | "zulrah")[];
1370
+ declare const ACTIVITIES: string[];
1371
+ declare const VIRTUALS: ("ehp" | "ehb")[];
1372
+ declare const REAL_SKILLS: ("overall" | "attack" | "defence" | "strength" | "hitpoints" | "ranged" | "prayer" | "magic" | "cooking" | "woodcutting" | "fletching" | "fishing" | "firemaking" | "crafting" | "smithing" | "mining" | "herblore" | "agility" | "thieving" | "slayer" | "farming" | "runecrafting" | "hunter" | "construction")[];
1373
+ declare const F2P_BOSSES: ("abyssal_sire" | "alchemical_hydra" | "barrows_chests" | "bryophyta" | "callisto" | "cerberus" | "chambers_of_xeric" | "chambers_of_xeric_challenge_mode" | "chaos_elemental" | "chaos_fanatic" | "commander_zilyana" | "corporeal_beast" | "crazy_archaeologist" | "dagannoth_prime" | "dagannoth_rex" | "dagannoth_supreme" | "deranged_archaeologist" | "general_graardor" | "giant_mole" | "grotesque_guardians" | "hespori" | "kalphite_queen" | "king_black_dragon" | "kraken" | "kreearra" | "kril_tsutsaroth" | "mimic" | "nex" | "nightmare" | "phosanis_nightmare" | "obor" | "sarachnis" | "scorpia" | "skotizo" | "tempoross" | "the_gauntlet" | "the_corrupted_gauntlet" | "theatre_of_blood" | "theatre_of_blood_hard_mode" | "thermonuclear_smoke_devil" | "tzkal_zuk" | "tztok_jad" | "venenatis" | "vetion" | "vorkath" | "wintertodt" | "zalcano" | "zulrah")[];
1374
+ declare const MEMBER_SKILLS: ("overall" | "attack" | "defence" | "strength" | "hitpoints" | "ranged" | "prayer" | "magic" | "cooking" | "woodcutting" | "fletching" | "fishing" | "firemaking" | "crafting" | "smithing" | "mining" | "herblore" | "agility" | "thieving" | "slayer" | "farming" | "runecrafting" | "hunter" | "construction")[];
1375
+ declare const COMBAT_SKILLS: ("overall" | "attack" | "defence" | "strength" | "hitpoints" | "ranged" | "prayer" | "magic" | "cooking" | "woodcutting" | "fletching" | "fishing" | "firemaking" | "crafting" | "smithing" | "mining" | "herblore" | "agility" | "thieving" | "slayer" | "farming" | "runecrafting" | "hunter" | "construction")[];
1376
+ declare function findMetric(metricName: string): Metric | null;
1377
+ declare function isSkill(metric: Metric): boolean;
1378
+ declare function isActivity(metric: Metric): boolean;
1379
+ declare function isBoss(metric: Metric): boolean;
1380
+ declare function isVirtualMetric(metric: Metric): boolean;
1381
+ declare function getMetricRankKey(metric: Metric): string;
1382
+ declare function getMetricValueKey(metric: Metric): string;
1383
+ declare function getMetricMeasure(metric: Metric): any;
1384
+ declare function getMetricName(metric: Metric): any;
1385
+ declare function getMinimumBossKc(metric: Metric): number;
1386
+ declare function getParentVirtualMetric(metric: Metric): "ehp" | "ehb";
1387
+ declare function parseMetricAbbreviation(abbreviation: string): string | null;
1388
+
1389
+ declare type PeriodPropsMap = {
1390
+ [period in Period]: {
1391
+ name: string;
1392
+ milliseconds: number;
1393
+ };
1394
+ };
1395
+ declare const PeriodProps: PeriodPropsMap;
1396
+ declare const PERIODS: ("five_min" | "day" | "week" | "month" | "year")[];
1397
+ declare function findPeriod(periodName: string): Period | null;
1398
+ declare function parsePeriodExpression(periodExpression: string): {
1399
+ expression: string;
1400
+ durationMs: number;
1401
+ };
1402
+
1403
+ declare type PlayerTypePropsMap = {
1404
+ [playerType in PlayerType]: {
1405
+ name: string;
1406
+ };
1407
+ };
1408
+ declare type PlayerBuildPropsMap = {
1409
+ [playerBuild in PlayerBuild]: {
1410
+ name: string;
1411
+ };
1412
+ };
1413
+ declare const PlayerTypeProps: PlayerTypePropsMap;
1414
+ declare const PlayerBuildProps: PlayerBuildPropsMap;
1415
+ declare const PLAYER_TYPES: ("unknown" | "regular" | "ironman" | "hardcore" | "ultimate")[];
1416
+ declare const PLAYER_BUILDS: ("main" | "f2p" | "lvl3" | "zerker" | "def1" | "hp10")[];
1417
+ declare function findPlayerType(typeName: string): PlayerType | null;
1418
+ declare function findPlayerBuild(buildName: string): PlayerBuild | null;
1419
+
1420
+ declare function formatNumber(num: number, withLetters?: boolean): string | -1;
1421
+ declare function padNumber(value: number): string;
1422
+ declare function round(num: number, cases: number): number;
1423
+
1424
+ interface AchievementTemplate {
1425
+ name: string;
1426
+ metric: Metric;
1427
+ measure?: string;
1428
+ thresholds: number[];
1429
+ getCurrentValue?: (snapshot: Snapshot, threshold: number) => number;
1430
+ }
1431
+ interface AchievementDefinition {
1432
+ name: string;
1433
+ metric: Metric;
1434
+ measure: string;
1435
+ threshold: number;
1436
+ validate: (snapshot: Snapshot) => boolean;
1437
+ getCurrentValue: (snapshot: Snapshot) => number;
1438
+ }
1439
+ interface ExtendedAchievement extends Achievement {
1440
+ measure: string;
1441
+ }
1442
+ interface AchievementProgress extends ExtendedAchievement {
1443
+ currentValue: number;
1444
+ absoluteProgress: number;
1445
+ relativeProgress: number;
1446
+ }
1447
+
1448
+ interface MeasuredDeltaProgress {
1449
+ start: number;
1450
+ end: number;
1451
+ gained: number;
1452
+ }
1453
+ interface SkillDelta {
1454
+ metric: Skill;
1455
+ ehp: MeasuredDeltaProgress;
1456
+ rank: MeasuredDeltaProgress;
1457
+ level: MeasuredDeltaProgress;
1458
+ experience: MeasuredDeltaProgress;
1459
+ }
1460
+ interface BossDelta {
1461
+ metric: Boss;
1462
+ ehb: MeasuredDeltaProgress;
1463
+ rank: MeasuredDeltaProgress;
1464
+ kills: MeasuredDeltaProgress;
1465
+ }
1466
+ interface ActivityDelta {
1467
+ metric: Activity;
1468
+ rank: MeasuredDeltaProgress;
1469
+ score: MeasuredDeltaProgress;
1470
+ }
1471
+ interface VirtualDelta {
1472
+ metric: Virtual;
1473
+ rank: MeasuredDeltaProgress;
1474
+ value: MeasuredDeltaProgress;
1475
+ }
1476
+ interface PlayerDeltasArray {
1477
+ skills: Array<SkillDelta>;
1478
+ bosses: Array<BossDelta>;
1479
+ activities: Array<ActivityDelta>;
1480
+ virtuals: Array<VirtualDelta>;
1481
+ }
1482
+ interface PlayerDeltasMap {
1483
+ skills: {
1484
+ [skill in Skill]?: SkillDelta;
1485
+ };
1486
+ bosses: {
1487
+ [boss in Boss]?: BossDelta;
1488
+ };
1489
+ activities: {
1490
+ [activity in Activity]?: ActivityDelta;
1491
+ };
1492
+ virtuals: {
1493
+ [virtual in Virtual]?: VirtualDelta;
1494
+ };
1495
+ }
1496
+
1497
+ declare type SnapshotFragment = Omit<Snapshot, 'id'>;
1498
+ declare enum SnapshotDataSource {
1499
+ HISCORES = 0,
1500
+ CRYSTAL_MATH_LABS = 1
1501
+ }
1502
+ interface SkillValue {
1503
+ metric: Skill;
1504
+ rank: number;
1505
+ level: number;
1506
+ experience: number;
1507
+ ehp?: number;
1508
+ }
1509
+ interface BossValue {
1510
+ metric: Boss;
1511
+ rank: number;
1512
+ kills: number;
1513
+ ehb?: number;
1514
+ }
1515
+ interface ActivityValue {
1516
+ metric: Activity;
1517
+ rank: number;
1518
+ score: number;
1519
+ }
1520
+ interface VirtualValue {
1521
+ metric: Virtual;
1522
+ rank: number;
1523
+ value: number;
1524
+ }
1525
+ interface FormattedSnapshot {
1526
+ id: number;
1527
+ playerId: number;
1528
+ createdAt: Date;
1529
+ importedAt: Date | null;
1530
+ data: {
1531
+ skills: {
1532
+ [skill in Skill]?: SkillValue;
1533
+ };
1534
+ bosses: {
1535
+ [boss in Boss]?: BossValue;
1536
+ };
1537
+ activities: {
1538
+ [activity in Activity]?: ActivityValue;
1539
+ };
1540
+ virtuals: {
1541
+ [virtual in Virtual]?: VirtualValue;
1542
+ };
1543
+ };
1544
+ }
1545
+
1546
+ interface GroupListItem extends Omit<Group, 'verificationHash'> {
1547
+ memberCount: number;
1548
+ }
1549
+ interface GroupWithMemberships extends GroupListItem {
1550
+ memberships: MembershipWithPlayer[];
1551
+ }
1552
+ interface MembershipWithGroup extends Membership {
1553
+ group: GroupListItem;
1554
+ }
1555
+ interface MembershipWithPlayer extends Membership {
1556
+ player: Player;
1557
+ }
1558
+ interface MemberInput {
1559
+ username: string;
1560
+ role: string | GroupRole;
1561
+ }
1562
+ interface SkillHiscoresItem {
1563
+ rank: number;
1564
+ level: number;
1565
+ experience: number;
1566
+ }
1567
+ interface BossHiscoresItem {
1568
+ rank: number;
1569
+ kills: number;
1570
+ }
1571
+ interface ActivityHiscoresItem {
1572
+ rank: number;
1573
+ score: number;
1574
+ }
1575
+ interface VirtualHiscoresItem {
1576
+ rank: number;
1577
+ value: number;
1578
+ }
1579
+ interface GroupHiscoresEntry {
1580
+ membership: MembershipWithPlayer;
1581
+ data: SkillHiscoresItem | BossHiscoresItem | ActivityHiscoresItem | VirtualHiscoresItem;
1582
+ }
1583
+ interface GroupStatistics {
1584
+ maxedCombatCount: number;
1585
+ maxedTotalCount: number;
1586
+ maxed200msCount: number;
1587
+ averageStats: FormattedSnapshot;
1588
+ }
1589
+ declare enum MigrationDataSource {
1590
+ TEMPLE_OSRS = 0,
1591
+ CRYSTAL_MATH_LABS = 1
1592
+ }
1593
+ interface CMLGroupData {
1594
+ name: string;
1595
+ members: string[];
1596
+ }
1597
+ interface TempleGroupData {
1598
+ name: string;
1599
+ members: string[];
1600
+ leaders: string[];
1601
+ }
1602
+
1603
+ declare type CleanCompetition = Omit<Competition, 'verificationHash'>;
1604
+ declare type CleanParticipation = Omit<Participation, 'startSnapshotId' | 'endSnapshotId'>;
1605
+ interface CompetitionListItem extends CleanCompetition {
1606
+ group?: GroupListItem;
1607
+ participantCount: number;
1608
+ }
1609
+ interface CompetitionDetails extends CompetitionListItem {
1610
+ participations: ParticipationWithPlayerAndProgress[];
1611
+ }
1612
+ interface CompetitionWithParticipations extends CompetitionListItem {
1613
+ participations: ParticipationWithPlayer[];
1614
+ }
1615
+ interface ParticipationWithCompetition extends CleanParticipation {
1616
+ competition: CompetitionListItem;
1617
+ }
1618
+ interface ParticipationWithPlayer extends CleanParticipation {
1619
+ player: Player;
1620
+ }
1621
+ interface ParticipationWithPlayerAndProgress extends ParticipationWithPlayer {
1622
+ progress: MeasuredDeltaProgress;
1623
+ }
1624
+ interface Team {
1625
+ name: string;
1626
+ participants: string[];
1627
+ }
1628
+
1629
+ declare type ExperienceMap = {
1630
+ [skill in Skill]?: number;
1631
+ };
1632
+ declare type KillcountMap = {
1633
+ [boss in Boss]?: number;
1634
+ };
1635
+ declare type EfficiencyMap = {
1636
+ [m in Skill | Boss]?: number;
1637
+ };
1638
+ declare enum BonusType {
1639
+ START = 0,
1640
+ END = 1
1641
+ }
1642
+ declare enum EfficiencyAlgorithmType {
1643
+ MAIN = "main",
1644
+ IRONMAN = "ironman",
1645
+ LVL3 = "lvl3",
1646
+ F2P = "f2p"
1647
+ }
1648
+ interface SkillMetaConfig {
1649
+ skill: Skill;
1650
+ methods: Array<{
1651
+ rate: number;
1652
+ startExp: number;
1653
+ description: string;
1654
+ }>;
1655
+ bonuses: Bonus[];
1656
+ }
1657
+ interface BossMetaConfig {
1658
+ boss: Boss;
1659
+ rate: number;
1660
+ }
1661
+ interface Bonus {
1662
+ originSkill: Skill;
1663
+ bonusSkill: Skill;
1664
+ startExp: number;
1665
+ endExp: number;
1666
+ end: boolean;
1667
+ ratio: number;
1668
+ maxBonus?: number;
1669
+ }
1670
+ interface EfficiencyAlgorithm {
1671
+ skillMetas: SkillMetaConfig[];
1672
+ bossMetas: BossMetaConfig[];
1673
+ maximumEHP: number;
1674
+ maxedEHP: number;
1675
+ calculateEHB(killcountMap: KillcountMap): number;
1676
+ calculateEHP(experienceMap: ExperienceMap): number;
1677
+ calculateTTM(experienceMap: ExperienceMap): number;
1678
+ calculateTT200m(experienceMap: ExperienceMap): number;
1679
+ calculateSkillEHP(skill: Skill, experienceMap: ExperienceMap): number;
1680
+ calculateBossEHB(boss: Boss, killcountMap: KillcountMap): number;
1681
+ }
1682
+ declare type AlgorithmCache = {
1683
+ [a in EfficiencyAlgorithmType]: EfficiencyAlgorithm;
1684
+ };
1685
+
1686
+ declare type PlayerResolvable = Partial<Pick<Player, 'id' | 'username'>>;
1687
+ interface PlayerDetails extends Player {
1688
+ combatLevel: number;
1689
+ latestSnapshot: FormattedSnapshot;
1690
+ }
1691
+
1692
+ declare type PaginationOptions = Partial<{
1693
+ limit: number;
1694
+ offset: number;
1695
+ }>;
1696
+
1697
+ declare type TimeRangeFilter = {
1698
+ period: Period | string;
1699
+ } | {
1700
+ startDate: Date;
1701
+ endDate: Date;
1702
+ };
1703
+ interface PlayerRecordsFilter {
1704
+ period: Period | string;
1705
+ metric: Metric;
1706
+ }
1707
+ interface AssertPlayerTypeResponse {
1708
+ player: Player;
1709
+ changed: boolean;
1710
+ }
1711
+ interface ImportPlayerResponse {
1712
+ count: number;
1713
+ message: string;
1714
+ }
1715
+ declare type SearchPlayersResponse = Player[];
1716
+ declare type UpdatePlayerResponse = PlayerDetails;
1717
+ declare type GetPlayerDetailsResponse = PlayerDetails;
1718
+ declare type GetPlayerAchievementsResponse = ExtendedAchievement[];
1719
+ declare type GetPlayerAchievementProgressResponse = AchievementProgress[];
1720
+ declare type GetPlayerCompetitionsResponse = ParticipationWithCompetition[];
1721
+ declare type GetPlayerGroupsResponse = MembershipWithGroup[];
1722
+ declare type GetPlayerRecordsResponse = Record[];
1723
+ declare type GetPlayerNamesResponse = NameChange[];
1724
+ declare type GetPlayerSnapshotsResponse = FormattedSnapshot[];
1725
+ declare type GetPlayerGainsResponse<T extends PlayerDeltasArray | PlayerDeltasMap> = {
1726
+ startsAt: Date;
1727
+ endsAt: Date;
1728
+ data: T;
1729
+ };
1730
+ declare class PlayersClient {
1731
+ searchPlayers(partialUsername: string, pagination?: PaginationOptions): Promise<SearchPlayersResponse>;
1732
+ updatePlayer(player: PlayerResolvable): Promise<PlayerDetails>;
1733
+ assertPlayerType(player: PlayerResolvable): Promise<AssertPlayerTypeResponse>;
1734
+ importPlayer(player: PlayerResolvable): Promise<ImportPlayerResponse>;
1735
+ getPlayerDetails(player: PlayerResolvable): Promise<PlayerDetails>;
1736
+ getPlayerAchievements(player: PlayerResolvable): Promise<GetPlayerAchievementsResponse>;
1737
+ getPlayerAchievementProgress(player: PlayerResolvable): Promise<GetPlayerAchievementProgressResponse>;
1738
+ getPlayerCompetitions(player: PlayerResolvable, pagination?: PaginationOptions): Promise<GetPlayerCompetitionsResponse>;
1739
+ getPlayerGroups(player: PlayerResolvable, pagination?: PaginationOptions): Promise<GetPlayerGroupsResponse>;
1740
+ getPlayerGains(player: PlayerResolvable, options: TimeRangeFilter): Promise<GetPlayerGainsResponse<PlayerDeltasMap>>;
1741
+ getPlayerGainsAsArray(player: PlayerResolvable, options: TimeRangeFilter): Promise<GetPlayerGainsResponse<PlayerDeltasArray>>;
1742
+ getPlayerRecords(player: PlayerResolvable, options?: PlayerRecordsFilter): Promise<GetPlayerRecordsResponse>;
1743
+ getPlayerSnapshots(player: PlayerResolvable, options?: TimeRangeFilter): Promise<GetPlayerSnapshotsResponse>;
1744
+ getPlayerNames(player: PlayerResolvable): Promise<GetPlayerNamesResponse>;
1745
+ }
1746
+
1747
+ interface RecordLeaderboardFilter {
1748
+ metric: Metric;
1749
+ period: Period | string;
1750
+ country?: Country;
1751
+ playerType?: PlayerType;
1752
+ playerBuild?: PlayerBuild;
1753
+ }
1754
+ declare type GetRecordLeaderboardResponse = Array<Record & {
1755
+ player: Player;
1756
+ }>;
1757
+ declare class RecordsClient {
1758
+ getRecordLeaderboard(filter: RecordLeaderboardFilter): Promise<GetRecordLeaderboardResponse>;
1759
+ }
1760
+
1761
+ interface DeltaLeaderboardFilter {
1762
+ metric: Metric;
1763
+ period: Period | string;
1764
+ country?: Country;
1765
+ playerType?: PlayerType;
1766
+ playerBuild?: PlayerBuild;
1767
+ }
1768
+ declare type GetDeltaLeaderboardResponse = Array<{
1769
+ startDate: Date;
1770
+ endDate: Date;
1771
+ gained: number;
1772
+ player: Player;
1773
+ }>;
1774
+ declare class DeltasClient {
1775
+ getDeltaLeaderboard(filter: DeltaLeaderboardFilter): Promise<GetDeltaLeaderboardResponse>;
1776
+ }
1777
+
1778
+ interface EfficiencyLeaderboardsFilter {
1779
+ metric: typeof Metric.EHP | typeof Metric.EHB | 'ehp+ehb';
1780
+ country?: Country;
1781
+ playerType?: PlayerType;
1782
+ playerBuild?: PlayerBuild;
1783
+ }
1784
+ declare type GetEfficiencyLeaderboardsResponse = Player[];
1785
+ declare class EfficiencyClient {
1786
+ getEfficiencyLeaderboards(filter: EfficiencyLeaderboardsFilter, pagination?: PaginationOptions): Promise<GetEfficiencyLeaderboardsResponse>;
1787
+ getEHPRates(algorithmType: `${EfficiencyAlgorithmType}`): Promise<SkillMetaConfig>;
1788
+ getEHBRates(algorithmType: `${EfficiencyAlgorithmType}`): Promise<BossMetaConfig[]>;
1789
+ }
1790
+
1791
+ declare class WOMClient {
1792
+ players: PlayersClient;
1793
+ records: RecordsClient;
1794
+ deltas: DeltasClient;
1795
+ efficiency: EfficiencyClient;
1796
+ constructor();
1797
+ }
1798
+
1799
+ export { ACTIVITIES, Achievement, AchievementDefinition, AchievementProgress, AchievementTemplate, Activity, ActivityDelta, ActivityValue, AlgorithmCache, AssertPlayerTypeResponse, BOSSES, Bonus, BonusType, Boss, BossDelta, BossMetaConfig, BossValue, CAPPED_MAX_TOTAL_XP, CMLGroupData, COMBAT_SKILLS, COMPETITION_STATUSES, COMPETITION_TYPES, COUNTRY_CODES, CompetitionDetails, CompetitionListItem, CompetitionStatus, CompetitionStatusProps, CompetitionType, CompetitionTypeProps, CompetitionWithParticipations, Country, CountryDetails, CountryProps, Delta, DeltaLeaderboardFilter, EfficiencyAlgorithm, EfficiencyAlgorithmType, EfficiencyLeaderboardsFilter, EfficiencyMap, ExperienceMap, ExtendedAchievement, F2P_BOSSES, FormattedSnapshot, GROUP_ROLES, GetDeltaLeaderboardResponse, GetEfficiencyLeaderboardsResponse, GetPlayerAchievementProgressResponse, GetPlayerAchievementsResponse, GetPlayerCompetitionsResponse, GetPlayerDetailsResponse, GetPlayerGainsResponse, GetPlayerGroupsResponse, GetPlayerNamesResponse, GetPlayerRecordsResponse, GetPlayerSnapshotsResponse, GetRecordLeaderboardResponse, GroupHiscoresEntry, GroupListItem, GroupRole, GroupRoleProps, GroupStatistics, GroupWithMemberships, ImportPlayerResponse, KillcountMap, MAX_LEVEL, MAX_SKILL_EXP, MAX_VIRTUAL_LEVEL, MEMBER_SKILLS, METRICS, MeasuredDeltaProgress, MemberInput, MembershipWithGroup, MembershipWithPlayer, Metric, MetricMeasure, MetricProps, MetricType, MigrationDataSource, NameChangeStatus, PERIODS, PLAYER_BUILDS, PLAYER_TYPES, PRIVELEGED_GROUP_ROLES, ParticipationWithCompetition, ParticipationWithPlayer, ParticipationWithPlayerAndProgress, Period, PeriodProps, Player, PlayerBuild, PlayerBuildProps, PlayerDeltasArray, PlayerDeltasMap, PlayerDetails, PlayerRecordsFilter, PlayerResolvable, PlayerType, PlayerTypeProps, REAL_SKILLS, Record, RecordLeaderboardFilter, SKILLS, SKILL_EXP_AT_99, SearchPlayersResponse, Skill, SkillDelta, SkillMetaConfig, SkillValue, Snapshot, SnapshotDataSource, SnapshotFragment, Team, TempleGroupData, TimeRangeFilter, UpdatePlayerResponse, VIRTUALS, Virtual, VirtualDelta, VirtualValue, WOMClient, findCompetitionStatus, findCompetitionType, findCountry, findCountryByCode, findCountryByName, findGroupRole, findMetric, findPeriod, findPlayerBuild, findPlayerType, formatNumber, get200msCount, getCappedExp, getCombatLevel, getCombatLevelFromExp, getExpForLevel, getLevel, getMetricMeasure, getMetricName, getMetricRankKey, getMetricValueKey, getMinimumBossKc, getMinimumExp, getParentVirtualMetric, getTotalLevel, is10HP, is1Def, isActivity, isBoss, isF2p, isLvl3, isSkill, isVirtualMetric, isZerker, padNumber, parseMetricAbbreviation, parsePeriodExpression, round };