import { CacheableStoreItem } from '../interface/export/ExportedStorage.js';
import { StorageElementType } from '../types/StorageElementType.js';

declare class StorageManagerStatic {
    static storage: Map<string, any>;
    static startingStorage: CacheableStoreItem[];
    private constructor();
    /**
     * @deprecated Use SYSTEM_RESERVED_STORAGE_KEYS instead
     */
    static get keysSystem(): {
        CURRENT_DIALOGUE_MEMORY_KEY: string;
        LAST_DIALOGUE_ADDED_IN_STEP_MEMORY_KEY: string;
        CURRENT_MENU_OPTIONS_MEMORY_KEY: string;
        LAST_MENU_OPTIONS_ADDED_IN_STEP_MEMORY_KEY: string;
        CURRENT_INPUT_VALUE_MEMORY_KEY: string;
        LAST_INPUT_ADDED_IN_STEP_MEMORY_KEY: string;
        CURRENT_INPUT_INFO_MEMORY_KEY: string;
        CHARACTER_CATEGORY_KEY: string;
        FLAGS_CATEGORY_KEY: string;
        ADD_NEXT_DIALOG_TEXT_INTO_THE_CURRENT_DIALOG_FLAG_KEY: string;
        OPENED_LABELS_COUNTER_KEY: string;
        ALL_CHOICES_MADE_KEY: string;
        CURRENT_STEP_TIMES_COUNTER_KEY: string;
        TEMP_STORAGE_KEY: string;
        TEMP_STORAGE_DEADLINES_KEY: string;
    };
    static get tempStorage(): {
        [key: string]: StorageElementType;
    };
    static set tempStorage(value: {
        [key: string]: StorageElementType;
    });
    static get tempStorageDeadlines(): {
        [key: string]: number;
    };
    static set tempStorageDeadlines(value: {
        [key: string]: number;
    });
    static getTempVariable<T extends StorageElementType>(key: string): T | undefined;
    static clearOldTempVariables(openedLabelsNumber: number): void;
    static setVariable(key: string, value: StorageElementType): void;
    static getVariable<T extends StorageElementType>(key: string): T | undefined;
    static removeVariable(key: string): void;
    static setFlag(name: string, value: boolean): void;
    static getFlag(name: string): boolean;
}

export { StorageManagerStatic as default };
