import { StatProperty } from '../../models/StatProperty';
/**
 * Class of Character's Combat Properties
 */
export declare class CharacterStatusManager {
    readonly healthBase: StatProperty;
    readonly healthFlat: StatProperty;
    readonly healthPercent: StatProperty;
    readonly attackBase: StatProperty;
    readonly attackFlat: StatProperty;
    readonly attackPercent: StatProperty;
    readonly defenseBase: StatProperty;
    readonly defenseFlat: StatProperty;
    readonly defensePercent: StatProperty;
    readonly speedBase: StatProperty;
    readonly speedPercent: StatProperty;
    readonly critRate: StatProperty;
    readonly critDamage: StatProperty;
    readonly chargeEfficiency: StatProperty;
    readonly healAdd: StatProperty;
    readonly healedAdd: StatProperty;
    readonly elementMastery: StatProperty;
    readonly physicalRes: StatProperty;
    readonly physicalDamage: StatProperty;
    readonly pyroDamage: StatProperty;
    readonly electroDamage: StatProperty;
    readonly hydroDamage: StatProperty;
    readonly dendroDamage: StatProperty;
    readonly anemoDamage: StatProperty;
    readonly geoDamage: StatProperty;
    readonly cryoDamage: StatProperty;
    readonly pyroRes: StatProperty;
    readonly electroRes: StatProperty;
    readonly hydroRes: StatProperty;
    readonly dendroRes: StatProperty;
    readonly anemoRes: StatProperty;
    readonly geoRes: StatProperty;
    readonly cryoRes: StatProperty;
    readonly sortedDamageBonus: StatProperty[];
    readonly pyroEnergyCost: number;
    readonly electroEnergyCost: number;
    readonly hydroEnergyCost: number;
    readonly dendroEnergyCost: number;
    readonly anemoEnergyCost: number;
    readonly cryoEnergyCost: number;
    readonly geoEnergyCost: number;
    readonly energyCost: number;
    readonly cooldownReduction: StatProperty;
    readonly shieldStrength: StatProperty;
    readonly currentPyroEnergy: number;
    readonly currentElectroEnergy: number;
    readonly currentHydroEnergy: number;
    readonly currentDendroEnergy: number;
    readonly currentAnemoEnergy: number;
    readonly currentCryoEnergy: number;
    readonly currentGeoEnergy: number;
    readonly currentEnergy: number;
    readonly currentHealth: StatProperty;
    readonly maxHealth: StatProperty;
    readonly attack: StatProperty;
    readonly defense: StatProperty;
    readonly speed: StatProperty;
    readonly statProperties: StatProperty[];
    private readonly fightPropData;
    /**
     * Create a CharacterStatusManager
     * @param fightPropData FightPropMap from EnkaNetwork and other sources
     */
    constructor(fightPropData: {
        [key in number]: number | undefined;
    });
    /**
     * Get StatProperty from fightPropData
     * @param id FightProp ID
     * @param defaultValue Default value if fightPropData[ID] is undefined
     * @returns StatProperty
     */
    private getStatProperty;
}
