import POGOProtos from 'pogo-protos'; export const DEFAULT_POKEMON_NAME = 'MissingNo.'; export enum Grade { 'S', 'A', 'B', 'C', 'D', 'F', } export interface IBaseStats { baseAttack : number; baseDefense : number; baseStamina : number; } export interface IBaseStatsRank { attackRank : number; defenseRank : number; staminaRank : number; } export interface IMaxStats extends IBaseStats { level : number; } export interface IPokemonSpecies { name : string; dex : number; order : number; genus : string; } export interface IPokemon extends IPokemonSpecies { id : POGOProtos.Enums.PokemonId; form : POGOProtos.Enums.Form; family : POGOProtos.Enums.PokemonFamilyId; types : { type1 : POGOProtos.Enums.PokemonType; type2 : POGOProtos.Enums.PokemonType | null; }; stats : IBaseStats; statsRank : IBaseStatsRank; } export interface IStats { cp : number; level : number; ivHp : number; ivAtk : number; ivDef : number; hp : number; atk : number; def : number; total : number; speciesGrade : Grade; metaGrade : Grade; }