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