pokenode-ts 2.3.1 → 3.0.0

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/lib/index.d.ts CHANGED
@@ -1,3 +1,17 @@
1
+ /**
2
+ * _
3
+ * |_) _ | _ _ _ _| _ __ _|_ _
4
+ * | (_) |< (/_ | | (_) (_| (/_ |_ _>
5
+ *
6
+ * pokenode-ts v3.0.0 — A typed PokéAPI client with zero runtime dependencies.
7
+ *
8
+ * Docs: https://pokenode-ts.vercel.app/
9
+ * Author: Gabb-c <https://github.com/Gabb-c>
10
+ * License: MIT
11
+ *
12
+ * @license MIT
13
+ * @preserve
14
+ */
1
15
  //#region src/models/common/resource.d.ts
2
16
  /**
3
17
  * Marks what a link points at.
@@ -21,7 +35,7 @@ declare const RESOURCE_TYPE: unique symbol;
21
35
  * target has not been declared still type-checks; pass it to
22
36
  * {@link UtilityClient.getResourceByUrl} and the resource comes back typed.
23
37
  */
24
- interface NamedAPIResource<T = unknown> {
38
+ export interface NamedAPIResource<T = unknown> {
25
39
  /** The name of the referenced resource. */
26
40
  name: string;
27
41
  /** The URL of the referenced resource. */
@@ -36,7 +50,7 @@ interface NamedAPIResource<T = unknown> {
36
50
  *
37
51
  * @template T - What the listed links resolve to.
38
52
  */
39
- interface NamedAPIResourceList<T = unknown> {
53
+ export interface NamedAPIResourceList<T = unknown> {
40
54
  /** The total number of resources available from this API. */
41
55
  count: number;
42
56
  /** The URL for the next page in the list. */
@@ -51,7 +65,7 @@ interface NamedAPIResourceList<T = unknown> {
51
65
  *
52
66
  * @template T - What the URL resolves to.
53
67
  */
54
- interface APIResource<T = unknown> {
68
+ export interface APIResource<T = unknown> {
55
69
  /** The URL of the referenced resource. */
56
70
  url: string;
57
71
  /** Phantom. Never present at runtime. */
@@ -66,7 +80,7 @@ interface APIResource<T = unknown> {
66
80
  *
67
81
  * @template T - What the listed links resolve to.
68
82
  */
69
- interface APIResourceList<T = unknown> {
83
+ export interface APIResourceList<T = unknown> {
70
84
  /** The total number of resources available from this API. */
71
85
  count: number;
72
86
  /** The URL for the next page in the list. */
@@ -81,7 +95,7 @@ interface APIResourceList<T = unknown> {
81
95
  /**
82
96
  * The localized name for an API resource in a specific language.
83
97
  */
84
- interface Name {
98
+ export interface Name {
85
99
  /** The localized name for an API resource in a specific language. */
86
100
  name: string;
87
101
  /** The language this name is in. */
@@ -92,7 +106,7 @@ interface Name {
92
106
  /**
93
107
  * Languages for translations of API resource information.
94
108
  */
95
- interface Language {
109
+ export interface Language {
96
110
  /** The identifier for this resource. */
97
111
  id: number;
98
112
  /** The name for this resource. */
@@ -111,7 +125,7 @@ interface Language {
111
125
  /**
112
126
  * The localized description for an API resource in a specific language.
113
127
  */
114
- interface Description {
128
+ export interface Description {
115
129
  /** The localized description for an API resource in a specific language. */
116
130
  description: string;
117
131
  /** The language this name is in. */
@@ -122,7 +136,7 @@ interface Description {
122
136
  /**
123
137
  * The localized effect text for an API resource in a specific language.
124
138
  */
125
- interface Effect {
139
+ export interface Effect {
126
140
  /** The localized effect text for an API resource in a specific language. */
127
141
  effect: string;
128
142
  /** The language this effect is in. */
@@ -136,7 +150,7 @@ interface Effect {
136
150
  *
137
151
  * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Wild_Pok%C3%A9mon) for greater detail.
138
152
  */
139
- interface EncounterMethod {
153
+ export interface EncounterMethod {
140
154
  /** The identifier for this resource. */
141
155
  id: number;
142
156
  /** The name for this resource. */
@@ -152,7 +166,7 @@ interface EncounterMethod {
152
166
  *
153
167
  * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Time).
154
168
  */
155
- interface EncounterCondition {
169
+ export interface EncounterCondition {
156
170
  /** The identifier for this resource. */
157
171
  id: number;
158
172
  /** The name for this resource. */
@@ -169,7 +183,7 @@ interface EncounterCondition {
169
183
  *
170
184
  * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Time).
171
185
  */
172
- interface EncounterConditionValue {
186
+ export interface EncounterConditionValue {
173
187
  /** The identifier for this resource. */
174
188
  id: number;
175
189
  /** The name for this resource. */
@@ -187,7 +201,7 @@ interface EncounterConditionValue {
187
201
  * Only the games that impose such constraints populate this — guaranteed
188
202
  * perfect IVs, forced or forbidden shininess, and Legends: Arceus alphas.
189
203
  */
190
- interface EncounterPokemonDetail {
204
+ export interface EncounterPokemonDetail {
191
205
  /** How many IVs are guaranteed to be perfect, if the game guarantees any. */
192
206
  min_perfect_ivs: number | null;
193
207
  /** Whether the encountered Pokémon is always shiny. */
@@ -198,7 +212,7 @@ interface EncounterPokemonDetail {
198
212
  is_alpha: boolean;
199
213
  }
200
214
  /** Information about a Pokémon encounter. */
201
- interface Encounter {
215
+ export interface Encounter {
202
216
  /** The lowest level the Pokémon could be encountered at. */
203
217
  min_level: number;
204
218
  /** The highest level the Pokémon could be encountered at. */
@@ -220,7 +234,7 @@ interface Encounter {
220
234
  *
221
235
  * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Contest_condition) for greater detail.
222
236
  */
223
- interface ContestType {
237
+ export interface ContestType {
224
238
  /** The identifier for this resource. */
225
239
  id: number;
226
240
  /** The name for this resource. */
@@ -233,7 +247,7 @@ interface ContestType {
233
247
  /**
234
248
  * The name of the given contest type.
235
249
  */
236
- interface ContestName {
250
+ export interface ContestName {
237
251
  /** The name for this contest. */
238
252
  name: string;
239
253
  /** The color associated with this contest's name. */
@@ -247,7 +261,7 @@ interface ContestName {
247
261
  * Deliberately not the shared `FlavorText`: contest effects are not tied to a
248
262
  * game, so the API omits the `version` that type carries.
249
263
  */
250
- interface ContestFlavorText {
264
+ export interface ContestFlavorText {
251
265
  /** The localized flavor text. */
252
266
  flavor_text: string;
253
267
  /** The language this flavor text is in. */
@@ -257,7 +271,7 @@ interface ContestFlavorText {
257
271
  * ## Contest Effect
258
272
  * Contest effects refer to the effects of moves when used in contests.
259
273
  */
260
- interface ContestEffect {
274
+ export interface ContestEffect {
261
275
  /** The identifier for this resource. */
262
276
  id: number;
263
277
  /** The base number of hearts the user of this move gets. */
@@ -280,7 +294,7 @@ interface ContestEffect {
280
294
  *
281
295
  * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_Super_Contest).
282
296
  */
283
- interface SuperContestEffect {
297
+ export interface SuperContestEffect {
284
298
  /** The identifier for this resource. */
285
299
  id: number;
286
300
  /** The level of appeal this super contest effect has. */
@@ -300,7 +314,7 @@ interface SuperContestEffect {
300
314
  *
301
315
  * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Currency) for greater detail.
302
316
  */
303
- interface Currency {
317
+ export interface Currency {
304
318
  /** The identifier for this resource. */
305
319
  id: number;
306
320
  /** The name for this resource. */
@@ -313,14 +327,14 @@ interface Currency {
313
327
  /**
314
328
  * Sprites used to depict the given item in the game.
315
329
  */
316
- interface ItemSprites {
330
+ export interface ItemSprites {
317
331
  /** The default depiction of this item. */
318
332
  default: string;
319
333
  }
320
334
  /**
321
335
  * Pokémon that might be found in the wild holding the given item.
322
336
  */
323
- interface ItemHolderPokemon {
337
+ export interface ItemHolderPokemon {
324
338
  /** The Pokémon that holds this item. */
325
339
  pokemon: NamedAPIResource<Pokemon>;
326
340
  /** The details for the version that this item is held in by the Pokémon. */
@@ -329,7 +343,7 @@ interface ItemHolderPokemon {
329
343
  /**
330
344
  * The details for the version that the given item is held in by the Pokémon.
331
345
  */
332
- interface ItemHolderPokemonVersionDetail {
346
+ export interface ItemHolderPokemonVersionDetail {
333
347
  /** How often this Pokémon holds this item in this version. */
334
348
  rarity: number;
335
349
  /** The version that this item is held in by the Pokémon. */
@@ -339,7 +353,7 @@ interface ItemHolderPokemonVersionDetail {
339
353
  * ## Item Attribute
340
354
  * Item attributes define particular aspects of items, e.g. "usable in battle" or "consumable".
341
355
  */
342
- interface ItemAttribute {
356
+ export interface ItemAttribute {
343
357
  /** The identifier for this resource. */
344
358
  id: number;
345
359
  /** The name for this resource. */
@@ -355,7 +369,7 @@ interface ItemAttribute {
355
369
  * ## Item Category
356
370
  * Item categories determine where items will be placed in the player's bag.
357
371
  */
358
- interface ItemCategory {
372
+ export interface ItemCategory {
359
373
  /** The identifier for this resource. */
360
374
  id: number;
361
375
  /** The name for this resource. */
@@ -371,7 +385,7 @@ interface ItemCategory {
371
385
  * ## Item Fling Effect
372
386
  * The various effects of the move "Fling" when used with different items.
373
387
  */
374
- interface ItemFlingEffect {
388
+ export interface ItemFlingEffect {
375
389
  /** The identifier for this resource. */
376
390
  id: number;
377
391
  /** The name for this resource. */
@@ -385,7 +399,7 @@ interface ItemFlingEffect {
385
399
  * ## Item Pocket
386
400
  * Pockets within the player's bag used for storing items by category.
387
401
  */
388
- interface ItemPocket {
402
+ export interface ItemPocket {
389
403
  /** The identifier for this resource. */
390
404
  id: number;
391
405
  /** The name for this resource. */
@@ -396,7 +410,7 @@ interface ItemPocket {
396
410
  names: Name[];
397
411
  }
398
412
  /** The price of an item in a single version group. */
399
- interface ItemPrice {
413
+ export interface ItemPrice {
400
414
  /** The currency used for this price. */
401
415
  currency: NamedAPIResource<Currency>;
402
416
  /** The purchase price of this item in this version group. Null if the item cannot be purchased. */
@@ -413,7 +427,7 @@ interface ItemPrice {
413
427
  *
414
428
  * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Item).
415
429
  */
416
- interface Item {
430
+ export interface Item {
417
431
  /** The identifier for this resource. */
418
432
  id: number;
419
433
  /** The name for this resource. */
@@ -451,7 +465,7 @@ interface Item {
451
465
  * Method in which Pokémon may be encountered in the given area
452
466
  * and how likely the method will occur depending on the version of the game.
453
467
  */
454
- interface EncounterMethodRate {
468
+ export interface EncounterMethodRate {
455
469
  /** The method in which Pokémon may be encountered in an area. */
456
470
  encounter_method: NamedAPIResource<EncounterMethod>;
457
471
  /** The chance of the encounter to occur on a version of the game. */
@@ -460,7 +474,7 @@ interface EncounterMethodRate {
460
474
  /**
461
475
  * The chance of the encounter to occur on a version of the game.
462
476
  */
463
- interface EncounterVersionDetails {
477
+ export interface EncounterVersionDetails {
464
478
  /** The chance of an encounter to occur. */
465
479
  rate: number;
466
480
  /** The version of the game in which the encounter can occur with the given chance. */
@@ -469,7 +483,7 @@ interface EncounterVersionDetails {
469
483
  /**
470
484
  * Describes a pokémon encounter in a given area.
471
485
  */
472
- interface PokemonEncounter {
486
+ export interface PokemonEncounter {
473
487
  /** The Pokémon being encountered. */
474
488
  pokemon: NamedAPIResource<Pokemon>;
475
489
  /** A list of versions and encounters with Pokémon that might happen in the referenced location area. */
@@ -484,7 +498,7 @@ interface PokemonEncounter {
484
498
  *
485
499
  * - See the [List of Locations](https://bulbapedia.bulbagarden.net/wiki/List_of_locations_by_name).
486
500
  */
487
- interface Location {
501
+ export interface Location {
488
502
  /** The identifier for this resource. */
489
503
  id: number;
490
504
  /** The name for this resource. */
@@ -505,7 +519,7 @@ interface Location {
505
519
  *
506
520
  * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Area) for greater detail.
507
521
  */
508
- interface LocationArea {
522
+ export interface LocationArea {
509
523
  /** The identifier for this resource. */
510
524
  id: number;
511
525
  /** The name for this resource. */
@@ -522,11 +536,174 @@ interface LocationArea {
522
536
  pokemon_encounters: PokemonEncounter[];
523
537
  }
524
538
  //#endregion
539
+ //#region src/models/pokemon/pokeathlon-stat.d.ts
540
+ /**
541
+ * ## Pokéathlon Stat
542
+ * Pokéathlon Stats are different attributes of a Pokémon's performance in Pokéathlons.
543
+ * In Pokéathlons, competitions happen on different courses; one for each of the different Pokéathlon stats.
544
+ *
545
+ * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9athlon) for greater detail.
546
+ */
547
+ export interface PokeathlonStat {
548
+ /** The identifier for this resource. */
549
+ id: number;
550
+ /** The name for this resource. */
551
+ name: "speed" | "power" | "skill" | "stamina" | "jump";
552
+ /** The name of this resource listed in different languages. */
553
+ names: Name[];
554
+ /** A detail of natures which affect this Pokéathlon stat positively or negatively. */
555
+ affecting_natures: NaturePokeathlonStatAffectSets;
556
+ }
557
+ /**
558
+ * A nature and how it changes the referenced Pokéathlon stat.
559
+ */
560
+ export interface NaturePokeathlonStatAffect {
561
+ /** The maximum amount of change to the referenced Pokéathlon stat. */
562
+ max_change: -1 | -2 | 1 | 2;
563
+ /** The nature causing the change. */
564
+ nature: NamedAPIResource<Nature>;
565
+ }
566
+ /**
567
+ * A detail of natures which affect this Pokéathlon stat positively or negatively.
568
+ */
569
+ export interface NaturePokeathlonStatAffectSets {
570
+ /** A list of natures and how they change the referenced Pokéathlon stat. */
571
+ increase: NaturePokeathlonStatAffect[];
572
+ /** A list of natures and how they change the referenced Pokéathlon stat. */
573
+ decrease: NaturePokeathlonStatAffect[];
574
+ }
575
+ //#endregion
576
+ //#region src/models/pokemon/characteristic.d.ts
577
+ /**
578
+ * ## Characteristic
579
+ * Characteristics indicate which stat contains a Pokémon's highest IV.
580
+ * A Pokémon's Characteristic is determined by the remainder of its highest IV divided by 5 (gene_modulo).
581
+ *
582
+ * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Characteristic) for greater detail.
583
+ */
584
+ export interface Characteristic {
585
+ /** The identifier for this resource. */
586
+ id: number;
587
+ /** The remainder of the highest stat/IV divided by 5. */
588
+ gene_modulo: number;
589
+ /** The possible values of the highest stat that would result in a Pokémon receiving this characteristic when divided by 5. */
590
+ possible_values: number[];
591
+ /** The highest stat for the referenced characteristic. */
592
+ highest_stat: NamedAPIResource<Stat>;
593
+ /** Descriptions for the referenced characteristic. */
594
+ descriptions: Description[];
595
+ }
596
+ //#endregion
597
+ //#region src/models/pokemon/stat.d.ts
598
+ /**
599
+ * ## Stat
600
+ * Stats determine certain aspects of battles. Each Pokémon has a value for each stat
601
+ * which grows as they gain levels and can be altered momentarily by effects in battles.
602
+ */
603
+ export interface Stat {
604
+ /** The identifier for this resource. */
605
+ id: number;
606
+ /** The name for this resource. */
607
+ name: "hp" | "attack" | "defense" | "special-attack" | "special-defense" | "speed" | "accuracy" | "evasion";
608
+ /** ID the games use for this stat. */
609
+ game_index: number;
610
+ /** Whether this stat only exists within a battle. */
611
+ is_battle_only: boolean;
612
+ /** A detail of moves which affect this stat positively or negatively. */
613
+ affecting_moves: MoveStatAffectSets;
614
+ /** A detail of natures which affect this stat positively or negatively. */
615
+ affecting_natures: NatureStatAffectSets;
616
+ /** A list of items which affect this stat. */
617
+ affecting_items: NamedAPIResource<Item>[];
618
+ /** A list of characteristics that are set on a Pokémon when its highest base stat is this stat. */
619
+ characteristics: APIResource<Characteristic>[];
620
+ /** The class of damage this stat is directly related to. */
621
+ move_damage_class: NamedAPIResource<MoveDamageClass> | null;
622
+ /** The name of this resource listed in different languages. */
623
+ names: Name[];
624
+ }
625
+ /**
626
+ * A detail of natures which affect the given stat positively or negatively.
627
+ */
628
+ export interface NatureStatAffectSets {
629
+ /** A list of natures and how they change the referenced stat. */
630
+ increase: NamedAPIResource<Nature>[];
631
+ /** A list of natures and how they change the referenced stat. */
632
+ decrease: NamedAPIResource<Nature>[];
633
+ }
634
+ /**
635
+ * A move and how it changes the referenced stat.
636
+ */
637
+ export interface MoveStatAffect {
638
+ /** The maximum amount of change to the referenced stat. */
639
+ change: -1 | -2 | 1 | 2;
640
+ /** The move causing the change. */
641
+ move: NamedAPIResource<Move>;
642
+ }
643
+ /**
644
+ * A detail of moves which affect a stat positively or negatively.
645
+ */
646
+ export interface MoveStatAffectSets {
647
+ /** A list of moves and how they change the referenced stat. */
648
+ increase: MoveStatAffect[];
649
+ /** A list of moves and how they change the referenced stat. */
650
+ decrease: MoveStatAffect[];
651
+ }
652
+ //#endregion
653
+ //#region src/models/pokemon/nature.d.ts
654
+ /**
655
+ * ## Nature
656
+ * Natures influence how a Pokémon's stats grow.
657
+ *
658
+ * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Nature) for greater detail.
659
+ */
660
+ export interface Nature {
661
+ /** The identifier for this resource. */
662
+ id: number;
663
+ /** The name for this resource. */
664
+ name: string;
665
+ /** The stat decreased by 10% in Pokémon with this nature. */
666
+ decreased_stat: NamedAPIResource<Stat> | null;
667
+ /** The stat increased by 10% in Pokémon with this nature. */
668
+ increased_stat: NamedAPIResource<Stat> | null;
669
+ /** The flavor hated by Pokémon with this nature. */
670
+ hates_flavor: NamedAPIResource<BerryFlavor> | null;
671
+ /** The flavor liked by Pokémon with this nature. */
672
+ likes_flavor: NamedAPIResource<BerryFlavor> | null;
673
+ /** A list of Pokéathlon stats this nature affects and by how much. */
674
+ pokeathlon_stat_changes: NatureStatChange[];
675
+ /** A list of battle styles and how likely a Pokémon with this nature is to use them in the Battle Palace or Battle Tent. */
676
+ move_battle_style_preferences: MoveBattleStylePreference[];
677
+ /** The name of this resource listed in different languages. */
678
+ names: Name[];
679
+ }
680
+ /**
681
+ * A Pokéathlon stat a nature affects, and by how much.
682
+ */
683
+ export interface NatureStatChange {
684
+ /** The amount of change. */
685
+ max_change: -1 | 1 | -2 | 2;
686
+ /** The stat being affected. */
687
+ pokeathlon_stat: NamedAPIResource<PokeathlonStat>;
688
+ }
689
+ /**
690
+ * Battle Style and how likely a Pokémon with the given nature is to use them
691
+ * in the Battle Palace or Battle Tent.
692
+ */
693
+ export interface MoveBattleStylePreference {
694
+ /** Chance of using the move, in percent, if HP is under one half. */
695
+ low_hp_preference: number;
696
+ /** Chance of using the move, in percent, if HP is over one half. */
697
+ high_hp_preference: number;
698
+ /** The move battle style. */
699
+ move_battle_style: NamedAPIResource<MoveBattleStyle>;
700
+ }
701
+ //#endregion
525
702
  //#region src/models/pokemon/type.d.ts
526
703
  /**
527
704
  * Details of Pokémon for a specific type.
528
705
  */
529
- interface TypePokemon {
706
+ export interface TypePokemon {
530
707
  /** The order the Pokémon's types are listed in. */
531
708
  slot: number;
532
709
  /** The Pokémon that has the referenced type. */
@@ -535,7 +712,7 @@ interface TypePokemon {
535
712
  /**
536
713
  * Detail of how effective a type is toward others and vice versa.
537
714
  */
538
- interface TypeRelations {
715
+ export interface TypeRelations {
539
716
  /** A list of types this type has no effect on. */
540
717
  no_damage_to: NamedAPIResource<Type>[];
541
718
  /** A list of types this type is not very effective against. */
@@ -552,7 +729,7 @@ interface TypeRelations {
552
729
  /**
553
730
  * Details of how effective this type was toward others and vice versa in a previous generation.
554
731
  */
555
- interface TypeRelationsPast {
732
+ export interface TypeRelationsPast {
556
733
  /** The last generation in which the referenced type had the listed damage relations. */
557
734
  generation: NamedAPIResource<Generation>;
558
735
  /** The damage relations the referenced type had up to and including the listed generation. */
@@ -564,14 +741,14 @@ interface TypeRelationsPast {
564
741
  * `symbol_icon` is the type's bare glyph and `name_icon` spells the name out;
565
742
  * games that only ever shipped one of the two leave the other `null`.
566
743
  */
567
- interface TypeGameSprites {
744
+ export interface TypeGameSprites {
568
745
  /** The icon spelling out the type's name. */
569
746
  name_icon: string | null;
570
747
  /** The icon showing the type's symbol alone. */
571
748
  symbol_icon: string | null;
572
749
  }
573
750
  /** Generation-III type icons, by game. */
574
- interface GenerationIIITypeSprites {
751
+ export interface GenerationIIITypeSprites {
575
752
  colosseum: TypeGameSprites;
576
753
  emerald: TypeGameSprites;
577
754
  "firered-leafgreen": TypeGameSprites;
@@ -579,35 +756,35 @@ interface GenerationIIITypeSprites {
579
756
  xd: TypeGameSprites;
580
757
  }
581
758
  /** Generation-IV type icons, by game. */
582
- interface GenerationIVTypeSprites {
759
+ export interface GenerationIVTypeSprites {
583
760
  "diamond-pearl": TypeGameSprites;
584
761
  "heartgold-soulsilver": TypeGameSprites;
585
762
  platinum: TypeGameSprites;
586
763
  }
587
764
  /** Generation-V type icons, by game. */
588
- interface GenerationVTypeSprites {
765
+ export interface GenerationVTypeSprites {
589
766
  "black-2-white-2": TypeGameSprites;
590
767
  "black-white": TypeGameSprites;
591
768
  }
592
769
  /** Generation-VI type icons, by game. */
593
- interface GenerationVITypeSprites {
770
+ export interface GenerationVITypeSprites {
594
771
  "omega-ruby-alpha-sapphire": TypeGameSprites;
595
772
  "x-y": TypeGameSprites;
596
773
  }
597
774
  /** Generation-VII type icons, by game. */
598
- interface GenerationVIITypeSprites {
775
+ export interface GenerationVIITypeSprites {
599
776
  "lets-go-pikachu-lets-go-eevee": TypeGameSprites;
600
777
  "sun-moon": TypeGameSprites;
601
778
  "ultra-sun-ultra-moon": TypeGameSprites;
602
779
  }
603
780
  /** Generation-VIII type icons, by game. */
604
- interface GenerationVIIITypeSprites {
781
+ export interface GenerationVIIITypeSprites {
605
782
  "brilliant-diamond-shining-pearl": TypeGameSprites;
606
783
  "legends-arceus": TypeGameSprites;
607
784
  "sword-shield": TypeGameSprites;
608
785
  }
609
786
  /** Generation-IX type icons, by game. */
610
- interface GenerationIXTypeSprites {
787
+ export interface GenerationIXTypeSprites {
611
788
  "scarlet-violet": TypeGameSprites;
612
789
  }
613
790
  /**
@@ -615,7 +792,7 @@ interface GenerationIXTypeSprites {
615
792
  *
616
793
  * Generations I and II are absent: neither displayed type icons in-game.
617
794
  */
618
- interface TypeSprites {
795
+ export interface TypeSprites {
619
796
  /** Generation-III type icons. */
620
797
  "generation-iii": GenerationIIITypeSprites;
621
798
  /** Generation-IV type icons. */
@@ -637,7 +814,7 @@ interface TypeSprites {
637
814
  * Each type has three properties: which types of Pokémon it is super effective against,
638
815
  * which types of Pokémon it is not very effective against, and which types of Pokémon it is completely ineffective against.
639
816
  */
640
- interface Type {
817
+ export interface Type {
641
818
  /** The identifier for this resource. */
642
819
  id: number;
643
820
  /** The name for this resource. */
@@ -669,12 +846,12 @@ interface Type {
669
846
  * them. `dusk` is Lycanroc's Dusk Form and `full-moon` is Ursaluna, so this is
670
847
  * wider than the day/night pair the endpoint documentation describes.
671
848
  */
672
- type EvolutionTimeOfDay = "day" | "night" | "dusk" | "full-moon";
849
+ export type EvolutionTimeOfDay = "day" | "night" | "dusk" | "full-moon";
673
850
  /**
674
851
  * ## Evolution Detail
675
852
  * All details regarding the specific details of the referenced Pokémon species evolution.
676
853
  */
677
- interface EvolutionDetail {
854
+ export interface EvolutionDetail {
678
855
  /** The item required to cause evolution into this Pokémon species. */
679
856
  item: NamedAPIResource<Item> | null;
680
857
  /** The type of event that triggers evolution into this Pokémon species. */
@@ -728,9 +905,9 @@ interface EvolutionDetail {
728
905
  /** The region this evolution must occur in. */
729
906
  region: NamedAPIResource<Region> | null;
730
907
  /** The form the evolving Pokémon must be in for this evolution to occur. */
731
- base_form: NamedAPIResource<PokemonForm> | null;
908
+ required_pokemon_form: NamedAPIResource<PokemonForm> | null;
732
909
  /** The form this evolution produces. */
733
- evolved_form: NamedAPIResource<PokemonForm> | null;
910
+ evolved_pokemon_form: NamedAPIResource<PokemonForm> | null;
734
911
  /**
735
912
  * The move that must be used by the evolving Pokémon species during the evolution trigger event
736
913
  * in order to evolve into this Pokémon species.
@@ -745,13 +922,40 @@ interface EvolutionDetail {
745
922
  * species.
746
923
  */
747
924
  min_damage_taken: number | null;
925
+ /** The natures the evolving Pokémon must have one of, e.g. Toxtricity's Amped and Low Key forms. */
926
+ allowed_natures: NamedAPIResource<Nature>[] | null;
927
+ /**
928
+ * A check over hidden values or the player's input the evolution must pass, e.g. Wurmple into
929
+ * Silcoon or Cascoon, or how Milcery is spun.
930
+ */
931
+ condition_expression: EvolutionConditionExpression | null;
932
+ }
933
+ /**
934
+ * ## Evolution Condition Expression
935
+ * A check against values the games hide from the player, or against how the
936
+ * player performed the evolution, which decides between evolutions that
937
+ * otherwise share every requirement.
938
+ */
939
+ export interface EvolutionConditionExpression {
940
+ /**
941
+ * The check in postfix notation over the variables' symbols, e.g.
942
+ * `"EC 100 % 0 !="` — the encryption constant is not a multiple of 100.
943
+ */
944
+ expression: string;
945
+ /**
946
+ * The share of Pokémon, in percent, that pass the check. `null` when the check
947
+ * reads the player's input, which the player chooses rather than rolls.
948
+ */
949
+ percentage_chance: number | null;
950
+ /** The values the expression reads. */
951
+ variables: NamedAPIResource<EvolutionVariable>[];
748
952
  }
749
953
  /**
750
954
  * ## Chain Link
751
955
  * Contains evolution details for a Pokémon in the chain.
752
956
  * Each link references the next Pokémon in the natural evolution order.
753
957
  */
754
- interface ChainLink {
958
+ export interface ChainLink {
755
959
  /** Whether or not this link is for a baby Pokémon. This would only ever be true on the base link. */
756
960
  is_baby: boolean;
757
961
  /** The Pokémon species at this point in the evolution chain. */
@@ -768,7 +972,7 @@ interface ChainLink {
768
972
  * evolution conditions for each as well as Pokémon they can evolve
769
973
  * into up through the hierarchy.
770
974
  */
771
- interface EvolutionChain {
975
+ export interface EvolutionChain {
772
976
  /** The identifier for this resource. */
773
977
  id: number;
774
978
  /**
@@ -788,7 +992,7 @@ interface EvolutionChain {
788
992
  * them — which is the order their ids run in, and the order
789
993
  * {@link EVOLUTION_TRIGGERS} mirrors.
790
994
  */
791
- type EvolutionTriggerName = "level-up" | "trade" | "use-item" | "shed" | "spin" | "tower-of-darkness" | "tower-of-waters" | "three-critical-hits" | "take-damage" | "other" | "agile-style-move" | "strong-style-move" | "recoil-damage" | "use-move" | "three-defeated-bisharp" | "gimmighoul-coins";
995
+ export type EvolutionTriggerName = "level-up" | "trade" | "use-item" | "shed" | "spin" | "tower-of-darkness" | "tower-of-waters" | "three-critical-hits" | "take-damage" | "in-battle-level-up" | "agile-style-move" | "strong-style-move" | "recoil-damage" | "use-move" | "three-defeated-bisharp" | "gimmighoul-coins" | "meltan-candies" | "unclassified";
792
996
  /**
793
997
  * ## Evolution Trigger
794
998
  * Evolution triggers are the events and conditions that cause a Pokémon to evolve.
@@ -798,7 +1002,7 @@ type EvolutionTriggerName = "level-up" | "trade" | "use-item" | "shed" | "spin"
798
1002
  *
799
1003
  * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Methods_of_evolution) for greater detail.
800
1004
  */
801
- interface EvolutionTrigger {
1005
+ export interface EvolutionTrigger {
802
1006
  /** The identifier for this resource. */
803
1007
  id: number;
804
1008
  /** The name for this resource. */
@@ -808,12 +1012,51 @@ interface EvolutionTrigger {
808
1012
  /** A list of Pokémon species that result from this evolution trigger. */
809
1013
  pokemon_species: NamedAPIResource<PokemonSpecies>[];
810
1014
  }
1015
+ /**
1016
+ * ## Evolution Variable Name
1017
+ * Every variable the PokéAPI publishes, in id order, the order
1018
+ * {@link EVOLUTION_VARIABLES} mirrors.
1019
+ */
1020
+ export type EvolutionVariableName = "encryption-constant" | "personality-value" | "spin-direction" | "spin-duration";
1021
+ /**
1022
+ * ## Evolution Variable Source
1023
+ * Where a variable's value comes from: `pokemon` for data stored on the Pokémon,
1024
+ * such as its encryption constant, `player-input` for something the player does
1025
+ * while evolving it, such as spinning Milcery.
1026
+ */
1027
+ export type EvolutionVariableSource = "pokemon" | "player-input";
1028
+ /**
1029
+ * ## Evolution Variable
1030
+ * A value an {@link EvolutionConditionExpression} reads: either one the games
1031
+ * generate for each Pokémon and hide from the player, or one the player supplies
1032
+ * while evolving it.
1033
+ *
1034
+ * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Personality_value) for greater detail.
1035
+ */
1036
+ export interface EvolutionVariable {
1037
+ /** The identifier for this resource. */
1038
+ id: number;
1039
+ /** The name for this resource. */
1040
+ name: EvolutionVariableName;
1041
+ /** The symbol an expression refers to this variable by, e.g. `EC`. */
1042
+ symbol: string;
1043
+ /** The type the games store this value as, e.g. `uint32`. */
1044
+ data_type: string;
1045
+ /** Whether the value is stored on the Pokémon or supplied by the player. */
1046
+ source: EvolutionVariableSource;
1047
+ /** The version group this variable was introduced in. */
1048
+ version_group: NamedAPIResource<VersionGroup>;
1049
+ /** The name of this resource listed in different languages. */
1050
+ names: Name[];
1051
+ /** The description of this resource listed in different languages. */
1052
+ descriptions: Description[];
1053
+ }
811
1054
  //#endregion
812
1055
  //#region src/models/game/pokemon-entry.d.ts
813
1056
  /**
814
1057
  * A Pokémon catalogued in a Pokédex.
815
1058
  */
816
- interface PokemonEntry {
1059
+ export interface PokemonEntry {
817
1060
  /** The index of this Pokémon species entry within the Pokédex. */
818
1061
  entry_number: number;
819
1062
  /** The Pokémon species being encountered. */
@@ -829,7 +1072,7 @@ interface PokemonEntry {
829
1072
  *
830
1073
  * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9dex) for greater detail.
831
1074
  */
832
- interface Pokedex {
1075
+ export interface Pokedex {
833
1076
  /** The identifier for this resource. */
834
1077
  id: number;
835
1078
  /** The name for this resource. */
@@ -864,7 +1107,7 @@ interface Pokedex {
864
1107
  *
865
1108
  * See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Pal_Park) for greater detail.
866
1109
  */
867
- interface PalParkArea {
1110
+ export interface PalParkArea {
868
1111
  /** The identifier for this resource. */
869
1112
  id: number;
870
1113
  /** The name for this resource. */
@@ -877,7 +1120,7 @@ interface PalParkArea {
877
1120
  /**
878
1121
  * Details of a Pokémon encountered in this Pal Park area.
879
1122
  */
880
- interface PalParkEncounterSpecies {
1123
+ export interface PalParkEncounterSpecies {
881
1124
  /** The base score given to the player when this Pokémon is caught during a pal park run. */
882
1125
  base_score: number;
883
1126
  /** The base rate for encountering this Pokémon in this pal park area. */
@@ -894,7 +1137,7 @@ interface PalParkEncounterSpecies {
894
1137
  *
895
1138
  * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Egg_Group) for greater detail.
896
1139
  */
897
- interface EggGroup {
1140
+ export interface EggGroup {
898
1141
  /** The identifier for this resource. */
899
1142
  id: number;
900
1143
  /** The name for this resource. */
@@ -909,7 +1152,7 @@ interface EggGroup {
909
1152
  /**
910
1153
  * Levels and the amount of experience needed to attain them based on the given growth rate.
911
1154
  */
912
- interface GrowthRateExperienceLevel {
1155
+ export interface GrowthRateExperienceLevel {
913
1156
  /** The level gained. */
914
1157
  level: number;
915
1158
  /** The amount of experience required to reach the referenced level. */
@@ -921,7 +1164,7 @@ interface GrowthRateExperienceLevel {
921
1164
  *
922
1165
  * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Experience) for greater detail.
923
1166
  */
924
- interface GrowthRate {
1167
+ export interface GrowthRate {
925
1168
  /** The identifier for this resource. */
926
1169
  id: number;
927
1170
  /** The name for this resource. */
@@ -936,169 +1179,6 @@ interface GrowthRate {
936
1179
  pokemon_species: NamedAPIResource<PokemonSpecies>[];
937
1180
  }
938
1181
  //#endregion
939
- //#region src/models/pokemon/characteristic.d.ts
940
- /**
941
- * ## Characteristic
942
- * Characteristics indicate which stat contains a Pokémon's highest IV.
943
- * A Pokémon's Characteristic is determined by the remainder of its highest IV divided by 5 (gene_modulo).
944
- *
945
- * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Characteristic) for greater detail.
946
- */
947
- interface Characteristic {
948
- /** The identifier for this resource. */
949
- id: number;
950
- /** The remainder of the highest stat/IV divided by 5. */
951
- gene_modulo: number;
952
- /** The possible values of the highest stat that would result in a Pokémon receiving this characteristic when divided by 5. */
953
- possible_values: number[];
954
- /** The highest stat for the referenced characteristic. */
955
- highest_stat: NamedAPIResource<Stat>;
956
- /** Descriptions for the referenced characteristic. */
957
- descriptions: Description[];
958
- }
959
- //#endregion
960
- //#region src/models/pokemon/pokeathlon-stat.d.ts
961
- /**
962
- * ## Pokéathlon Stat
963
- * Pokéathlon Stats are different attributes of a Pokémon's performance in Pokéathlons.
964
- * In Pokéathlons, competitions happen on different courses; one for each of the different Pokéathlon stats.
965
- *
966
- * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9athlon) for greater detail.
967
- */
968
- interface PokeathlonStat {
969
- /** The identifier for this resource. */
970
- id: number;
971
- /** The name for this resource. */
972
- name: "speed" | "power" | "skill" | "stamina" | "jump";
973
- /** The name of this resource listed in different languages. */
974
- names: Name[];
975
- /** A detail of natures which affect this Pokéathlon stat positively or negatively. */
976
- affecting_natures: NaturePokeathlonStatAffectSets;
977
- }
978
- /**
979
- * A nature and how it changes the referenced Pokéathlon stat.
980
- */
981
- interface NaturePokeathlonStatAffect {
982
- /** The maximum amount of change to the referenced Pokéathlon stat. */
983
- max_change: -1 | -2 | 1 | 2;
984
- /** The nature causing the change. */
985
- nature: NamedAPIResource<Nature>;
986
- }
987
- /**
988
- * A detail of natures which affect this Pokéathlon stat positively or negatively.
989
- */
990
- interface NaturePokeathlonStatAffectSets {
991
- /** A list of natures and how they change the referenced Pokéathlon stat. */
992
- increase: NaturePokeathlonStatAffect[];
993
- /** A list of natures and how they change the referenced Pokéathlon stat. */
994
- decrease: NaturePokeathlonStatAffect[];
995
- }
996
- //#endregion
997
- //#region src/models/pokemon/nature.d.ts
998
- /**
999
- * ## Nature
1000
- * Natures influence how a Pokémon's stats grow.
1001
- *
1002
- * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Nature) for greater detail.
1003
- */
1004
- interface Nature {
1005
- /** The identifier for this resource. */
1006
- id: number;
1007
- /** The name for this resource. */
1008
- name: string;
1009
- /** The stat decreased by 10% in Pokémon with this nature. */
1010
- decreased_stat: NamedAPIResource<Stat> | null;
1011
- /** The stat increased by 10% in Pokémon with this nature. */
1012
- increased_stat: NamedAPIResource<Stat> | null;
1013
- /** The flavor hated by Pokémon with this nature. */
1014
- hates_flavor: NamedAPIResource<BerryFlavor> | null;
1015
- /** The flavor liked by Pokémon with this nature. */
1016
- likes_flavor: NamedAPIResource<BerryFlavor> | null;
1017
- /** A list of Pokéathlon stats this nature affects and by how much. */
1018
- pokeathlon_stat_changes: NatureStatChange[];
1019
- /** A list of battle styles and how likely a Pokémon with this nature is to use them in the Battle Palace or Battle Tent. */
1020
- move_battle_style_preferences: MoveBattleStylePreference[];
1021
- /** The name of this resource listed in different languages. */
1022
- names: Name[];
1023
- }
1024
- /**
1025
- * A Pokéathlon stat a nature affects, and by how much.
1026
- */
1027
- interface NatureStatChange {
1028
- /** The amount of change. */
1029
- max_change: -1 | 1 | -2 | 2;
1030
- /** The stat being affected. */
1031
- pokeathlon_stat: NamedAPIResource<PokeathlonStat>;
1032
- }
1033
- /**
1034
- * Battle Style and how likely a Pokémon with the given nature is to use them
1035
- * in the Battle Palace or Battle Tent.
1036
- */
1037
- interface MoveBattleStylePreference {
1038
- /** Chance of using the move, in percent, if HP is under one half. */
1039
- low_hp_preference: number;
1040
- /** Chance of using the move, in percent, if HP is over one half. */
1041
- high_hp_preference: number;
1042
- /** The move battle style. */
1043
- move_battle_style: NamedAPIResource<MoveBattleStyle>;
1044
- }
1045
- //#endregion
1046
- //#region src/models/pokemon/stat.d.ts
1047
- /**
1048
- * ## Stat
1049
- * Stats determine certain aspects of battles. Each Pokémon has a value for each stat
1050
- * which grows as they gain levels and can be altered momentarily by effects in battles.
1051
- */
1052
- interface Stat {
1053
- /** The identifier for this resource. */
1054
- id: number;
1055
- /** The name for this resource. */
1056
- name: "hp" | "attack" | "defense" | "special-attack" | "special-defense" | "speed" | "accuracy" | "evasion";
1057
- /** ID the games use for this stat. */
1058
- game_index: number;
1059
- /** Whether this stat only exists within a battle. */
1060
- is_battle_only: boolean;
1061
- /** A detail of moves which affect this stat positively or negatively. */
1062
- affecting_moves: MoveStatAffectSets;
1063
- /** A detail of natures which affect this stat positively or negatively. */
1064
- affecting_natures: NatureStatAffectSets;
1065
- /** A list of items which affect this stat. */
1066
- affecting_items: NamedAPIResource<Item>[];
1067
- /** A list of characteristics that are set on a Pokémon when its highest base stat is this stat. */
1068
- characteristics: APIResource<Characteristic>[];
1069
- /** The class of damage this stat is directly related to. */
1070
- move_damage_class: NamedAPIResource<MoveDamageClass> | null;
1071
- /** The name of this resource listed in different languages. */
1072
- names: Name[];
1073
- }
1074
- /**
1075
- * A detail of natures which affect the given stat positively or negatively.
1076
- */
1077
- interface NatureStatAffectSets {
1078
- /** A list of natures and how they change the referenced stat. */
1079
- increase: NamedAPIResource<Nature>[];
1080
- /** A list of natures and how they change the referenced stat. */
1081
- decrease: NamedAPIResource<Nature>[];
1082
- }
1083
- /**
1084
- * A move and how it changes the referenced stat.
1085
- */
1086
- interface MoveStatAffect {
1087
- /** The maximum amount of change to the referenced stat. */
1088
- change: -1 | -2 | 1 | 2;
1089
- /** The move causing the change. */
1090
- move: NamedAPIResource<Move>;
1091
- }
1092
- /**
1093
- * A detail of moves which affect a stat positively or negatively.
1094
- */
1095
- interface MoveStatAffectSets {
1096
- /** A list of moves and how they change the referenced stat. */
1097
- increase: MoveStatAffect[];
1098
- /** A list of moves and how they change the referenced stat. */
1099
- decrease: MoveStatAffect[];
1100
- }
1101
- //#endregion
1102
1182
  //#region src/models/pokemon/pokemon.d.ts
1103
1183
  /**
1104
1184
  * ## Pokémon
@@ -1109,7 +1189,7 @@ interface MoveStatAffectSets {
1109
1189
  *
1110
1190
  * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_(species)) for greater detail.
1111
1191
  */
1112
- interface Pokemon {
1192
+ export interface Pokemon {
1113
1193
  /** The identifier for this resource. */
1114
1194
  id: number;
1115
1195
  /** The name for this resource. */
@@ -1154,7 +1234,7 @@ interface Pokemon {
1154
1234
  past_stats: PokemonPastStat[];
1155
1235
  }
1156
1236
  /** The cries used to depict a Pokémon in the games. */
1157
- type PokemonCries = {
1237
+ export type PokemonCries = {
1158
1238
  /** The legacy depiction of this Pokémon's cry. */
1159
1239
  legacy: string;
1160
1240
  /** The latest depiction of this Pokémon's cry. */
@@ -1163,7 +1243,7 @@ type PokemonCries = {
1163
1243
  /**
1164
1244
  * Abilities the given Pokémon could potentially have.
1165
1245
  */
1166
- interface PokemonAbility {
1246
+ export interface PokemonAbility {
1167
1247
  /** Whether or not this is a hidden ability. */
1168
1248
  is_hidden: boolean;
1169
1249
  /** The slot this ability occupies in this Pokémon species. */
@@ -1174,7 +1254,7 @@ interface PokemonAbility {
1174
1254
  /**
1175
1255
  * Details showing types the given Pokémon has.
1176
1256
  */
1177
- interface PokemonType {
1257
+ export interface PokemonType {
1178
1258
  /** The order the Pokémon's types are listed in. */
1179
1259
  slot: number;
1180
1260
  /** The type the referenced Pokémon has. */
@@ -1183,14 +1263,14 @@ interface PokemonType {
1183
1263
  /**
1184
1264
  * Data describing a Pokémon's types in a previous generation.
1185
1265
  */
1186
- interface PokemonPastType {
1266
+ export interface PokemonPastType {
1187
1267
  /** The generation of this Pokémon Type. */
1188
1268
  generation: NamedAPIResource<Generation>;
1189
1269
  /** The types this Pokémon had in a previous generation. */
1190
1270
  types: PokemonType[];
1191
1271
  }
1192
1272
  /** An ability slot as it stood in a previous generation. */
1193
- interface PokemonPastAbilitySlot {
1273
+ export interface PokemonPastAbilitySlot {
1194
1274
  /** Whether or not this was a hidden ability. */
1195
1275
  is_hidden: boolean;
1196
1276
  /** The slot this ability occupied in this Pokémon species. */
@@ -1199,14 +1279,14 @@ interface PokemonPastAbilitySlot {
1199
1279
  ability: NamedAPIResource<Ability> | null;
1200
1280
  }
1201
1281
  /** Data describing a Pokémon's abilities in a previous generation. */
1202
- interface PokemonPastAbility {
1282
+ export interface PokemonPastAbility {
1203
1283
  /** The last generation in which the referenced Pokémon had the listed abilities. */
1204
1284
  generation: NamedAPIResource<Generation>;
1205
1285
  /** The abilities the referenced Pokémon had up to and including the listed generation. */
1206
1286
  abilities: PokemonPastAbilitySlot[];
1207
1287
  }
1208
1288
  /** Data describing a Pokémon's stats in a previous generation. */
1209
- interface PokemonPastStat {
1289
+ export interface PokemonPastStat {
1210
1290
  /** The last generation in which the referenced Pokémon had the listed stats. */
1211
1291
  generation: NamedAPIResource<Generation>;
1212
1292
  /** The stats the Pokémon had up to and including the listed generation. */
@@ -1215,7 +1295,7 @@ interface PokemonPastStat {
1215
1295
  /**
1216
1296
  * Items the given Pokémon may be holding when encountered.
1217
1297
  */
1218
- interface PokemonHeldItem {
1298
+ export interface PokemonHeldItem {
1219
1299
  /** The item the referenced Pokémon holds. */
1220
1300
  item: NamedAPIResource<Item>;
1221
1301
  /** The details of the different versions in which the item is held. */
@@ -1224,7 +1304,7 @@ interface PokemonHeldItem {
1224
1304
  /**
1225
1305
  * The details of the different versions in which the item is held.
1226
1306
  */
1227
- interface PokemonHeldItemVersion {
1307
+ export interface PokemonHeldItemVersion {
1228
1308
  /** The version in which the item is held. */
1229
1309
  version: NamedAPIResource<Version>;
1230
1310
  /** How often the item is held. */
@@ -1233,7 +1313,7 @@ interface PokemonHeldItemVersion {
1233
1313
  /**
1234
1314
  * A Move along with learn methods and level details pertaining to specific version groups.
1235
1315
  */
1236
- interface PokemonMove {
1316
+ export interface PokemonMove {
1237
1317
  /** The move the Pokémon can learn. */
1238
1318
  move: NamedAPIResource<Move>;
1239
1319
  /** The details of the version in which the Pokémon can learn the move. */
@@ -1242,7 +1322,7 @@ interface PokemonMove {
1242
1322
  /**
1243
1323
  * The details of the version in which the Pokémon can learn the move.
1244
1324
  */
1245
- interface PokemonMoveVersion {
1325
+ export interface PokemonMoveVersion {
1246
1326
  /** The method by which the move is learned. */
1247
1327
  move_learn_method: NamedAPIResource<MoveLearnMethod>;
1248
1328
  /** The version group in which the move is learned. */
@@ -1258,7 +1338,7 @@ interface PokemonMoveVersion {
1258
1338
  /**
1259
1339
  * Base stat values for the given Pokémon.
1260
1340
  */
1261
- interface PokemonStat {
1341
+ export interface PokemonStat {
1262
1342
  /** The stat the Pokémon has. */
1263
1343
  stat: NamedAPIResource<Stat>;
1264
1344
  /** The effort points (EV) the Pokémon has in the stat. */
@@ -1267,7 +1347,7 @@ interface PokemonStat {
1267
1347
  base_stat: number;
1268
1348
  }
1269
1349
  /** Version Sprites. */
1270
- interface VersionSprites {
1350
+ export interface VersionSprites {
1271
1351
  /** Generation-I Sprites of this Pokémon. */
1272
1352
  "generation-i": GenerationISprites;
1273
1353
  /** Generation-II Sprites of this Pokémon. */
@@ -1291,7 +1371,7 @@ interface VersionSprites {
1291
1371
  * A set of sprites used to depict this Pokémon in the game.
1292
1372
  * A visual representation of the various sprites can be found at [PokeAPI/sprites](https://github.com/PokeAPI/sprites#sprites).
1293
1373
  */
1294
- interface PokemonSprites {
1374
+ export interface PokemonSprites {
1295
1375
  /** The default depiction of this Pokémon from the front in battle. */
1296
1376
  front_default: string | null;
1297
1377
  /** The shiny depiction of this Pokémon from the front in battle. */
@@ -1314,7 +1394,7 @@ interface PokemonSprites {
1314
1394
  versions: VersionSprites;
1315
1395
  }
1316
1396
  /** Other Pokémon Sprites (Dream World and Official Artwork sprites). */
1317
- interface OtherPokemonSprites {
1397
+ export interface OtherPokemonSprites {
1318
1398
  /** Dream World Sprites of this Pokémon. */
1319
1399
  dream_world: DreamWorld;
1320
1400
  /** Official Artwork Sprites of this Pokémon. */
@@ -1325,21 +1405,47 @@ interface OtherPokemonSprites {
1325
1405
  showdown: Showdown;
1326
1406
  }
1327
1407
  /** Dream World sprites. */
1328
- interface DreamWorld {
1408
+ export interface DreamWorld {
1329
1409
  /** The default depiction of this Pokémon from the front in battle. */
1330
1410
  front_default: string | null;
1331
1411
  /** The female depiction of this Pokémon from the front in battle. */
1332
1412
  front_female: string | null;
1333
1413
  }
1334
1414
  /** Official Artwork sprites. */
1335
- interface OfficialArtwork {
1415
+ export interface OfficialArtwork {
1336
1416
  /** The default depiction of this Pokémon from the front in battle. */
1337
1417
  front_default: string | null;
1338
1418
  /** The shiny depiction of this Pokémon from the front in battle. */
1339
1419
  front_shiny: string | null;
1420
+ /** The artwork published for earlier games. */
1421
+ versions: OfficialArtworkVersions;
1422
+ }
1423
+ /** Official Artwork of earlier games. */
1424
+ export interface OfficialArtworkVersions {
1425
+ /** Generation-I artwork of this Pokémon. */
1426
+ "generation-i": OfficialArtworkGenerationI;
1427
+ /** Generation-II artwork of this Pokémon. */
1428
+ "generation-ii": OfficialArtworkGenerationII;
1429
+ }
1430
+ /** Generation-I Official Artwork. */
1431
+ export interface OfficialArtworkGenerationI {
1432
+ /** Red and Blue artwork of this Pokémon. */
1433
+ "red-and-blue": OfficialArtworkVersion;
1434
+ /** Red and Green artwork of this Pokémon. */
1435
+ "red-and-green": OfficialArtworkVersion;
1436
+ }
1437
+ /** Generation-II Official Artwork. */
1438
+ export interface OfficialArtworkGenerationII {
1439
+ /** Gold and Silver artwork of this Pokémon. */
1440
+ "gold-and-silver": OfficialArtworkVersion;
1441
+ }
1442
+ /** The Official Artwork of one game. */
1443
+ export interface OfficialArtworkVersion {
1444
+ /** The default depiction of this Pokémon. */
1445
+ front_default: string | null;
1340
1446
  }
1341
1447
  /** Home sprites. */
1342
- interface Home {
1448
+ export interface Home {
1343
1449
  /** The default depiction of this Pokémon from the front in battle. */
1344
1450
  front_default: string | null;
1345
1451
  /** The female depiction of this Pokémon from the front in battle. */
@@ -1350,7 +1456,7 @@ interface Home {
1350
1456
  front_shiny_female: string | null;
1351
1457
  }
1352
1458
  /** Showdown Sprites. */
1353
- interface Showdown {
1459
+ export interface Showdown {
1354
1460
  /** The default depiction of this Pokémon from the front in battle. */
1355
1461
  front_default: string | null;
1356
1462
  /** The female depiction of this Pokémon from the front in battle. */
@@ -1369,44 +1475,69 @@ interface Showdown {
1369
1475
  back_shiny_female: string | null;
1370
1476
  }
1371
1477
  /** Generation-I Sprites. */
1372
- interface GenerationISprites {
1478
+ export interface GenerationISprites {
1373
1479
  /** Red-blue sprites of this Pokémon. */
1374
1480
  "red-blue": RedBlue;
1481
+ /** Red-Green sprites of this Pokémon, from the Japanese release. */
1482
+ "red-green-japan": RedGreenJapan;
1375
1483
  /** Yellow sprites of this Pokémon. */
1376
1484
  yellow: Yellow;
1377
1485
  }
1378
1486
  /** Red/Blue Sprites. */
1379
- interface RedBlue {
1487
+ export interface RedBlue {
1380
1488
  /** The default depiction of this Pokémon from the back in battle. */
1381
1489
  back_default: string | null;
1382
1490
  /** The gray depiction of this Pokémon from the back in battle. */
1383
1491
  back_gray: string | null;
1384
1492
  /** The transparent depiction of this Pokémon from the back in battle. */
1385
1493
  back_transparent: string | null;
1494
+ /** The transparent gray depiction of this Pokémon from the back in battle. */
1495
+ back_transparent_gray: string | null;
1386
1496
  /** The default depiction of this Pokémon from the front in battle. */
1387
1497
  front_default: string | null;
1388
1498
  /** The gray depiction of this Pokémon from the front in battle. */
1389
1499
  front_gray: string | null;
1390
1500
  /** The transparent depiction of this Pokémon from the front in battle. */
1391
1501
  front_transparent: string | null;
1502
+ /** The transparent gray depiction of this Pokémon from the front in battle. */
1503
+ front_transparent_gray: string | null;
1504
+ }
1505
+ /** Red/Green sprites, from the Japanese release. */
1506
+ export interface RedGreenJapan {
1507
+ /** The default depiction of this Pokémon from the back in battle. */
1508
+ back_default: string | null;
1509
+ /** The gray depiction of this Pokémon from the back in battle. */
1510
+ back_gray: string | null;
1511
+ /** The default depiction of this Pokémon from the front in battle. */
1512
+ front_default: string | null;
1513
+ /** The gray depiction of this Pokémon from the front in battle. */
1514
+ front_gray: string | null;
1392
1515
  }
1393
1516
  /** Yellow sprites. */
1394
- interface Yellow {
1517
+ export interface Yellow {
1395
1518
  /** The default depiction of this Pokémon from the back in battle. */
1396
1519
  back_default: string | null;
1520
+ /** The Game Boy Color depiction of this Pokémon from the back in battle. */
1521
+ back_gbc: string | null;
1397
1522
  /** The gray depiction of this Pokémon from the back in battle. */
1398
1523
  back_gray: string | null;
1399
1524
  /** The transparent depiction of this Pokémon from the back in battle. */
1400
1525
  back_transparent: string | null;
1526
+ /** The transparent gray depiction of this Pokémon from the back in battle. */
1527
+ back_transparent_gray: string | null;
1401
1528
  /** The default depiction of this Pokémon from the front in battle. */
1402
1529
  front_default: string | null;
1530
+ /** The Game Boy Color depiction of this Pokémon from the front in battle. */
1531
+ front_gbc: string | null;
1403
1532
  /** The gray depiction of this Pokémon from the front in battle. */
1404
1533
  front_gray: string | null;
1405
1534
  /** The transparent depiction of this Pokémon from the front in battle. */
1406
1535
  front_transparent: string | null;
1536
+ /** The transparent gray depiction of this Pokémon from the front in battle. */
1537
+ front_transparent_gray: string | null;
1407
1538
  }
1408
1539
  /** Generation-II Sprites. */
1409
- interface GenerationIISprites {
1540
+ export interface GenerationIISprites {
1410
1541
  /** Crystal sprites of this Pokémon. */
1411
1542
  crystal: Crystal;
1412
1543
  /** Gold sprites of this Pokémon. */
@@ -1415,7 +1546,7 @@ interface GenerationIISprites {
1415
1546
  silver: Silver;
1416
1547
  }
1417
1548
  /** Crystal sprites. */
1418
- interface Crystal {
1549
+ export interface Crystal {
1419
1550
  /** The animated sprites of this Pokémon. */
1420
1551
  animated: CrystalAnimated;
1421
1552
  /** The default depiction of this Pokémon from the back in battle. */
@@ -1436,56 +1567,92 @@ interface Crystal {
1436
1567
  front_transparent: string | null;
1437
1568
  }
1438
1569
  /** Animated Crystal sprites. */
1439
- interface CrystalAnimated {
1570
+ export interface CrystalAnimated {
1440
1571
  /** The default depiction of this Pokémon from the front in battle. */
1441
1572
  front_default: string | null;
1442
1573
  /** The shiny depiction of this Pokémon from the front in battle. */
1443
1574
  front_shiny: string | null;
1444
1575
  }
1445
1576
  /** Gold sprites of this Pokémon. */
1446
- interface Gold {
1577
+ export interface Gold {
1447
1578
  /** The default depiction of this Pokémon from the back in battle. */
1448
1579
  back_default: string | null;
1449
1580
  /** The shiny depiction of this Pokémon from the back in battle. */
1450
1581
  back_shiny: string | null;
1582
+ /** The transparent shiny depiction of this Pokémon from the back in battle. */
1583
+ back_shiny_transparent: string | null;
1584
+ /** The transparent depiction of this Pokémon from the back in battle. */
1585
+ back_transparent: string | null;
1451
1586
  /** The default depiction of this Pokémon from the front in battle. */
1452
1587
  front_default: string | null;
1453
1588
  /** The shiny depiction of this Pokémon from the front in battle. */
1454
1589
  front_shiny: string | null;
1590
+ /** The transparent shiny depiction of this Pokémon from the front in battle. */
1591
+ front_shiny_transparent: string | null;
1455
1592
  /** The transparent depiction of this Pokémon from the front in battle. */
1456
1593
  front_transparent: string | null;
1457
1594
  }
1458
1595
  /** Silver sprites. */
1459
- interface Silver {
1596
+ export interface Silver {
1460
1597
  /** The default depiction of this Pokémon from the back in battle. */
1461
1598
  back_default: string | null;
1462
1599
  /** The shiny depiction of this Pokémon from the back in battle. */
1463
1600
  back_shiny: string | null;
1601
+ /** The transparent shiny depiction of this Pokémon from the back in battle. */
1602
+ back_shiny_transparent: string | null;
1603
+ /** The transparent depiction of this Pokémon from the back in battle. */
1604
+ back_transparent: string | null;
1464
1605
  /** The default depiction of this Pokémon from the front in battle. */
1465
1606
  front_default: string | null;
1466
1607
  /** The shiny depiction of this Pokémon from the front in battle. */
1467
1608
  front_shiny: string | null;
1609
+ /** The transparent shiny depiction of this Pokémon from the front in battle. */
1610
+ front_shiny_transparent: string | null;
1468
1611
  /** The transparent depiction of this Pokémon from the front in battle. */
1469
1612
  front_transparent: string | null;
1470
1613
  }
1471
1614
  /** Generation-III Sprites. */
1472
- interface GenerationIIISprites {
1615
+ export interface GenerationIIISprites {
1473
1616
  /** Emerald sprites of this Pokémon. */
1474
1617
  emerald: Emerald;
1475
1618
  /** Firered-Leafgreen sprites of this Pokémon. */
1476
1619
  "firered-leafgreen": FireredLeafgreen;
1620
+ /** Menu icons of this Pokémon. */
1621
+ icons: GenerationIIIIcons;
1477
1622
  /** Ruby-Sapphire sprites of this Pokémon. */
1478
1623
  "ruby-sapphire": RubySapphire;
1479
1624
  }
1480
1625
  /** Emerald sprites. */
1481
- interface Emerald {
1626
+ export interface Emerald {
1627
+ /** The animated sprites of this Pokémon. */
1628
+ animated: EmeraldAnimated;
1629
+ /** The default depiction of this Pokémon from the back in battle. */
1630
+ back_default: string | null;
1631
+ /** The shiny depiction of this Pokémon from the back in battle. */
1632
+ back_shiny: string | null;
1482
1633
  /** The default depiction of this Pokémon from the front in battle. */
1483
1634
  front_default: string | null;
1484
1635
  /** The shiny depiction of this Pokémon from the front in battle. */
1485
1636
  front_shiny: string | null;
1486
1637
  }
1638
+ /** Animated Emerald sprites. */
1639
+ export interface EmeraldAnimated {
1640
+ /** The default depiction of this Pokémon from the back in battle. */
1641
+ back_default: string | null;
1642
+ /** The shiny depiction of this Pokémon from the back in battle. */
1643
+ back_shiny: string | null;
1644
+ /** The default depiction of this Pokémon from the front in battle. */
1645
+ front_default: string | null;
1646
+ /** The shiny depiction of this Pokémon from the front in battle. */
1647
+ front_shiny: string | null;
1648
+ }
1649
+ /** Generation-III menu icons. */
1650
+ export interface GenerationIIIIcons {
1651
+ /** The default depiction of this Pokémon from the front in battle. */
1652
+ front_default: string | null;
1653
+ }
1487
1654
  /** FireRed LeafGreen sprites. */
1488
- interface FireredLeafgreen {
1655
+ export interface FireredLeafgreen {
1489
1656
  /** The default depiction of this Pokémon from the back in battle. */
1490
1657
  back_default: string | null;
1491
1658
  /** The shiny depiction of this Pokémon from the back in battle. */
@@ -1496,7 +1663,7 @@ interface FireredLeafgreen {
1496
1663
  front_shiny: string | null;
1497
1664
  }
1498
1665
  /** Ruby/Sapphire sprites. */
1499
- interface RubySapphire {
1666
+ export interface RubySapphire {
1500
1667
  /** The default depiction of this Pokémon from the back in battle. */
1501
1668
  back_default: string | null;
1502
1669
  /** The shiny depiction of this Pokémon from the back in battle. */
@@ -1507,16 +1674,20 @@ interface RubySapphire {
1507
1674
  front_shiny: string | null;
1508
1675
  }
1509
1676
  /** Generation-IV Sprites. */
1510
- interface GenerationIVSprites {
1677
+ export interface GenerationIVSprites {
1511
1678
  /** Diamond-pearl Generation sprites of this Pokémon. */
1512
1679
  "diamond-pearl": DiamondPearl;
1513
1680
  /** Heartgold-Soulsilver sprites of this Pokémon. */
1514
1681
  "heartgold-soulsilver": HeartgoldSoulsilver;
1682
+ /** Menu icons of this Pokémon. */
1683
+ icons: GenerationIVIcons;
1515
1684
  /** Platinum sprites of this Pokémon. */
1516
1685
  platinum: Platinum;
1517
1686
  }
1518
1687
  /** Diamond-Pearl sprites of this Pokémon. */
1519
- interface DiamondPearl {
1688
+ export interface DiamondPearl {
1689
+ /** The animated sprites of this Pokémon. */
1690
+ animated: GenerationIVAnimated;
1520
1691
  /** The default depiction of this Pokémon from the back in battle. */
1521
1692
  back_default: string | null;
1522
1693
  /** The shiny depiction of this Pokémon from the back in battle. */
@@ -1535,7 +1706,9 @@ interface DiamondPearl {
1535
1706
  front_shiny_female: string | null;
1536
1707
  }
1537
1708
  /** HeartGold-SoulSilver sprites of this Pokémon. */
1538
- interface HeartgoldSoulsilver {
1709
+ export interface HeartgoldSoulsilver {
1710
+ /** The animated sprites of this Pokémon. */
1711
+ animated: GenerationIVAnimated;
1539
1712
  /** The default depiction of this Pokémon from the back in battle. */
1540
1713
  back_default: string | null;
1541
1714
  /** The shiny depiction of this Pokémon from the back in battle. */
@@ -1554,7 +1727,9 @@ interface HeartgoldSoulsilver {
1554
1727
  front_shiny_female: string | null;
1555
1728
  }
1556
1729
  /** Platinum sprites of this Pokémon. */
1557
- interface Platinum {
1730
+ export interface Platinum {
1731
+ /** The animated sprites of this Pokémon. */
1732
+ animated: GenerationIVAnimated;
1558
1733
  /** The default depiction of this Pokémon from the back in battle. */
1559
1734
  back_default: string | null;
1560
1735
  /** The shiny depiction of this Pokémon from the back in battle. */
@@ -1572,15 +1747,31 @@ interface Platinum {
1572
1747
  /** The shiny female depiction of this Pokémon from the back in battle. */
1573
1748
  front_shiny_female: string | null;
1574
1749
  }
1750
+ /** Animated Generation-IV sprites. */
1751
+ export interface GenerationIVAnimated {
1752
+ /** The default depiction of this Pokémon from the front in battle. */
1753
+ front_default: string | null;
1754
+ /** The female depiction of this Pokémon from the front in battle. */
1755
+ front_female: string | null;
1756
+ /** The shiny depiction of this Pokémon from the front in battle. */
1757
+ front_shiny: string | null;
1758
+ /** The shiny female depiction of this Pokémon from the front in battle. */
1759
+ front_shiny_female: string | null;
1760
+ }
1761
+ /** Generation-IV menu icons. */
1762
+ export interface GenerationIVIcons {
1763
+ /** The default depiction of this Pokémon from the front in battle. */
1764
+ front_default: string | null;
1765
+ }
1575
1766
  /** Generation-V Sprites. */
1576
- interface GenerationVSprites {
1767
+ export interface GenerationVSprites {
1577
1768
  /** Black-white sprites of this Pokémon. */
1578
1769
  "black-white": BlackWhite;
1579
1770
  /** Menu icons of this Pokémon. */
1580
1771
  icons: GenerationVIcons;
1581
1772
  }
1582
1773
  /** Black/White sprites. */
1583
- interface BlackWhite {
1774
+ export interface BlackWhite {
1584
1775
  /** The animated sprite of this Pokémon. */
1585
1776
  animated: Animated;
1586
1777
  /** The default depiction of this Pokémon from the back in battle. */
@@ -1601,7 +1792,7 @@ interface BlackWhite {
1601
1792
  front_shiny_female: string | null;
1602
1793
  }
1603
1794
  /** Animated sprites of this Pokémon. */
1604
- interface Animated {
1795
+ export interface Animated {
1605
1796
  /** The default depiction of this Pokémon from the back in battle. */
1606
1797
  back_default: string | null;
1607
1798
  /** The shiny depiction of this Pokémon from the back in battle. */
@@ -1620,99 +1811,167 @@ interface Animated {
1620
1811
  front_shiny_female: string | null;
1621
1812
  }
1622
1813
  /** Generation-V menu icons. */
1623
- interface GenerationVIcons {
1814
+ export interface GenerationVIcons {
1624
1815
  /** The animated menu icon of this Pokémon. */
1625
1816
  animated: GenerationVAnimatedIcons;
1626
1817
  /** The menu icon of this Pokémon. */
1627
1818
  front_default: string | null;
1628
1819
  }
1629
1820
  /** Animated Generation-V menu icons. */
1630
- interface GenerationVAnimatedIcons {
1821
+ export interface GenerationVAnimatedIcons {
1631
1822
  /** The animated menu icon of this Pokémon. */
1632
1823
  front_default: string | null;
1633
1824
  }
1634
1825
  /** Generation-VI Sprites. */
1635
- interface GenerationVISprites {
1826
+ export interface GenerationVISprites {
1827
+ /** Menu icons of this Pokémon. */
1828
+ icons: GenerationVIIcons;
1636
1829
  /** Omegaruby-Alphasapphire sprites of this Pokémon. */
1637
1830
  "omegaruby-alphasapphire": OmegarubyAlphasapphire;
1638
1831
  /** X-Y sprites of this Pokémon. */
1639
1832
  "x-y": XY;
1640
1833
  }
1834
+ /** Generation-VI menu icons. */
1835
+ export interface GenerationVIIcons {
1836
+ /** The default depiction of this Pokémon from the front in battle. */
1837
+ front_default: string | null;
1838
+ /** The female depiction of this Pokémon from the front in battle. */
1839
+ front_female: string | null;
1840
+ }
1641
1841
  /** Omega/Ruby Alpha/Sapphire sprites. */
1642
- interface OmegarubyAlphasapphire {
1842
+ export interface OmegarubyAlphasapphire {
1843
+ /** The default depiction of this Pokémon from the back in battle. */
1844
+ back_default: string | null;
1845
+ /** The female depiction of this Pokémon from the back in battle. */
1846
+ back_female: string | null;
1847
+ /** The shiny depiction of this Pokémon from the back in battle. */
1848
+ back_shiny: string | null;
1849
+ /** The shiny female depiction of this Pokémon from the back in battle. */
1850
+ back_shiny_female: string | null;
1643
1851
  /** The default depiction of this Pokémon from the front in battle. */
1644
1852
  front_default: string | null;
1645
1853
  /** The female depiction of this Pokémon from the front in battle. */
1646
1854
  front_female: string | null;
1647
1855
  /** The shiny depiction of this Pokémon from the front in battle. */
1648
1856
  front_shiny: string | null;
1649
- /** The shiny female depiction of this Pokémon from the back in battle. */
1857
+ /** The shiny female depiction of this Pokémon from the front in battle. */
1650
1858
  front_shiny_female: string | null;
1651
1859
  }
1652
1860
  /** XY sprites. */
1653
- interface XY {
1861
+ export interface XY {
1862
+ /** The default depiction of this Pokémon from the back in battle. */
1863
+ back_default: string | null;
1864
+ /** The female depiction of this Pokémon from the back in battle. */
1865
+ back_female: string | null;
1866
+ /** The shiny depiction of this Pokémon from the back in battle. */
1867
+ back_shiny: string | null;
1868
+ /** The shiny female depiction of this Pokémon from the back in battle. */
1869
+ back_shiny_female: string | null;
1654
1870
  /** The default depiction of this Pokémon from the front in battle. */
1655
1871
  front_default: string | null;
1656
1872
  /** The female depiction of this Pokémon from the front in battle. */
1657
1873
  front_female: string | null;
1658
1874
  /** The shiny depiction of this Pokémon from the front in battle. */
1659
1875
  front_shiny: string | null;
1660
- /** The shiny female depiction of this Pokémon from the back in battle. */
1876
+ /** The shiny female depiction of this Pokémon from the front in battle. */
1661
1877
  front_shiny_female: string | null;
1662
1878
  }
1663
1879
  /** Generation-VII Sprites. */
1664
- interface GenerationVIISprites {
1880
+ export interface GenerationVIISprites {
1665
1881
  /** Icon sprites of this Pokémon. */
1666
1882
  icons: GenerationViiIcons;
1883
+ /** Let's Go Pikachu and Let's Go Eevee sprites of this Pokémon. */
1884
+ "lets-go-pikachu-lets-go-eevee": LetsGoPikachuLetsGoEevee;
1667
1885
  /** Ultra-sun-ultra-moon sprites of this Pokémon. */
1668
1886
  "ultra-sun-ultra-moon": UltraSunUltraMoon;
1669
1887
  }
1670
1888
  /** Generation VII icons. */
1671
- interface GenerationViiIcons {
1889
+ export interface GenerationViiIcons {
1672
1890
  /** The default depiction of this Pokémon from the front in battle. */
1673
1891
  front_default: string | null;
1674
1892
  /** The female depiction of this Pokémon from the front in battle. */
1675
1893
  front_female: string | null;
1676
1894
  }
1677
- /** Ultra Sun Ultra Moon sprites. */
1678
- interface UltraSunUltraMoon {
1895
+ /** Let's Go Pikachu and Let's Go Eevee sprites. */
1896
+ export interface LetsGoPikachuLetsGoEevee {
1897
+ /** The default depiction of this Pokémon from the back in battle. */
1898
+ back_default: string | null;
1899
+ /** The female depiction of this Pokémon from the back in battle. */
1900
+ back_female: string | null;
1901
+ /** The shiny depiction of this Pokémon from the back in battle. */
1902
+ back_shiny: string | null;
1903
+ /** The shiny female depiction of this Pokémon from the back in battle. */
1904
+ back_shiny_female: string | null;
1679
1905
  /** The default depiction of this Pokémon from the front in battle. */
1680
1906
  front_default: string | null;
1681
1907
  /** The female depiction of this Pokémon from the front in battle. */
1682
1908
  front_female: string | null;
1683
1909
  /** The shiny depiction of this Pokémon from the front in battle. */
1684
1910
  front_shiny: string | null;
1911
+ /** The shiny female depiction of this Pokémon from the front in battle. */
1912
+ front_shiny_female: string | null;
1913
+ /** Menu icons of this Pokémon. */
1914
+ icons: LetsGoPikachuLetsGoEeveeIcons;
1915
+ }
1916
+ /** Let's Go Pikachu and Let's Go Eevee menu icons. */
1917
+ export interface LetsGoPikachuLetsGoEeveeIcons {
1918
+ /** The default depiction of this Pokémon from the front in battle. */
1919
+ front_default: string | null;
1920
+ }
1921
+ /** Ultra Sun Ultra Moon sprites. */
1922
+ export interface UltraSunUltraMoon {
1923
+ /** The default depiction of this Pokémon from the back in battle. */
1924
+ back_default: string | null;
1925
+ /** The female depiction of this Pokémon from the back in battle. */
1926
+ back_female: string | null;
1927
+ /** The shiny depiction of this Pokémon from the back in battle. */
1928
+ back_shiny: string | null;
1685
1929
  /** The shiny female depiction of this Pokémon from the back in battle. */
1930
+ back_shiny_female: string | null;
1931
+ /** The default depiction of this Pokémon from the front in battle. */
1932
+ front_default: string | null;
1933
+ /** The female depiction of this Pokémon from the front in battle. */
1934
+ front_female: string | null;
1935
+ /** The shiny depiction of this Pokémon from the front in battle. */
1936
+ front_shiny: string | null;
1937
+ /** The shiny female depiction of this Pokémon from the front in battle. */
1686
1938
  front_shiny_female: string | null;
1687
1939
  }
1688
1940
  /** Generation-VIII Sprites. */
1689
- interface GenerationVIIISprites {
1941
+ export interface GenerationVIIISprites {
1690
1942
  /** Icon sprites of this Pokémon. */
1691
1943
  icons: GenerationViiiIcons;
1692
1944
  /** Brilliant Diamond and Shining Pearl sprites of this Pokémon. */
1693
1945
  "brilliant-diamond-shining-pearl": BrilliantDiamondShiningPearl;
1694
1946
  }
1695
1947
  /** Generation VIII icons. */
1696
- interface GenerationViiiIcons {
1948
+ export interface GenerationViiiIcons {
1697
1949
  /** The default depiction of this Pokémon from the front in battle. */
1698
1950
  front_default: string | null;
1699
1951
  /** The female depiction of this Pokémon from the front in battle. */
1700
1952
  front_female: string | null;
1701
1953
  }
1702
1954
  /** Brilliant Diamond and Shining Pearl sprites. */
1703
- interface BrilliantDiamondShiningPearl {
1955
+ export interface BrilliantDiamondShiningPearl {
1704
1956
  /** The default depiction of this Pokémon from the front in battle. */
1705
1957
  front_default: string | null;
1706
- /** The female depiction of this Pokémon from the front in battle. */
1707
- front_female: string | null;
1708
1958
  }
1709
1959
  /** Generation-IX Sprites */
1710
- interface GenerationIXSprites {
1960
+ export interface GenerationIXSprites {
1961
+ /** Pokémon Champions sprites of this Pokémon. */
1962
+ champions: Champions;
1711
1963
  /** Scarlet and Violet sprites of this Pokémon. */
1712
1964
  "scarlet-violet": ScarletViolet;
1713
1965
  }
1966
+ /** Pokémon Champions sprites. */
1967
+ export interface Champions {
1968
+ /** The default depiction of this Pokémon from the front in battle. */
1969
+ front_default: string | null;
1970
+ /** The shiny depiction of this Pokémon from the front in battle. */
1971
+ front_shiny: string | null;
1972
+ }
1714
1973
  /** Scarlet and Violet sprites. */
1715
- interface ScarletViolet {
1974
+ export interface ScarletViolet {
1716
1975
  /** The default depiction of this Pokémon from the front in battle. */
1717
1976
  front_default: string | null;
1718
1977
  /** The female depiction of this Pokémon from the front in battle. */
@@ -1722,7 +1981,7 @@ interface ScarletViolet {
1722
1981
  * ## Location Area Encounter
1723
1982
  * Pokémon location areas where Pokémon can be found.
1724
1983
  */
1725
- interface LocationAreaEncounter {
1984
+ export interface LocationAreaEncounter {
1726
1985
  /** The location area the referenced Pokémon can be encountered in. */
1727
1986
  location_area: NamedAPIResource<LocationArea>;
1728
1987
  /** A list of versions and encounters with the referenced Pokémon that might happen. */
@@ -1734,7 +1993,7 @@ interface LocationAreaEncounter {
1734
1993
  * The color listed in the Pokédex is usually the color most apparent or covering each Pokémon's body.
1735
1994
  * No orange category exists; Pokémon that are primarily orange are listed as red or brown.
1736
1995
  */
1737
- interface PokemonColor {
1996
+ export interface PokemonColor {
1738
1997
  /** The identifier for this resource. */
1739
1998
  id: number;
1740
1999
  /** The name for this resource. */
@@ -1750,7 +2009,7 @@ interface PokemonColor {
1750
2009
  * These differences are purely cosmetic. For variations within a Pokémon species,
1751
2010
  * which do differ in more than just visuals, the 'Pokémon' entity is used to represent such a variety.
1752
2011
  */
1753
- interface PokemonForm {
2012
+ export interface PokemonForm {
1754
2013
  /** The identifier for this resource. */
1755
2014
  id: number;
1756
2015
  /** The name for this resource. */
@@ -1790,7 +2049,7 @@ interface PokemonForm {
1790
2049
  flavor_text_entries: FlavorText[];
1791
2050
  }
1792
2051
  /** A condition that causes a Pokémon to take on a particular form. */
1793
- interface PokemonFormCondition {
2052
+ export interface PokemonFormCondition {
1794
2053
  /** The name of the resource that triggers the form. */
1795
2054
  name: string;
1796
2055
  /** The URL of the resource that triggers the form. */
@@ -1803,7 +2062,7 @@ interface PokemonFormCondition {
1803
2062
  /**
1804
2063
  * Sprites used to depict this Pokémon form in the game.
1805
2064
  */
1806
- interface PokemonFormSprites {
2065
+ export interface PokemonFormSprites {
1807
2066
  /** The default depiction of this Pokémon form from the front in battle. */
1808
2067
  front_default: string | null;
1809
2068
  /** The female depiction of this Pokémon form from the front in battle. */
@@ -1820,32 +2079,17 @@ interface PokemonFormSprites {
1820
2079
  back_shiny: string | null;
1821
2080
  /** The shiny female depiction of this Pokémon form from the back in battle. */
1822
2081
  back_shiny_female: string | null;
2082
+ /** Dream World, Official Artwork, Home and Showdown sprites of this Pokémon form. */
2083
+ other: OtherPokemonSprites;
1823
2084
  /** Version Sprites of this Pokémon form. */
1824
- versions: PokemonFormVersionSprites;
1825
- }
1826
- /**
1827
- * Version sprites of a Pokémon form.
1828
- *
1829
- * Only the two generations that ship form-specific sprites appear, which is why
1830
- * this is not the Pokémon-level {@link VersionSprites}.
1831
- */
1832
- interface PokemonFormVersionSprites {
1833
- /** Generation-VIII Sprites of this Pokémon form. */
1834
- "generation-viii": PokemonFormGenerationVIIISprites;
1835
- /** Generation-IX Sprites of this Pokémon form. */
1836
- "generation-ix": GenerationIXSprites;
1837
- }
1838
- /** Generation-VIII sprites of a Pokémon form. */
1839
- interface PokemonFormGenerationVIIISprites {
1840
- /** Brilliant Diamond and Shining Pearl sprites of this Pokémon form. */
1841
- "brilliant-diamond-shining-pearl": BrilliantDiamondShiningPearl;
2085
+ versions: VersionSprites;
1842
2086
  }
1843
2087
  /**
1844
2088
  * ## Pokémon Habitat
1845
2089
  * Habitats are generally different terrain Pokémon can be found in
1846
2090
  * but can also be areas designated for rare or legendary Pokémon.
1847
2091
  */
1848
- interface PokemonHabitat {
2092
+ export interface PokemonHabitat {
1849
2093
  /** The identifier for this resource. */
1850
2094
  id: number;
1851
2095
  /** The name for this resource. */
@@ -1859,7 +2103,7 @@ interface PokemonHabitat {
1859
2103
  * ## Pokémon Shape
1860
2104
  * Shapes used for sorting Pokémon in a Pokédex.
1861
2105
  */
1862
- interface PokemonShape {
2106
+ export interface PokemonShape {
1863
2107
  /** The identifier for this resource. */
1864
2108
  id: number;
1865
2109
  /** The name for this resource. */
@@ -1874,7 +2118,7 @@ interface PokemonShape {
1874
2118
  /**
1875
2119
  * The "scientific" name of the Pokémon shape listed in different languages.
1876
2120
  */
1877
- interface AwesomeName {
2121
+ export interface AwesomeName {
1878
2122
  /** The localized "scientific" name for an API resource in a specific language. */
1879
2123
  awesome_name: string;
1880
2124
  /** The language this "scientific" name is in. */
@@ -1886,7 +2130,7 @@ interface AwesomeName {
1886
2130
  * Attributes of a Pokémon species are shared across all varieties of Pokémon within the species.
1887
2131
  * A good example is Wormadam; Wormadam is the species which can be found in three different varieties,
1888
2132
  * Wormadam-Trash, Wormadam-Sandy and Wormadam-Plant */
1889
- interface PokemonSpecies {
2133
+ export interface PokemonSpecies {
1890
2134
  /** The identifier for this resource. */
1891
2135
  id: number;
1892
2136
  /** The name for this resource. */
@@ -1945,14 +2189,14 @@ interface PokemonSpecies {
1945
2189
  /**
1946
2190
  * The genus of the given Pokémon species listed in multiple languages.
1947
2191
  */
1948
- interface Genus {
2192
+ export interface Genus {
1949
2193
  /** The localized genus for the referenced Pokémon species. */
1950
2194
  genus: string;
1951
2195
  /** The language this genus is in. */
1952
2196
  language: NamedAPIResource<Language>;
1953
2197
  }
1954
2198
  /** Pokédexes and the indexes reserved within them for the given Pokémon species. */
1955
- interface PokemonSpeciesDexEntry {
2199
+ export interface PokemonSpeciesDexEntry {
1956
2200
  /** The index number within the Pokédex. */
1957
2201
  entry_number: number;
1958
2202
  /** The Pokédex the referenced Pokémon species can be found in. */
@@ -1961,7 +2205,7 @@ interface PokemonSpeciesDexEntry {
1961
2205
  /**
1962
2206
  * Encounter that can be had with the given Pokémon species in pal park.
1963
2207
  */
1964
- interface PalParkEncounterArea {
2208
+ export interface PalParkEncounterArea {
1965
2209
  /** The base score given to the player when the referenced Pokémon is caught during a pal park run. */
1966
2210
  base_score: number;
1967
2211
  /** The base rate for encountering the referenced Pokémon in this pal park area. */
@@ -1972,7 +2216,7 @@ interface PalParkEncounterArea {
1972
2216
  /**
1973
2217
  * Pokémon that exist within this Pokémon species.
1974
2218
  */
1975
- interface PokemonSpeciesVariety {
2219
+ export interface PokemonSpeciesVariety {
1976
2220
  /** Whether this variety is the default variety. */
1977
2221
  is_default: boolean;
1978
2222
  /** The Pokémon variety. */
@@ -1987,7 +2231,7 @@ interface PokemonSpeciesVariety {
1987
2231
  *
1988
2232
  * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Ability) for greater detail.
1989
2233
  */
1990
- interface Ability {
2234
+ export interface Ability {
1991
2235
  /** The identifier for this resource. */
1992
2236
  id: number;
1993
2237
  /** The name for this resource. */
@@ -2010,7 +2254,7 @@ interface Ability {
2010
2254
  /**
2011
2255
  * Previous effects an ability has had across version groups.
2012
2256
  */
2013
- interface AbilityEffectChange {
2257
+ export interface AbilityEffectChange {
2014
2258
  /** The previous effect of this ability listed in different languages. */
2015
2259
  effect_entries: Effect[];
2016
2260
  /** The version group in which the previous effect of this ability originated. */
@@ -2019,7 +2263,7 @@ interface AbilityEffectChange {
2019
2263
  /**
2020
2264
  * The flavor text of an ability.
2021
2265
  */
2022
- interface AbilityFlavorText {
2266
+ export interface AbilityFlavorText {
2023
2267
  /** The localized name for an API resource in a specific language. */
2024
2268
  flavor_text: string;
2025
2269
  /** The language this text resource is in. */
@@ -2030,7 +2274,7 @@ interface AbilityFlavorText {
2030
2274
  /**
2031
2275
  * Pokémon that could potentially have the given ability.
2032
2276
  */
2033
- interface AbilityPokemon {
2277
+ export interface AbilityPokemon {
2034
2278
  /** Whether or not this is a hidden ability for the referenced Pokémon. */
2035
2279
  is_hidden: boolean;
2036
2280
  /**
@@ -2050,7 +2294,7 @@ interface AbilityPokemon {
2050
2294
  *
2051
2295
  * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Gender) for greater detail.
2052
2296
  */
2053
- interface Gender {
2297
+ export interface Gender {
2054
2298
  /** The identifier for this resource. */
2055
2299
  id: number;
2056
2300
  /** The name for this resource. */
@@ -2063,7 +2307,7 @@ interface Gender {
2063
2307
  /**
2064
2308
  * Pokémon species that can be this gender and how likely it is that they will be.
2065
2309
  */
2066
- interface PokemonSpeciesGender {
2310
+ export interface PokemonSpeciesGender {
2067
2311
  /** The chance of this Pokémon being female, in eighths; or -1 for genderless. */
2068
2312
  rate: number;
2069
2313
  /** A Pokémon species that can be the referenced gender. */
@@ -2075,7 +2319,7 @@ interface PokemonSpeciesGender {
2075
2319
  * ## Move Target
2076
2320
  * Targets moves can be directed at during battle. Targets can be Pokémon, environments or even other moves.
2077
2321
  */
2078
- interface MoveTarget {
2322
+ export interface MoveTarget {
2079
2323
  /** The identifier for this resource. */
2080
2324
  id: number;
2081
2325
  /** The name for this resource. */
@@ -2091,7 +2335,7 @@ interface MoveTarget {
2091
2335
  * ## Move Learn Method
2092
2336
  * Methods by which Pokémon can learn moves.
2093
2337
  */
2094
- interface MoveLearnMethod {
2338
+ export interface MoveLearnMethod {
2095
2339
  /** The identifier for this resource. */
2096
2340
  id: number;
2097
2341
  /** The name for this resource. */
@@ -2107,7 +2351,7 @@ interface MoveLearnMethod {
2107
2351
  * ## Move Damage Class
2108
2352
  * Damage classes moves can have, e.g. physical, special, or non-damaging.
2109
2353
  */
2110
- interface MoveDamageClass {
2354
+ export interface MoveDamageClass {
2111
2355
  /** The identifier for this resource. */
2112
2356
  id: number;
2113
2357
  /** The name for this resource. */
@@ -2123,7 +2367,7 @@ interface MoveDamageClass {
2123
2367
  * ## Move Category
2124
2368
  * Very general categories that loosely group move effects.
2125
2369
  */
2126
- interface MoveCategory {
2370
+ export interface MoveCategory {
2127
2371
  /** The identifier for this resource. */
2128
2372
  id: number;
2129
2373
  /** The name for this resource. */
@@ -2139,7 +2383,7 @@ interface MoveCategory {
2139
2383
  *
2140
2384
  * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Battle_Frontier_(Generation_III)) for greater detail.
2141
2385
  */
2142
- interface MoveBattleStyle {
2386
+ export interface MoveBattleStyle {
2143
2387
  /** The identifier for this resource. */
2144
2388
  id: number;
2145
2389
  /** The name for this resource. */
@@ -2153,7 +2397,7 @@ interface MoveBattleStyle {
2153
2397
  *
2154
2398
  * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Status_condition) for greater detail.
2155
2399
  */
2156
- interface MoveAilment {
2400
+ export interface MoveAilment {
2157
2401
  /** The identifier for this resource. */
2158
2402
  id: number;
2159
2403
  /** The name for this resource. */
@@ -2164,7 +2408,7 @@ interface MoveAilment {
2164
2408
  names: Name[];
2165
2409
  }
2166
2410
  /** The values a move had in a previous version group. */
2167
- interface PastMoveStatValues {
2411
+ export interface PastMoveStatValues {
2168
2412
  /** The percent value of how likely this move is to be successful. */
2169
2413
  accuracy: number | null;
2170
2414
  /** The percent value of how likely it is this move's effect will take effect. */
@@ -2181,14 +2425,14 @@ interface PastMoveStatValues {
2181
2425
  version_group: NamedAPIResource<VersionGroup>;
2182
2426
  }
2183
2427
  /** A stat this move changes, and by how much. */
2184
- interface MoveStatChange {
2428
+ export interface MoveStatChange {
2185
2429
  /** The amount of change. */
2186
2430
  change: number;
2187
2431
  /** The stat being affected. */
2188
2432
  stat: NamedAPIResource<Stat>;
2189
2433
  }
2190
2434
  /** Metadata about a move. */
2191
- interface MoveMetaData {
2435
+ export interface MoveMetaData {
2192
2436
  /** The status ailment this move inflicts on its target. */
2193
2437
  ailment: NamedAPIResource<MoveAilment>;
2194
2438
  /** The category of move this move falls under, e.g. damage or ailment. */
@@ -2217,7 +2461,7 @@ interface MoveMetaData {
2217
2461
  /**
2218
2462
  * The flavor text of this move.
2219
2463
  */
2220
- interface MoveFlavorText {
2464
+ export interface MoveFlavorText {
2221
2465
  /** The localized flavor text for an API resource in a specific language. */
2222
2466
  flavor_text: string;
2223
2467
  /** The language this name is in. */
@@ -2228,7 +2472,7 @@ interface MoveFlavorText {
2228
2472
  /**
2229
2473
  * A detail of moves this move can be used before or after, granting additional appeal points in super contests.
2230
2474
  */
2231
- interface ContestComboDetail {
2475
+ export interface ContestComboDetail {
2232
2476
  /** A list of moves to use before this move. */
2233
2477
  use_before: NamedAPIResource<Move>[] | null;
2234
2478
  /** A list of moves to use after this move. */
@@ -2237,7 +2481,7 @@ interface ContestComboDetail {
2237
2481
  /**
2238
2482
  * A detail of normal and super contest combos that require this move.
2239
2483
  */
2240
- interface ContestComboSets {
2484
+ export interface ContestComboSets {
2241
2485
  /** A detail of moves this move can be used before or after, granting additional appeal points in contests. */
2242
2486
  normal: ContestComboDetail;
2243
2487
  /** A detail of moves this move can be used before or after, granting additional appeal points in super contests. */
@@ -2251,7 +2495,7 @@ interface ContestComboSets {
2251
2495
  *
2252
2496
  * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Move) for greater detail.
2253
2497
  */
2254
- interface Move {
2498
+ export interface Move {
2255
2499
  /** The identifier for this resource. */
2256
2500
  id: number;
2257
2501
  /** The name for this resource. */
@@ -2313,7 +2557,7 @@ interface Move {
2313
2557
  *
2314
2558
  * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Generation) for greater detail.
2315
2559
  */
2316
- interface Generation {
2560
+ export interface Generation {
2317
2561
  /** The identifier for this resource. */
2318
2562
  id: number;
2319
2563
  /** The name for this resource. */
@@ -2343,7 +2587,7 @@ interface Generation {
2343
2587
  *
2344
2588
  * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Region) for greater detail.
2345
2589
  */
2346
- type Region = {
2590
+ export type Region = {
2347
2591
  /** The identifier for this resource. */
2348
2592
  id: number;
2349
2593
  /** A list of locations that can be found in this region. */
@@ -2367,7 +2611,7 @@ type Region = {
2367
2611
  *
2368
2612
  * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Core_series) for greater detail.
2369
2613
  */
2370
- interface Version {
2614
+ export interface Version {
2371
2615
  /** The identifier for this resource. */
2372
2616
  id: number;
2373
2617
  /** The name for this resource. */
@@ -2381,7 +2625,7 @@ interface Version {
2381
2625
  * ## Version Group
2382
2626
  * Version groups categorize highly similar versions of the games.
2383
2627
  */
2384
- interface VersionGroup {
2628
+ export interface VersionGroup {
2385
2629
  /** The identifier for this resource. */
2386
2630
  id: number;
2387
2631
  /** The name for this resource. */
@@ -2404,7 +2648,7 @@ interface VersionGroup {
2404
2648
  /**
2405
2649
  * The localized flavor text for an API resource in a specific language.
2406
2650
  */
2407
- interface FlavorText {
2651
+ export interface FlavorText {
2408
2652
  /** The localized flavor text for an API resource in a specific language. */
2409
2653
  flavor_text: string;
2410
2654
  /** The language this name is in. */
@@ -2417,7 +2661,7 @@ interface FlavorText {
2417
2661
  /**
2418
2662
  * The generation relevant to this game index.
2419
2663
  */
2420
- interface GenerationGameIndex {
2664
+ export interface GenerationGameIndex {
2421
2665
  /** The internal id of an API resource within game data. */
2422
2666
  game_index: number;
2423
2667
  /** The generation relevant to this game index. */
@@ -2432,7 +2676,7 @@ interface GenerationGameIndex {
2432
2676
  * [TM (Technical Machine)](https://bulbapedia.bulbagarden.net/wiki/TM) or
2433
2677
  * [HM (Hidden Machine)](https://bulbapedia.bulbagarden.net/wiki/HM) corresponds to a single Machine.
2434
2678
  */
2435
- type Machine = {
2679
+ export type Machine = {
2436
2680
  /** The identifier for this resource. */
2437
2681
  id: number;
2438
2682
  /** The TM or HM item that corresponds to this machine. */
@@ -2447,7 +2691,7 @@ type Machine = {
2447
2691
  /**
2448
2692
  * The machine that teaches a move from an item.
2449
2693
  */
2450
- interface MachineVersionDetail {
2694
+ export interface MachineVersionDetail {
2451
2695
  /** The machine that teaches a move from an item. */
2452
2696
  machine: APIResource<Machine>;
2453
2697
  /** The version group of this specific machine. */
@@ -2458,7 +2702,7 @@ interface MachineVersionDetail {
2458
2702
  /**
2459
2703
  * The localized effect for an API resource.
2460
2704
  */
2461
- interface VerboseEffect {
2705
+ export interface VerboseEffect {
2462
2706
  /** The localized effect text for an API resource in a specific language. */
2463
2707
  effect: string;
2464
2708
  /** The localized effect text in brief. */
@@ -2471,7 +2715,7 @@ interface VerboseEffect {
2471
2715
  /**
2472
2716
  * Encounters and their specific details.
2473
2717
  */
2474
- interface VersionEncounterDetail {
2718
+ export interface VersionEncounterDetail {
2475
2719
  /** The game version this encounter happens in. */
2476
2720
  version: NamedAPIResource<Version>;
2477
2721
  /** The total percentage of all encounter potential. */
@@ -2482,7 +2726,7 @@ interface VersionEncounterDetail {
2482
2726
  /**
2483
2727
  * The internal id and version of an API resource.
2484
2728
  */
2485
- interface VersionGameIndex {
2729
+ export interface VersionGameIndex {
2486
2730
  /** The internal id of an API resource within game data. */
2487
2731
  game_index: number;
2488
2732
  /** The version relevant to this game index. */
@@ -2491,7 +2735,7 @@ interface VersionGameIndex {
2491
2735
  /**
2492
2736
  * The flavor text of an API resource.
2493
2737
  */
2494
- interface VersionGroupFlavorText {
2738
+ export interface VersionGroupFlavorText {
2495
2739
  /** The localized name for an API resource in a specific language. */
2496
2740
  text: string;
2497
2741
  /** The language this name is in. */
@@ -2508,7 +2752,7 @@ interface VersionGroupFlavorText {
2508
2752
  *
2509
2753
  * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Berry) for greater detail.
2510
2754
  */
2511
- type Berry = {
2755
+ export type Berry = {
2512
2756
  /** The identifier for this resource. */
2513
2757
  id: number;
2514
2758
  /** The name for this resource. */
@@ -2537,7 +2781,7 @@ type Berry = {
2537
2781
  /**
2538
2782
  * Reference to the flavor a berry can have and the potency of each of those flavors in regard to this berry.
2539
2783
  */
2540
- type BerryFlavorMap = {
2784
+ export type BerryFlavorMap = {
2541
2785
  /** How powerful the referenced flavor is for this berry. */
2542
2786
  potency: number;
2543
2787
  /** The referenced berry flavor. */
@@ -2549,7 +2793,7 @@ type BerryFlavorMap = {
2549
2793
  *
2550
2794
  * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Flavor) for greater detail.
2551
2795
  */
2552
- type BerryFlavor = {
2796
+ export type BerryFlavor = {
2553
2797
  /** The identifier for this resource. */
2554
2798
  id: number;
2555
2799
  /** The name for this resource. */
@@ -2564,7 +2808,7 @@ type BerryFlavor = {
2564
2808
  /**
2565
2809
  * Berry with the given flavor.
2566
2810
  */
2567
- type FlavorBerryMap = {
2811
+ export type FlavorBerryMap = {
2568
2812
  /** How powerful the referenced flavor is for this berry. */
2569
2813
  potency: number;
2570
2814
  /** The berry with the referenced flavor. */
@@ -2576,7 +2820,7 @@ type FlavorBerryMap = {
2576
2820
  *
2577
2821
  * - See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Category:Berries_by_firmness) for greater detail.
2578
2822
  */
2579
- type BerryFirmness = {
2823
+ export type BerryFirmness = {
2580
2824
  /** The identifier for this resource. */
2581
2825
  id: number;
2582
2826
  /** The name for this resource. */
@@ -2622,7 +2866,7 @@ interface MemoryCacheOptions {
2622
2866
  * Values are stored and returned by reference — mutating a response also mutates
2623
2867
  * what later cache hits return, so treat responses as read-only.
2624
2868
  */
2625
- declare class MemoryCache implements CacheStore {
2869
+ export declare class MemoryCache implements CacheStore {
2626
2870
  private readonly entries;
2627
2871
  private readonly ttl;
2628
2872
  private readonly maxEntries;
@@ -2668,7 +2912,7 @@ interface EtagStoreOptions {
2668
2912
  * Entries live in memory and are never persisted: an `ETag` is only worth what
2669
2913
  * the body beside it is, and the body is what would cost memory to keep.
2670
2914
  */
2671
- declare class EtagStore {
2915
+ export declare class EtagStore {
2672
2916
  private readonly entries;
2673
2917
  private readonly maxEntries;
2674
2918
  constructor(options?: EtagStoreOptions);
@@ -2733,7 +2977,7 @@ interface WebStorageCacheOptions {
2733
2977
  * and a write is dropped, because neither is worth failing the request that
2734
2978
  * triggered it over.
2735
2979
  */
2736
- declare class WebStorageCache implements CacheStore {
2980
+ export declare class WebStorageCache implements CacheStore {
2737
2981
  private readonly storage;
2738
2982
  private readonly ttl;
2739
2983
  private readonly prefix;
@@ -2890,11 +3134,11 @@ interface Logger {
2890
3134
  * `console` itself is a valid {@link Logger} and logs the payload as an object;
2891
3135
  * this is for when the terminal should stay readable.
2892
3136
  */
2893
- declare const consoleLogger: Logger;
3137
+ export declare const consoleLogger: Logger;
2894
3138
  //#endregion
2895
3139
  //#region src/constants/berries.d.ts
2896
3140
  /** Enum of Berries (NAME - ID) */
2897
- declare const BERRIES: {
3141
+ export declare const BERRIES: {
2898
3142
  readonly CHERI: 1;
2899
3143
  readonly CHESTO: 2;
2900
3144
  readonly PECHA: 3;
@@ -2965,14 +3209,14 @@ declare const BERRIES: {
2965
3209
  readonly ROSELI: 68;
2966
3210
  };
2967
3211
  /** Enum of Berry Firmnesses (NAME - ID) */
2968
- declare const BERRY_FIRMNESSES: {
3212
+ export declare const BERRY_FIRMNESSES: {
2969
3213
  readonly VERY_SOFT: 1;
2970
3214
  readonly SOFT: 2;
2971
3215
  readonly HARD: 3;
2972
3216
  readonly VERY_HARD: 4;
2973
3217
  readonly SUPER_HARD: 5;
2974
3218
  };
2975
- declare const BERRY_FLAVORS: {
3219
+ export declare const BERRY_FLAVORS: {
2976
3220
  readonly SPICY: 1;
2977
3221
  readonly DRY: 2;
2978
3222
  readonly SWEET: 3;
@@ -2981,7 +3225,7 @@ declare const BERRY_FLAVORS: {
2981
3225
  };
2982
3226
  //#endregion
2983
3227
  //#region src/constants/contests.d.ts
2984
- declare const CONTEST_TYPES: {
3228
+ export declare const CONTEST_TYPES: {
2985
3229
  readonly COOL: 1;
2986
3230
  readonly BEAUTY: 2;
2987
3231
  readonly CUTE: 3;
@@ -2990,7 +3234,7 @@ declare const CONTEST_TYPES: {
2990
3234
  };
2991
3235
  //#endregion
2992
3236
  //#region src/constants/currencies.d.ts
2993
- declare const CURRENCIES: {
3237
+ export declare const CURRENCIES: {
2994
3238
  readonly POKE_DOLLAR: 1;
2995
3239
  readonly COIN: 2;
2996
3240
  readonly VOLCANIC_ASH: 3;
@@ -3013,7 +3257,7 @@ declare const CURRENCIES: {
3013
3257
  };
3014
3258
  //#endregion
3015
3259
  //#region src/constants/encounters.d.ts
3016
- declare const ENCOUNTER_METHODS: {
3260
+ export declare const ENCOUNTER_METHODS: {
3017
3261
  readonly WALK: 1;
3018
3262
  readonly OLD_ROD: 2;
3019
3263
  readonly GOOD_ROD: 3;
@@ -3091,7 +3335,7 @@ declare const ENCOUNTER_METHODS: {
3091
3335
  */
3092
3336
  readonly ONLY_ONE: 20;
3093
3337
  };
3094
- declare const ENCOUNTER_CONDITIONS: {
3338
+ export declare const ENCOUNTER_CONDITIONS: {
3095
3339
  readonly SWARM: 1;
3096
3340
  readonly TIME: 2;
3097
3341
  readonly RADAR: 3;
@@ -3123,7 +3367,7 @@ declare const ENCOUNTER_CONDITIONS: {
3123
3367
  readonly BERRY_TREE_TYPE: 29;
3124
3368
  readonly TRASH_CAN_TYPE: 30;
3125
3369
  };
3126
- declare const ENCOUNTER_CONDITION_VALUES: {
3370
+ export declare const ENCOUNTER_CONDITION_VALUES: {
3127
3371
  readonly SWARM_YES: 1;
3128
3372
  readonly SWARM_NO: 2;
3129
3373
  readonly TIME_MORNING: 3;
@@ -3516,7 +3760,7 @@ declare const ENCOUNTER_CONDITION_VALUES: {
3516
3760
  /**
3517
3761
  * Endpoints of the PokéAPI
3518
3762
  */
3519
- declare const ENDPOINTS: {
3763
+ export declare const ENDPOINTS: {
3520
3764
  readonly BERRY: "/berry";
3521
3765
  readonly BERRY_FIRMNESS: "/berry-firmness";
3522
3766
  readonly BERRY_FLAVOR: "/berry-flavor";
@@ -3529,6 +3773,7 @@ declare const ENDPOINTS: {
3529
3773
  readonly ENCOUNTER_CONDITION_VALUE: "/encounter-condition-value";
3530
3774
  readonly EVOLUTION_CHAIN: "/evolution-chain";
3531
3775
  readonly EVOLUTION_TRIGGER: "/evolution-trigger";
3776
+ readonly EVOLUTION_VARIABLE: "/evolution-variable";
3532
3777
  readonly GENERATION: "/generation";
3533
3778
  readonly POKEDEX: "/pokedex";
3534
3779
  readonly VERSION: "/version";
@@ -3568,10 +3813,10 @@ declare const ENDPOINTS: {
3568
3813
  readonly LANGUAGE: "/language";
3569
3814
  };
3570
3815
  type ObjectValue<T> = T[keyof T];
3571
- type Endpoint = ObjectValue<typeof ENDPOINTS>;
3816
+ export type Endpoint = ObjectValue<typeof ENDPOINTS>;
3572
3817
  //#endregion
3573
3818
  //#region src/constants/evolutions.d.ts
3574
- declare const EVOLUTION_TRIGGERS: {
3819
+ export declare const EVOLUTION_TRIGGERS: {
3575
3820
  readonly LEVEL_UP: 1;
3576
3821
  readonly TRADE: 2;
3577
3822
  readonly USE_ITEM: 3;
@@ -3581,22 +3826,30 @@ declare const EVOLUTION_TRIGGERS: {
3581
3826
  readonly TOWER_OF_WATERS: 7;
3582
3827
  readonly THREE_CRITICAL_HITS: 8;
3583
3828
  readonly TAKE_DAMAGE: 9;
3584
- readonly OTHER: 10;
3829
+ readonly IN_BATTLE_LEVEL_UP: 10;
3585
3830
  readonly AGILE_STYLE_MOVE: 11;
3586
3831
  readonly STRONG_STYLE_MOVE: 12;
3587
3832
  readonly RECOIL_DAMAGE: 13;
3588
3833
  readonly USE_MOVE: 14;
3589
3834
  readonly THREE_DEFEATED_BISHARP: 15;
3590
3835
  readonly GIMMIGHOUL_COINS: 16;
3836
+ readonly MELTAN_CANDIES: 17;
3837
+ readonly UNCLASSIFIED: 18;
3591
3838
  /**
3592
3839
  * @deprecated Misspelled: the endpoint names this trigger `tower-of-waters`.
3593
3840
  * Use {@link EVOLUTION_TRIGGERS.TOWER_OF_WATERS}. Removed in 3.0.
3594
3841
  */
3595
3842
  readonly TOWER_OF_WATER: 7;
3596
3843
  };
3844
+ export declare const EVOLUTION_VARIABLES: {
3845
+ readonly ENCRYPTION_CONSTANT: 1;
3846
+ readonly PERSONALITY_VALUE: 2;
3847
+ readonly SPIN_DIRECTION: 3;
3848
+ readonly SPIN_DURATION: 4;
3849
+ };
3597
3850
  //#endregion
3598
3851
  //#region src/constants/games.d.ts
3599
- declare const GENERATIONS: {
3852
+ export declare const GENERATIONS: {
3600
3853
  readonly GENERATION_I: 1;
3601
3854
  readonly GENERATION_II: 2;
3602
3855
  readonly GENERATION_III: 3;
@@ -3617,8 +3870,8 @@ declare const GENERATIONS: {
3617
3870
  * `GENERATION_VIII` into `generation-viii` in the type system takes a recursive
3618
3871
  * template literal, and the set is closed and nine long.
3619
3872
  */
3620
- type GenerationName = "generation-i" | "generation-ii" | "generation-iii" | "generation-iv" | "generation-v" | "generation-vi" | "generation-vii" | "generation-viii" | "generation-ix";
3621
- declare const POKEDEXES: {
3873
+ export type GenerationName = "generation-i" | "generation-ii" | "generation-iii" | "generation-iv" | "generation-v" | "generation-vi" | "generation-vii" | "generation-viii" | "generation-ix";
3874
+ export declare const POKEDEXES: {
3622
3875
  readonly NATIONAL: 1;
3623
3876
  readonly KANTO: 2;
3624
3877
  readonly ORIGINAL_JOHTO: 3;
@@ -3665,7 +3918,7 @@ declare const POKEDEXES: {
3665
3918
  */
3666
3919
  readonly UPDATED_KANTO: 26;
3667
3920
  };
3668
- declare const VERSIONS: {
3921
+ export declare const VERSIONS: {
3669
3922
  readonly RED: 1;
3670
3923
  readonly BLUE: 2;
3671
3924
  readonly YELLOW: 3;
@@ -3730,7 +3983,7 @@ declare const VERSIONS: {
3730
3983
  */
3731
3984
  readonly THE_ISLE_OF_ARMOR: 35;
3732
3985
  };
3733
- declare const VERSION_GROUPS: {
3986
+ export declare const VERSION_GROUPS: {
3734
3987
  readonly RED_BLUE: 1;
3735
3988
  readonly YELLOW: 2;
3736
3989
  readonly GOLD_SILVER: 3;
@@ -3776,7 +4029,7 @@ declare const VERSION_GROUPS: {
3776
4029
  };
3777
4030
  //#endregion
3778
4031
  //#region src/constants/items.d.ts
3779
- declare const ITEM_ATTRIBUTES: {
4032
+ export declare const ITEM_ATTRIBUTES: {
3780
4033
  readonly COUNTABLE: 1;
3781
4034
  readonly CONSUMABLE: 2;
3782
4035
  readonly USABLE_OVERWORLD: 3;
@@ -3786,7 +4039,7 @@ declare const ITEM_ATTRIBUTES: {
3786
4039
  readonly HOLDABLE_ACTIVE: 7;
3787
4040
  readonly UNDERGROUND: 8;
3788
4041
  };
3789
- declare const ITEM_CATEGORIES: {
4042
+ export declare const ITEM_CATEGORIES: {
3790
4043
  readonly STAT_BOOSTS: 1;
3791
4044
  readonly EFFORT_DROP: 2;
3792
4045
  readonly MEDICINE: 3;
@@ -3847,7 +4100,7 @@ declare const ITEM_CATEGORIES: {
3847
4100
  */
3848
4101
  readonly DYNAMAX_CRISTALS: 49;
3849
4102
  };
3850
- declare const ITEM_FLING_EFFECTS: {
4103
+ export declare const ITEM_FLING_EFFECTS: {
3851
4104
  readonly BADLY_POISON: 1;
3852
4105
  readonly BURN: 2;
3853
4106
  readonly BERRY_EFFECT: 3;
@@ -3856,7 +4109,7 @@ declare const ITEM_FLING_EFFECTS: {
3856
4109
  readonly POISON: 6;
3857
4110
  readonly FLINCH: 7;
3858
4111
  };
3859
- declare const ITEM_POCKETS: {
4112
+ export declare const ITEM_POCKETS: {
3860
4113
  readonly MISC: 1;
3861
4114
  readonly MEDICINE: 2;
3862
4115
  readonly POKEBALLS: 3;
@@ -3868,7 +4121,7 @@ declare const ITEM_POCKETS: {
3868
4121
  };
3869
4122
  //#endregion
3870
4123
  //#region src/constants/locations.d.ts
3871
- declare const REGIONS: {
4124
+ export declare const REGIONS: {
3872
4125
  readonly KANTO: 1;
3873
4126
  readonly JOHTO: 2;
3874
4127
  readonly HOENN: 3;
@@ -3881,7 +4134,7 @@ declare const REGIONS: {
3881
4134
  readonly PALDEA: 10;
3882
4135
  readonly ORRE: 11;
3883
4136
  };
3884
- declare const PAL_PARK_AREAS: {
4137
+ export declare const PAL_PARK_AREAS: {
3885
4138
  readonly FOREST: 1;
3886
4139
  readonly FIELD: 2;
3887
4140
  readonly MOUNTAIN: 3;
@@ -3890,7 +4143,7 @@ declare const PAL_PARK_AREAS: {
3890
4143
  };
3891
4144
  //#endregion
3892
4145
  //#region src/constants/moves.d.ts
3893
- declare const MOVE_AILMENTS: {
4146
+ export declare const MOVE_AILMENTS: {
3894
4147
  readonly UNKNOWN: -1;
3895
4148
  readonly NONE: 0;
3896
4149
  readonly PARALYSIS: 1;
@@ -3915,12 +4168,12 @@ declare const MOVE_AILMENTS: {
3915
4168
  readonly TAR_SHOT: 42;
3916
4169
  readonly PROTECT: 43;
3917
4170
  };
3918
- declare const MOVE_BATTLE_STYLES: {
4171
+ export declare const MOVE_BATTLE_STYLES: {
3919
4172
  readonly ATTACK: 1;
3920
4173
  readonly DEFENSE: 2;
3921
4174
  readonly SUPPORT: 3;
3922
4175
  };
3923
- declare const MOVE_CATEGORIES: {
4176
+ export declare const MOVE_CATEGORIES: {
3924
4177
  readonly DAMAGE: 0;
3925
4178
  readonly AILMENT: 1;
3926
4179
  readonly NET_GOOD_STATS: 2;
@@ -3936,12 +4189,12 @@ declare const MOVE_CATEGORIES: {
3936
4189
  readonly FORCE_SWITCH: 12;
3937
4190
  readonly UNIQUE: 13;
3938
4191
  };
3939
- declare const MOVE_DAMAGE_CLASSES: {
4192
+ export declare const MOVE_DAMAGE_CLASSES: {
3940
4193
  readonly STATUS: 1;
3941
4194
  readonly PHYSICAL: 2;
3942
4195
  readonly SPECIAL: 3;
3943
4196
  };
3944
- declare const MOVE_LEARN_METHODS: {
4197
+ export declare const MOVE_LEARN_METHODS: {
3945
4198
  readonly LEVEL_UP: 1;
3946
4199
  readonly EGG: 2;
3947
4200
  readonly TUTOR: 3;
@@ -3955,7 +4208,7 @@ declare const MOVE_LEARN_METHODS: {
3955
4208
  readonly ZYGARDE_CUBE: 11;
3956
4209
  readonly TRAIN: 12;
3957
4210
  };
3958
- declare const MOVE_TARGETS: {
4211
+ export declare const MOVE_TARGETS: {
3959
4212
  readonly SPECIFIC_MOVE: 1;
3960
4213
  readonly SELECTED_POKEMON_ME_FIRST: 2;
3961
4214
  readonly ALLY: 3;
@@ -3980,7 +4233,7 @@ declare const MOVE_TARGETS: {
3980
4233
  };
3981
4234
  //#endregion
3982
4235
  //#region src/constants/pokemon.d.ts
3983
- declare const EGG_GROUPS: {
4236
+ export declare const EGG_GROUPS: {
3984
4237
  readonly MONSTER: 1;
3985
4238
  readonly WATER1: 2;
3986
4239
  readonly BUG: 3;
@@ -3997,12 +4250,12 @@ declare const EGG_GROUPS: {
3997
4250
  readonly DRAGON: 14;
3998
4251
  readonly NO_EGGS: 15;
3999
4252
  };
4000
- declare const GENDERS: {
4253
+ export declare const GENDERS: {
4001
4254
  readonly FEMALE: 1;
4002
4255
  readonly MALE: 2;
4003
4256
  readonly GENDERLESS: 3;
4004
4257
  };
4005
- declare const GROWTH_RATES: {
4258
+ export declare const GROWTH_RATES: {
4006
4259
  readonly SLOW: 1;
4007
4260
  readonly MEDIUM: 2;
4008
4261
  readonly FAST: 3;
@@ -4010,7 +4263,7 @@ declare const GROWTH_RATES: {
4010
4263
  readonly SLOW_THEN_VERY_FAST: 5;
4011
4264
  readonly FAST_THEN_VERY_SLOW: 6;
4012
4265
  };
4013
- declare const NATURES: {
4266
+ export declare const NATURES: {
4014
4267
  readonly HARDY: 1;
4015
4268
  readonly BOLD: 2;
4016
4269
  readonly MODEST: 3;
@@ -4037,14 +4290,14 @@ declare const NATURES: {
4037
4290
  readonly SASSY: 24;
4038
4291
  readonly SERIOUS: 25;
4039
4292
  };
4040
- declare const POKEATHLON_STATS: {
4293
+ export declare const POKEATHLON_STATS: {
4041
4294
  readonly SPEED: 1;
4042
4295
  readonly POWER: 2;
4043
4296
  readonly SKILL: 3;
4044
4297
  readonly STAMINA: 4;
4045
4298
  readonly JUMP: 5;
4046
4299
  };
4047
- declare const POKEMON_COLORS: {
4300
+ export declare const POKEMON_COLORS: {
4048
4301
  readonly BLACK: 1;
4049
4302
  readonly BLUE: 2;
4050
4303
  readonly BROWN: 3;
@@ -4056,7 +4309,7 @@ declare const POKEMON_COLORS: {
4056
4309
  readonly WHITE: 9;
4057
4310
  readonly YELLOW: 10;
4058
4311
  };
4059
- declare const POKEMON_HABITATS: {
4312
+ export declare const POKEMON_HABITATS: {
4060
4313
  readonly CAVE: 1;
4061
4314
  readonly FOREST: 2;
4062
4315
  readonly GRASSLAND: 3;
@@ -4072,7 +4325,7 @@ declare const POKEMON_HABITATS: {
4072
4325
  */
4073
4326
  readonly MONTAIN: 4;
4074
4327
  };
4075
- declare const POKEMON_SHAPES: {
4328
+ export declare const POKEMON_SHAPES: {
4076
4329
  readonly BALL: 1;
4077
4330
  readonly SQUIGGLE: 2;
4078
4331
  readonly FISH: 3;
@@ -4088,7 +4341,7 @@ declare const POKEMON_SHAPES: {
4088
4341
  readonly BUG_WINGS: 13;
4089
4342
  readonly ARMOR: 14;
4090
4343
  };
4091
- declare const STATS: {
4344
+ export declare const STATS: {
4092
4345
  readonly HP: 1;
4093
4346
  readonly ATTACK: 2;
4094
4347
  readonly DEFENSE: 3;
@@ -4099,7 +4352,7 @@ declare const STATS: {
4099
4352
  readonly EVASION: 8;
4100
4353
  readonly SPECIAL: 9;
4101
4354
  };
4102
- declare const TYPES: {
4355
+ export declare const TYPES: {
4103
4356
  readonly NORMAL: 1;
4104
4357
  readonly FIGHTING: 2;
4105
4358
  readonly FLYING: 3;
@@ -4137,17 +4390,17 @@ declare const TYPES: {
4137
4390
  * `GenerationName` is: the set is closed, and the two exclusions are a decision
4138
4391
  * rather than a transformation.
4139
4392
  */
4140
- type TypeName = "normal" | "fighting" | "flying" | "poison" | "ground" | "rock" | "bug" | "ghost" | "steel" | "fire" | "water" | "grass" | "electric" | "psychic" | "ice" | "dragon" | "dark" | "fairy" | "stellar";
4393
+ export type TypeName = "normal" | "fighting" | "flying" | "poison" | "ground" | "rock" | "bug" | "ghost" | "steel" | "fire" | "water" | "grass" | "electric" | "psychic" | "ice" | "dragon" | "dark" | "fairy" | "stellar";
4141
4394
  //#endregion
4142
4395
  //#region src/constants/urls.d.ts
4143
- declare const BASE_URL: {
4396
+ export declare const BASE_URL: {
4144
4397
  readonly REST: "https://pokeapi.co/api/v2";
4145
4398
  /** Root of the sprite repository the API's own sprite URLs point at. */
4146
4399
  readonly SPRITES: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites";
4147
4400
  };
4148
4401
  //#endregion
4149
4402
  //#region src/constants/utilities.d.ts
4150
- declare const LANGUAGES: {
4403
+ export declare const LANGUAGES: {
4151
4404
  readonly JA_HRKT: 1;
4152
4405
  readonly JA_ROMA: 2;
4153
4406
  readonly KO: 3;
@@ -4164,7 +4417,7 @@ declare const LANGUAGES: {
4164
4417
  readonly ES_419: 14;
4165
4418
  };
4166
4419
  declare namespace index_d_exports {
4167
- export { BASE_URL, BERRIES, BERRY_FIRMNESSES, BERRY_FLAVORS, CONTEST_TYPES, CURRENCIES, EGG_GROUPS, ENCOUNTER_CONDITIONS, ENCOUNTER_CONDITION_VALUES, ENCOUNTER_METHODS, ENDPOINTS, EVOLUTION_TRIGGERS, Endpoint, GENDERS, GENERATIONS, GROWTH_RATES, GenerationName, ITEM_ATTRIBUTES, ITEM_CATEGORIES, ITEM_FLING_EFFECTS, ITEM_POCKETS, LANGUAGES, MOVE_AILMENTS, MOVE_BATTLE_STYLES, MOVE_CATEGORIES, MOVE_DAMAGE_CLASSES, MOVE_LEARN_METHODS, MOVE_TARGETS, NATURES, PAL_PARK_AREAS, POKEATHLON_STATS, POKEDEXES, POKEMON_COLORS, POKEMON_HABITATS, POKEMON_SHAPES, REGIONS, STATS, TYPES, TypeName, VERSIONS, VERSION_GROUPS };
4420
+ export { BASE_URL, BERRIES, BERRY_FIRMNESSES, BERRY_FLAVORS, CONTEST_TYPES, CURRENCIES, EGG_GROUPS, ENCOUNTER_CONDITIONS, ENCOUNTER_CONDITION_VALUES, ENCOUNTER_METHODS, ENDPOINTS, EVOLUTION_TRIGGERS, EVOLUTION_VARIABLES, Endpoint, GENDERS, GENERATIONS, GROWTH_RATES, GenerationName, ITEM_ATTRIBUTES, ITEM_CATEGORIES, ITEM_FLING_EFFECTS, ITEM_POCKETS, LANGUAGES, MOVE_AILMENTS, MOVE_BATTLE_STYLES, MOVE_CATEGORIES, MOVE_DAMAGE_CLASSES, MOVE_LEARN_METHODS, MOVE_TARGETS, NATURES, PAL_PARK_AREAS, POKEATHLON_STATS, POKEDEXES, POKEMON_COLORS, POKEMON_HABITATS, POKEMON_SHAPES, REGIONS, STATS, TYPES, TypeName, VERSIONS, VERSION_GROUPS };
4168
4421
  }
4169
4422
  //#endregion
4170
4423
  //#region src/clients/base.d.ts
@@ -4535,7 +4788,7 @@ declare class BaseClient extends ClientFacade {
4535
4788
  *
4536
4789
  * See [PokéAPI Documentation](https://pokeapi.co/docs/v2#berries-section)
4537
4790
  */
4538
- declare class BerryClient extends BaseClient {
4791
+ export declare class BerryClient extends BaseClient {
4539
4792
  /** Get a Berry by its name. */
4540
4793
  getBerryByName(name: string): Promise<Berry>;
4541
4794
  /** Get a Berry by its ID. */
@@ -4568,7 +4821,7 @@ declare class BerryClient extends BaseClient {
4568
4821
  *
4569
4822
  * See [PokéAPI Documentation](https://pokeapi.co/docs/v2#contests-section)
4570
4823
  */
4571
- declare class ContestClient extends BaseClient {
4824
+ export declare class ContestClient extends BaseClient {
4572
4825
  /** Get a Contest Type by its name. */
4573
4826
  getContestTypeByName(name: string): Promise<ContestType>;
4574
4827
  /** Get a Contest Type by its ID. */
@@ -4595,7 +4848,7 @@ declare class ContestClient extends BaseClient {
4595
4848
  *
4596
4849
  * See [PokéAPI Documentation](https://pokeapi.co/docs/v2#currencies-section)
4597
4850
  */
4598
- declare class CurrencyClient extends BaseClient {
4851
+ export declare class CurrencyClient extends BaseClient {
4599
4852
  /** Get a Currency by its name. */
4600
4853
  getCurrencyByName(name: string): Promise<Currency>;
4601
4854
  /** Get a Currency by its ID. */
@@ -4616,7 +4869,7 @@ declare class CurrencyClient extends BaseClient {
4616
4869
  *
4617
4870
  * See [PokéAPI Documentation](https://pokeapi.co/docs/v2#encounters-section)
4618
4871
  */
4619
- declare class EncounterClient extends BaseClient {
4872
+ export declare class EncounterClient extends BaseClient {
4620
4873
  /** Get an Encounter Method by its name. */
4621
4874
  getEncounterMethodByName(name: string): Promise<EncounterMethod>;
4622
4875
  /** Get an Encounter Method by its ID. */
@@ -4645,20 +4898,27 @@ declare class EncounterClient extends BaseClient {
4645
4898
  *
4646
4899
  * - [Evolution Chains](https://pokeapi.co/docs/v2#evolution-chains)
4647
4900
  * - [Evolution Triggers](https://pokeapi.co/docs/v2#evolution-triggers)
4901
+ * - [Evolution Variables](https://pokeapi.co/docs/v2#evolution-variables)
4648
4902
  *
4649
4903
  * See [PokéAPI Documentation](https://pokeapi.co/docs/v2#evolution-section)
4650
4904
  */
4651
- declare class EvolutionClient extends BaseClient {
4905
+ export declare class EvolutionClient extends BaseClient {
4652
4906
  /** Get an Evolution Chain by its ID. */
4653
4907
  getEvolutionChainById(id: number): Promise<EvolutionChain>;
4654
4908
  /** Get an Evolution Trigger by its ID. */
4655
4909
  getEvolutionTriggerById(id: number): Promise<EvolutionTrigger>;
4656
4910
  /** Get an Evolution Trigger by its name. */
4657
4911
  getEvolutionTriggerByName(name: string): Promise<EvolutionTrigger>;
4912
+ /** Get an Evolution Variable by its ID. */
4913
+ getEvolutionVariableById(id: number): Promise<EvolutionVariable>;
4914
+ /** Get an Evolution Variable by its name. */
4915
+ getEvolutionVariableByName(name: string): Promise<EvolutionVariable>;
4658
4916
  /** List Evolution Chains. Page defaults to 20 entries from offset 0. */
4659
4917
  listEvolutionChains(offset?: number, limit?: number): Promise<APIResourceList<EvolutionChain>>;
4660
4918
  /** List Evolution Triggers. Page defaults to 20 entries from offset 0. */
4661
4919
  listEvolutionTriggers(offset?: number, limit?: number): Promise<NamedAPIResourceList<EvolutionTrigger>>;
4920
+ /** List Evolution Variables. Page defaults to 20 entries from offset 0. */
4921
+ listEvolutionVariables(offset?: number, limit?: number): Promise<NamedAPIResourceList<EvolutionVariable>>;
4662
4922
  }
4663
4923
  //#endregion
4664
4924
  //#region src/clients/game.client.d.ts
@@ -4674,7 +4934,7 @@ declare class EvolutionClient extends BaseClient {
4674
4934
  *
4675
4935
  * See [PokéAPI Documentation](https://pokeapi.co/docs/v2#games-section)
4676
4936
  */
4677
- declare class GameClient extends BaseClient {
4937
+ export declare class GameClient extends BaseClient {
4678
4938
  /** Get a Generation by its name. */
4679
4939
  getGenerationByName(name: string): Promise<Generation>;
4680
4940
  /** Get a Generation by its ID. */
@@ -4715,7 +4975,7 @@ declare class GameClient extends BaseClient {
4715
4975
  *
4716
4976
  * See [PokéAPI Documentation](https://pokeapi.co/docs/v2#items-section)
4717
4977
  */
4718
- declare class ItemClient extends BaseClient {
4978
+ export declare class ItemClient extends BaseClient {
4719
4979
  /** Get an Item by its name. */
4720
4980
  getItemByName(name: string): Promise<Item>;
4721
4981
  /** Get an Item by its ID. */
@@ -4761,7 +5021,7 @@ declare class ItemClient extends BaseClient {
4761
5021
  *
4762
5022
  * See [PokéAPI Documentation](https://pokeapi.co/docs/v2#locations-section)
4763
5023
  */
4764
- declare class LocationClient extends BaseClient {
5024
+ export declare class LocationClient extends BaseClient {
4765
5025
  /** Get a Location by its name. */
4766
5026
  getLocationByName(name: string): Promise<Location>;
4767
5027
  /** Get a Location by its ID. */
@@ -4798,7 +5058,7 @@ declare class LocationClient extends BaseClient {
4798
5058
  *
4799
5059
  * See [PokéAPI Documentation](https://pokeapi.co/docs/v2#machines-section)
4800
5060
  */
4801
- declare class MachineClient extends BaseClient {
5061
+ export declare class MachineClient extends BaseClient {
4802
5062
  /** Get a Machine by its ID. */
4803
5063
  getMachineById(id: number): Promise<Machine>;
4804
5064
  /** List Machines. Page defaults to 20 entries from offset 0. */
@@ -4821,7 +5081,7 @@ declare class MachineClient extends BaseClient {
4821
5081
  *
4822
5082
  * See [PokéAPI Documentation](https://pokeapi.co/docs/v2#moves-section)
4823
5083
  */
4824
- declare class MoveClient extends BaseClient {
5084
+ export declare class MoveClient extends BaseClient {
4825
5085
  /** Get a Move by its name. */
4826
5086
  getMoveByName(name: string): Promise<Move>;
4827
5087
  /** Get a Move by its ID. */
@@ -4891,7 +5151,7 @@ declare class MoveClient extends BaseClient {
4891
5151
  *
4892
5152
  * See [PokéAPI Documentation](https://pokeapi.co/docs/v2#pokemon-section)
4893
5153
  */
4894
- declare class PokemonClient extends BaseClient {
5154
+ export declare class PokemonClient extends BaseClient {
4895
5155
  /** Get an Ability by its name. */
4896
5156
  getAbilityByName(name: string): Promise<Ability>;
4897
5157
  /** Get an Ability by its ID. */
@@ -4998,7 +5258,7 @@ declare class PokemonClient extends BaseClient {
4998
5258
  *
4999
5259
  * See [PokéAPI Documentation](https://pokeapi.co/docs/v2#utility-section)
5000
5260
  */
5001
- declare class UtilityClient extends BaseClient {
5261
+ export declare class UtilityClient extends BaseClient {
5002
5262
  /** Get a Language by its ID. */
5003
5263
  getLanguageById(id: number): Promise<Language>;
5004
5264
  /** Get a Language by its name. */
@@ -5053,7 +5313,7 @@ declare class UtilityClient extends BaseClient {
5053
5313
  *
5054
5314
  * See [PokéAPI Documentation](https://pokeapi.co/docs/v2)
5055
5315
  */
5056
- declare class MainClient extends ClientFacade {
5316
+ export declare class MainClient extends ClientFacade {
5057
5317
  readonly berry: BerryClient;
5058
5318
  readonly contest: ContestClient;
5059
5319
  readonly currency: CurrencyClient;
@@ -5075,7 +5335,7 @@ declare class MainClient extends ClientFacade {
5075
5335
  * Thrown when the PokéAPI answers with a non-2xx status. Transport failures are
5076
5336
  * not wrapped — the native error propagates untouched.
5077
5337
  */
5078
- declare class PokenodeError extends Error {
5338
+ export declare class PokenodeError extends Error {
5079
5339
  readonly name = "PokenodeError";
5080
5340
  readonly kind = "pokenode:http";
5081
5341
  /** HTTP status code of the response. */
@@ -5162,7 +5422,7 @@ interface FlattenOptions {
5162
5422
  * still walked — every edge is filtered on its own terms, and `depth` stays the
5163
5423
  * position in the chain rather than in the result.
5164
5424
  */
5165
- declare const flattenChain: (chain: EvolutionChain, options?: FlattenOptions) => EvolutionStep[];
5425
+ export declare const flattenChain: (chain: EvolutionChain, options?: FlattenOptions) => EvolutionStep[];
5166
5426
  /**
5167
5427
  * The steps leading from the root of a chain to `species`.
5168
5428
  *
@@ -5178,7 +5438,7 @@ declare const flattenChain: (chain: EvolutionChain, options?: FlattenOptions) =>
5178
5438
  * `undefined` when the chain does not contain it. The two empty answers are
5179
5439
  * different questions, so they are different values.
5180
5440
  */
5181
- declare const pathTo: (chain: EvolutionChain, species: string | NamedAPIResource<PokemonSpecies>) => EvolutionStep[] | undefined;
5441
+ export declare const pathTo: (chain: EvolutionChain, species: string | NamedAPIResource<PokemonSpecies>) => EvolutionStep[] | undefined;
5182
5442
  /**
5183
5443
  * ## Evolution Requirement
5184
5444
  * One condition an evolution is subject to, as a discriminated union — what an
@@ -5251,11 +5511,17 @@ type EvolutionRequirement = {
5251
5511
  kind: "trade-species";
5252
5512
  species: NamedAPIResource<PokemonSpecies>;
5253
5513
  } | {
5254
- kind: "base-form";
5514
+ kind: "required-form";
5255
5515
  form: NamedAPIResource<PokemonForm>;
5256
5516
  } | {
5257
5517
  kind: "evolved-form";
5258
5518
  form: NamedAPIResource<PokemonForm>;
5519
+ } | {
5520
+ kind: "allowed-natures";
5521
+ natures: NamedAPIResource<Nature>[];
5522
+ } | {
5523
+ kind: "condition";
5524
+ condition: EvolutionConditionExpression;
5259
5525
  } | {
5260
5526
  kind: "needs-overworld-rain";
5261
5527
  } | {
@@ -5275,7 +5541,7 @@ type EvolutionRequirement = {
5275
5541
  * // { kind: 'trigger', trigger: { name: 'level-up', … } },
5276
5542
  * // { kind: 'min-happiness', happiness: 160 },
5277
5543
  * // { kind: 'time-of-day', time: 'night' },
5278
- * // { kind: 'base-form', form: { name: 'eevee', … } },
5544
+ * // { kind: 'required-form', form: { name: 'eevee', … } },
5279
5545
  * // ]
5280
5546
  * ```
5281
5547
  *
@@ -5285,7 +5551,7 @@ type EvolutionRequirement = {
5285
5551
  * for truthiness: `relative_physical_stats` is `0` when Attack has to equal
5286
5552
  * Defense, and `time_of_day` is `''`.
5287
5553
  */
5288
- declare const requirementsOf: (detail: EvolutionDetail) => EvolutionRequirement[];
5554
+ export declare const requirementsOf: (detail: EvolutionDetail) => EvolutionRequirement[];
5289
5555
  /**
5290
5556
  * ## Requirement Phrases
5291
5557
  * One renderer per {@link EvolutionRequirement} kind. Exhaustive, so a kind added
@@ -5298,7 +5564,7 @@ type RequirementPhrases = { [K in EvolutionRequirement["kind"]]: (requirement: E
5298
5564
  * ## Resource Namer
5299
5565
  * How a resource a requirement names is written out.
5300
5566
  *
5301
- * @param resource The item, move, species, location, region, form or type the
5567
+ * @param resource The item, move, species, location, region, form, nature or type the
5302
5568
  * requirement carries.
5303
5569
  * @returns What to print for it.
5304
5570
  */
@@ -5319,7 +5585,7 @@ type ResourceNamer = (resource: NamedAPIResource<unknown>) => string;
5319
5585
  * @param namer How to write a resource out. Defaults to the API's own name, with
5320
5586
  * the hyphens turned to spaces.
5321
5587
  */
5322
- declare const requirementPhrases: (namer?: ResourceNamer) => RequirementPhrases;
5588
+ export declare const requirementPhrases: (namer?: ResourceNamer) => RequirementPhrases;
5323
5589
  /**
5324
5590
  * ## Requirement Phrases
5325
5591
  * The English {@link formatRequirements} renders with, naming resources the way
@@ -5340,7 +5606,7 @@ declare const requirementPhrases: (namer?: ResourceNamer) => RequirementPhrases;
5340
5606
  * });
5341
5607
  * ```
5342
5608
  */
5343
- declare const REQUIREMENT_PHRASES: RequirementPhrases;
5609
+ export declare const REQUIREMENT_PHRASES: RequirementPhrases;
5344
5610
  /**
5345
5611
  * ## Format Options
5346
5612
  * How {@link formatRequirements} words what it renders.
@@ -5402,8 +5668,12 @@ interface FormatOptions {
5402
5668
  * use water stone" says it twice. That holds under `phrases` too: the trigger is
5403
5669
  * dropped before anything is rendered, so an overridden `item` is still what says
5404
5670
  * the item is used.
5671
+ *
5672
+ * A phrase that renders as `""` is left out of the sentence. The default table
5673
+ * does this for a `condition` with no `percentage_chance` — Milcery's spin, which
5674
+ * the trigger already names — and an override can do it to hide any kind.
5405
5675
  */
5406
- declare const formatRequirements: (requirements: readonly EvolutionRequirement[], options?: FormatOptions) => string;
5676
+ export declare const formatRequirements: (requirements: readonly EvolutionRequirement[], options?: FormatOptions) => string;
5407
5677
  //#endregion
5408
5678
  //#region src/utils/localize.d.ts
5409
5679
  /**
@@ -5451,7 +5721,7 @@ interface LocalizeOptions {
5451
5721
  * @returns The entry, the one in `fallback` when that language is absent, or
5452
5722
  * `undefined` when neither is there.
5453
5723
  */
5454
- declare const localize: <T extends Localized>(entries: readonly T[], language?: string | LocalizeOptions) => T | undefined;
5724
+ export declare const localize: <T extends Localized>(entries: readonly T[], language?: string | LocalizeOptions) => T | undefined;
5455
5725
  /**
5456
5726
  * Every entry written in `language`, in the order the API lists them.
5457
5727
  *
@@ -5471,7 +5741,7 @@ declare const localize: <T extends Localized>(entries: readonly T[], language?:
5471
5741
  * @returns The entries, those in `fallback` when the language is absent, or `[]`
5472
5742
  * when neither is there.
5473
5743
  */
5474
- declare const localizeAll: <T extends Localized>(entries: readonly T[], language?: string | LocalizeOptions) => T[];
5744
+ export declare const localizeAll: <T extends Localized>(entries: readonly T[], language?: string | LocalizeOptions) => T[];
5475
5745
  //#endregion
5476
5746
  //#region src/utils/resource-id.d.ts
5477
5747
  /**
@@ -5494,7 +5764,7 @@ declare const localizeAll: <T extends Localized>(entries: readonly T[], language
5494
5764
  * @returns The id.
5495
5765
  * @throws {TypeError} If the URL does not end in an id.
5496
5766
  */
5497
- declare const resourceId: (resource: ResourceLink<unknown>) => number;
5767
+ export declare const resourceId: (resource: ResourceLink<unknown>) => number;
5498
5768
  //#endregion
5499
5769
  //#region src/utils/sprites.d.ts
5500
5770
  /**
@@ -5554,7 +5824,7 @@ type PokemonSpriteOptions = {
5554
5824
  * @param options Which sprite set and which facing to build for.
5555
5825
  * @returns The URL of the sprite.
5556
5826
  */
5557
- declare const getPokemonSpriteUrl: (id: number, options?: PokemonSpriteOptions) => string;
5827
+ export declare const getPokemonSpriteUrl: (id: number, options?: PokemonSpriteOptions) => string;
5558
5828
  //#endregion
5559
5829
  //#region src/utils/type-chart.d.ts
5560
5830
  /**
@@ -5584,7 +5854,7 @@ interface GenerationScope {
5584
5854
  * `generation`. Nothing is guessed: Steel in generation I has no chart, and a
5585
5855
  * neutral one would be a confidently wrong answer rather than a missing one.
5586
5856
  */
5587
- declare const relationsFor: (type: Type, generation?: GenerationName) => TypeRelations | undefined;
5857
+ export declare const relationsFor: (type: Type, generation?: GenerationName) => TypeRelations | undefined;
5588
5858
  /**
5589
5859
  * The damage multiplier `attacking` deals to a defender that has `defending`
5590
5860
  * types — `0`, `0.25`, `0.5`, `1`, `2` or `4`.
@@ -5605,8 +5875,8 @@ declare const relationsFor: (type: Type, generation?: GenerationName) => TypeRel
5605
5875
  * against. `Pokemon.past_types` is where a historically correct defender comes
5606
5876
  * from.
5607
5877
  */
5608
- declare function effectiveness(attacking: Type, defending: readonly NamedAPIResource<Type>[]): number;
5609
- declare function effectiveness(attacking: Type, defending: readonly NamedAPIResource<Type>[], options: {
5878
+ export declare function effectiveness(attacking: Type, defending: readonly NamedAPIResource<Type>[]): number;
5879
+ export declare function effectiveness(attacking: Type, defending: readonly NamedAPIResource<Type>[], options: {
5610
5880
  generation: GenerationName;
5611
5881
  }): number | undefined;
5612
5882
  /**
@@ -5642,7 +5912,7 @@ declare function effectiveness(attacking: Type, defending: readonly NamedAPIReso
5642
5912
  * `localize(type.names)` is what a table headed in French needs, and it is a
5643
5913
  * property of the resource rather than of this table.
5644
5914
  */
5645
- declare const defensiveProfile: (types: readonly Type[], defending: readonly NamedAPIResource<Type>[], options?: GenerationScope) => Partial<Record<TypeName, number>>;
5915
+ export declare const defensiveProfile: (types: readonly Type[], defending: readonly NamedAPIResource<Type>[], options?: GenerationScope) => Partial<Record<TypeName, number>>;
5646
5916
  /**
5647
5917
  * The same table, read off the defending types themselves — what every type does
5648
5918
  * to a Pokémon that has `defending` types.
@@ -5669,7 +5939,7 @@ declare const defensiveProfile: (types: readonly Type[], defending: readonly Nam
5669
5939
  * Keyed by the API's name for a type, as {@link defensiveProfile} is;
5670
5940
  * `localize(type.names)` is the displayed one.
5671
5941
  */
5672
- declare const defensiveProfileFrom: (defending: readonly Type[]) => Record<TypeName, number>;
5942
+ export declare const defensiveProfileFrom: (defending: readonly Type[]) => Record<TypeName, number>;
5673
5943
  //#endregion
5674
- export { APIResource, APIResourceList, Ability, AbilityEffectChange, AbilityFlavorText, AbilityPokemon, Animated, AwesomeName, BASE_URL, BERRIES, BERRY_FIRMNESSES, BERRY_FLAVORS, Berry, BerryClient, BerryFirmness, BerryFlavor, BerryFlavorMap, BlackWhite, BrilliantDiamondShiningPearl, index_d_exports as CONSTANTS, CONTEST_TYPES, CURRENCIES, type CacheStore, ChainLink, Characteristic, type ClientOptions, type ClientStats, ContestClient, ContestComboDetail, ContestComboSets, ContestEffect, ContestFlavorText, ContestName, ContestType, Crystal, CrystalAnimated, Currency, CurrencyClient, Description, DiamondPearl, DreamWorld, EGG_GROUPS, ENCOUNTER_CONDITIONS, ENCOUNTER_CONDITION_VALUES, ENCOUNTER_METHODS, ENDPOINTS, EVOLUTION_TRIGGERS, Effect, EggGroup, Emerald, Encounter, EncounterClient, EncounterCondition, EncounterConditionValue, EncounterMethod, EncounterMethodRate, EncounterPokemonDetail, EncounterVersionDetails, Endpoint, type EtagEntry, EtagStore, type EtagStoreOptions, EvolutionChain, EvolutionClient, EvolutionDetail, type EvolutionRequirement, type EvolutionStep, EvolutionTimeOfDay, EvolutionTrigger, EvolutionTriggerName, type FetchLike, FireredLeafgreen, type FlattenOptions, FlavorBerryMap, FlavorText, type FormatOptions, GENDERS, GENERATIONS, GROWTH_RATES, GameClient, Gender, Generation, GenerationGameIndex, GenerationIIISprites, GenerationIIITypeSprites, GenerationIISprites, GenerationISprites, GenerationIVSprites, GenerationIVTypeSprites, GenerationIXSprites, GenerationIXTypeSprites, GenerationName, type GenerationScope, GenerationVAnimatedIcons, GenerationVIIISprites, GenerationVIIITypeSprites, GenerationVIISprites, GenerationVIITypeSprites, GenerationVISprites, GenerationVITypeSprites, GenerationVIcons, GenerationVSprites, GenerationVTypeSprites, GenerationViiIcons, GenerationViiiIcons, Genus, Gold, GrowthRate, GrowthRateExperienceLevel, HeartgoldSoulsilver, Home, ITEM_ATTRIBUTES, ITEM_CATEGORIES, ITEM_FLING_EFFECTS, ITEM_POCKETS, Item, ItemAttribute, ItemCategory, ItemClient, ItemFlingEffect, ItemHolderPokemon, ItemHolderPokemonVersionDetail, ItemPocket, ItemPrice, ItemSprites, LANGUAGES, Language, type ListFn, type ListMethodName, type ListPage, type LocalizeOptions, type Localized, Location, LocationArea, LocationAreaEncounter, LocationClient, type LogCancelledPayload, type LogErrorPayload, type LogRequestPayload, type LogResponsePayload, type LogRetryPayload, type Logger, MOVE_AILMENTS, MOVE_BATTLE_STYLES, MOVE_CATEGORIES, MOVE_DAMAGE_CLASSES, MOVE_LEARN_METHODS, MOVE_TARGETS, Machine, MachineClient, MachineVersionDetail, MainClient, MemoryCache, type MemoryCacheOptions, Move, MoveAilment, MoveBattleStyle, MoveBattleStylePreference, MoveCategory, MoveClient, MoveDamageClass, MoveFlavorText, MoveLearnMethod, MoveMetaData, MoveStatAffect, MoveStatAffectSets, MoveStatChange, MoveTarget, NATURES, Name, NamedAPIResource, NamedAPIResourceList, Nature, NaturePokeathlonStatAffect, NaturePokeathlonStatAffectSets, NatureStatAffectSets, NatureStatChange, OfficialArtwork, OmegarubyAlphasapphire, OtherPokemonSprites, PAL_PARK_AREAS, POKEATHLON_STATS, POKEDEXES, POKEMON_COLORS, POKEMON_HABITATS, POKEMON_SHAPES, type PaginateOptions, PalParkArea, PalParkEncounterArea, PalParkEncounterSpecies, PastMoveStatValues, Platinum, PokeathlonStat, Pokedex, Pokemon, PokemonAbility, PokemonClient, PokemonColor, PokemonCries, PokemonEncounter, PokemonEntry, PokemonForm, PokemonFormCondition, PokemonFormGenerationVIIISprites, PokemonFormSprites, PokemonFormVersionSprites, PokemonHabitat, PokemonHeldItem, PokemonHeldItemVersion, PokemonMove, PokemonMoveVersion, PokemonPastAbility, PokemonPastAbilitySlot, PokemonPastStat, PokemonPastType, PokemonShape, PokemonSpecies, PokemonSpeciesDexEntry, PokemonSpeciesGender, PokemonSpeciesVariety, type PokemonSpriteOptions, PokemonSprites, PokemonStat, PokemonType, PokenodeError, REGIONS, REQUIREMENT_PHRASES, RedBlue, Region, type RequestScope, type RequirementPhrases, type ResolveOptions, type ResourceLink, type ResourceNamer, type RetryOptions, RubySapphire, STATS, ScarletViolet, Showdown, Silver, type SpriteVariant, Stat, SuperContestEffect, TYPES, Type, TypeGameSprites, TypeName, TypePokemon, TypeRelations, TypeRelationsPast, TypeSprites, UltraSunUltraMoon, UtilityClient, VERSIONS, VERSION_GROUPS, VerboseEffect, Version, VersionEncounterDetail, VersionGameIndex, VersionGroup, VersionGroupFlavorText, VersionSprites, WebStorageCache, type WebStorageCacheOptions, type WebStorageLike, XY, Yellow, consoleLogger, defensiveProfile, defensiveProfileFrom, effectiveness, flattenChain, formatRequirements, getPokemonSpriteUrl, localize, localizeAll, pathTo, relationsFor, requirementPhrases, requirementsOf, resourceId };
5944
+ export { index_d_exports as CONSTANTS, type CacheStore, type ClientOptions, type ClientStats, type EtagEntry, type EtagStoreOptions, type EvolutionRequirement, type EvolutionStep, type FetchLike, type FlattenOptions, type FormatOptions, type GenerationScope, type ListFn, type ListMethodName, type ListPage, type LocalizeOptions, type Localized, type LogCancelledPayload, type LogErrorPayload, type LogRequestPayload, type LogResponsePayload, type LogRetryPayload, type Logger, type MemoryCacheOptions, type PaginateOptions, type PokemonSpriteOptions, type RequestScope, type RequirementPhrases, type ResolveOptions, type ResourceLink, type ResourceNamer, type RetryOptions, type SpriteVariant, type WebStorageCacheOptions, type WebStorageLike };
5675
5945
  //# sourceMappingURL=index.d.ts.map