import type { CacheFlag, PlayerType } from "isaac-typescript-definitions";
import { Feature } from "../../private/Feature";
/** Easily create custom characters that have base stats different from that of Isaac. */
export declare class CharacterStats extends Feature {
    private readonly charactersStatMap;
    private readonly evaluateCache;
    /**
     * Helper function to manage the stats for a vanilla or custom character. Call this function once
     * at the beginning of your mod to declare the starting stats.
     *
     * You must provide this function with a map of CacheFlag to the default stat amount. For example,
     * the default amount of damage is 3.5. To make a custom character start with 4.5 damage:
     *
     * ```ts
     * const fooDefaultStats = new Map<CacheFlag, number>([
     *   [CacheFlag.DAMAGE, 4.5],
     * ])
     * registerCharacterStats(PlayerTypeCustom.FOO, fooDefaultStats);
     * ```
     *
     * Note that the format for the `CacheFlag.FIRE_DELAY` value should be in the tears stat format,
     * not the `MaxFireDelay` format.
     *
     * In order to use this function, you must upgrade your mod with `ISCFeature.CHARACTER_STATS`.
     *
     * @public
     */
    registerCharacterStats(playerType: PlayerType, statMap: ReadonlyMap<CacheFlag, number>): void;
}
//# sourceMappingURL=CharacterStats.d.ts.map