declare type Constraint = (attribute: Attribute) => void;
export default class Attribute {
    cureEffect: number;
    curedEffect: number;
    lifeBasic: number;
    lifeStatic: number;
    lifePercentage: number;
    attackBasic: number;
    attackStatic: number;
    attackPercentage: number;
    defendBasic: number;
    defendStatic: number;
    defendPercentage: number;
    critical: number;
    bCritical: number;
    eCritical: number;
    qCritical: number;
    airCritical: number;
    criticalDamage: number;
    thunderCriticalDamage: number;
    fireCriticalDamage: number;
    waterCriticalDamage: number;
    iceCriticalDamage: number;
    windCriticalDamage: number;
    rockCriticalDamage: number;
    grassCriticalDamage: number;
    physicalCriticalDamage: number;
    thunderRes: number;
    fireRes: number;
    waterRes: number;
    iceRes: number;
    windRes: number;
    rockRes: number;
    grassRes: number;
    elementalMastery: number;
    recharge: number;
    thunderBonus: number;
    fireBonus: number;
    waterBonus: number;
    iceBonus: number;
    windBonus: number;
    rockBonus: number;
    grassBonus: number;
    physicalBonus: number;
    aBonus: number;
    bBonus: number;
    eBonus: number;
    qBonus: number;
    airBonus: number;
    bonus: number;
    thunderTime: number;
    fireTime: number;
    waterTime: number;
    iceTime: number;
    windTime: number;
    rockTime: number;
    grassTime: number;
    shield: number;
    aSpeed: number;
    bSpeed: number;
    overloadEnhance: number;
    burningEnhance: number;
    electroEnhance: number;
    superconductEnhance: number;
    swirlThunderEnhance: number;
    swirlFireEnhance: number;
    swirlWaterEnhance: number;
    swirlIceEnhance: number;
    swirlEnhance: number;
    vaporizeEnhance: number;
    meltEnhance: number;
    moveSpeed: number;
    lifeRatio: number;
    defendRatio: number;
    atkRatio: number;
    aLifeRatio: number;
    aDefRatio: number;
    aAtkRatio: number;
    bLifeRatio: number;
    bDefRatio: number;
    bAtkRatio: number;
    airLifeRatio: number;
    airDefRatio: number;
    airAtkRatio: number;
    eLifeRatio: number;
    eDefRatio: number;
    eAtkRatio: number;
    qLifeRatio: number;
    qDefRatio: number;
    qAtkRatio: number;
    enemyThunderDown: number;
    enemyFireDown: number;
    enemyWaterDown: number;
    enemyIceDown: number;
    enemyWindDown: number;
    enemyRockDown: number;
    enemyGrassDown: number;
    enemyPhysicalDown: number;
    enemyDefDown: number;
    private _lazyList;
    getBaseDamage(skill: string, atkRatio?: number, defRatio?: number, hpRatio?: number): number;
    getNormalAttackBaseDamage(atkRatio: number, defRatio?: number, hpRatio?: number): number;
    getChargedAttackBaseDamage(atkRatio: number, defRatio?: number, hpRatio?: number): number;
    getPlungingAttackBaseDamage(atkRatio: number, defRatio?: number, hpRatio?: number): number;
    getElementalSkillBaseDamage(atkRatio: number, defRatio?: number, hpRatio?: number): number;
    getElementalBurstBaseDamage(atkRatio: number, defRatio?: number, hpRatio?: number): number;
    attack(): number;
    atkLift(value: number): void;
    life(): number;
    lifeLift(value: number): void;
    defend(): number;
    defLift(value: number): void;
    crit(value: number): void;
    elementalBonus(value: number): void;
    addLazy(f: Constraint): void;
    applyLazy(): void;
}
export {};
