import { Rpc } from '@na-ji/pogo-protos';
import type { AllForms } from '../typings/dataTypes';
import type { EvoBranch } from '../typings/general';
import type Pokemon from './Pokemon';
export default class PokemonOverrides {
    static addEvos(form: AllForms): void;
    static addFormData(that: Pokemon, formId: string | Rpc.PokemonDisplayProto.Form): void;
    static checkEvos(that: Pokemon, mfObject: EvoBranch[]): ({
        evoId: Rpc.HoloPokemonId;
        candyCost: number;
        formId?: undefined;
    } | {
        evoId: Rpc.HoloPokemonId;
        formId: Rpc.PokemonDisplayProto.Form;
        candyCost: number;
    })[] | ({
        evoId: Rpc.HoloPokemonId;
        candyCost: number;
        questRequirement: string;
        formId?: undefined;
    } | {
        evoId: Rpc.HoloPokemonId;
        formId: Rpc.PokemonDisplayProto.Form;
        candyCost: number;
        questRequirement?: undefined;
    })[] | ({
        evoId: Rpc.HoloPokemonId;
        formId: Rpc.PokemonDisplayProto.Form;
        candyCost: number;
        itemRequirement: Rpc.Item;
    } | {
        evoId: Rpc.HoloPokemonId;
        candyCost: number;
        formId?: undefined;
        itemRequirement?: undefined;
    })[] | ({
        evoId: Rpc.HoloPokemonId;
        candyCost: number;
        itemRequirement: Rpc.Item;
        formId?: undefined;
    } | {
        evoId: Rpc.HoloPokemonId;
        formId: Rpc.PokemonDisplayProto.Form;
        candyCost: number;
        itemRequirement?: undefined;
    })[];
}
