import Masterfile from './Masterfile';
import { AllMoves, AllPokemon, AllTypes } from '../typings/dataTypes';
export default class PokeApi extends Masterfile {
    baseStats: AllPokemon;
    tempEvos: {
        [id: string]: AllPokemon;
    };
    types: AllTypes;
    maxPokemon: number;
    inconsistentStats: {
        [id: string]: {
            attack?: number;
            defense?: number;
            stamina?: number;
        };
    };
    moveReference: AllMoves;
    constructor();
    set moves(parsed: AllMoves);
    static attack(normal: number, special: number, speed: number, nerf?: boolean): number;
    static defense(normal: number, special: number, speed: number, nerf?: boolean): number;
    static stamina(hp: number, nerf?: boolean): number;
    cp(atk: number, def: number, sta: number, cpm: number): number;
    megaLookup(id: string, type: string): string | 1 | 2 | 3;
    setMaxPokemonId(): Promise<number>;
    baseStatsApi(parsedPokemon: AllPokemon, pokeApiIds?: number[]): Promise<void>;
    extraPokemon(parsedPokemon: AllPokemon): Promise<void>;
    pokemonApi(id: string | number): Promise<void>;
    evoApi(evolvedPokemon: Set<number>, parsedPokemon: AllPokemon): Promise<void>;
    tempEvoApi(parsedPokemon: AllPokemon): Promise<void>;
    typesApi(): Promise<void>;
    getGenerations(): Promise<{
        [k: string]: {
            name: string;
            range: number[];
        };
    }>;
}
