import { StorageElementType } from '../types/StorageElementType.js';
import ExportedStorage from '../interface/export/ExportedStorage.js';
import NarrationManagerInterface from '../interface/managers/NarrationManagerInterface.js';
import StorageManagerInterface from '../interface/managers/StorageManagerInterface.js';
import '@drincs/pixi-vn';
import '../types/ChoiceMenuOptionsType.js';
import '../classes/ChoiceMenuOption.js';
import '../types/LabelIdType.js';
import '../classes/Label.js';
import '../classes/LabelAbstract.js';
import '../types/StepLabelType.js';
import '../interface/LabelProps.js';
import '../types/CloseType.js';
import '../types/LabelRunModeType.js';
import '../types/InputInfo.js';
import '../interface/export/ExportedStep.js';
import '../interface/HistoryStep.js';
import 'deep-diff';
import 'microdiff';
import '../interface/export/ExportedCanvas.js';
import '../types/PauseTickerType.js';
import '../interface/canvas/memory/CanvasBaseItemMemory.js';
import '../interface/canvas/memory/ContainerMemory.js';
import 'pixi.js';
import '../types/ContainerChild.js';
import '../classes/canvas/CanvasBaseItem.js';
import '../interface/TickerHistory.js';
import '../types/TickerIdType.js';
import '../interface/TickerArgs.js';
import '../interface/TickersSequence.js';
import '../types/PauseType.js';
import '../types/RepeatType.js';
import '../interface/export/ExportedSounds.js';
import '../interface/SoundOptions.js';
import '@pixi/sound';
import '../types/SoundFilterMemory.js';
import '../interface/OpenedLabel.js';
import '../classes/Dialogue.js';
import '../interface/CharacterInterface.js';
import '../interface/NarrativeHistory.js';
import '../types/HistoryChoiceMenuOption.js';
import './StorageManagerStatic.js';

declare class StorageManager implements StorageManagerInterface {
    private readonly narration;
    constructor(narration: NarrationManagerInterface);
    get storage(): Map<string, any>;
    /**
     * @deprecated Use SYSTEM_RESERVED_STORAGE_KEYS instead
     */
    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;
    };
    set startingStorage(value: {
        [key: string]: StorageElementType;
    });
    setVariable(key: string, value: StorageElementType): void;
    getVariable<T extends StorageElementType>(key: string): T | undefined;
    removeVariable(key: string): void;
    setTempVariable(key: string, value: StorageElementType): void;
    removeTempVariable(key: string): void;
    setFlag(name: string, value: boolean): void;
    getFlag(name: string): boolean;
    clear(): void;
    exportJson(): string;
    export(): ExportedStorage;
    importJson(dataString: string): void;
    import(data: ExportedStorage): void;
}

export { StorageManager as default };
