import { ListModel, QuestionDropdownModel, SurveyModel } from "survey-core";
import { SurveyCreatorModel, ICreatorPresetConfig } from "survey-creator-core";
export interface IPresetListItem {
    name: string;
    visible: boolean;
}
export declare class PresetsManager {
    private creator?;
    /**
     *
     */
    constructor(creator?: SurveyCreatorModel);
    presetsList: ListModel;
    selectPresetCallback: (preset: ICreatorPresetConfig) => void;
    presetSelector: QuestionDropdownModel;
    private unsaved;
    /**
     * Callback fired when the presets list is saved in the Edit Presets List dialog.
     */
    onPresetListSaved: (presets: IPresetListItem[]) => void;
    private customPresets;
    private _presetsArray;
    setStatus(unsaved: boolean): void;
    get isSaved(): boolean;
    private getPresetTitle;
    private confirmSwitchPreset;
    private presetListToItems;
    private get presetsMenuItems();
    private setPresetNewName;
    private getPresetsListToEdit;
    private applyPresetsList;
    private ensureSelectedPresetAvailable;
    private rebuildPresetsArray;
    /**
     * Returns the presets array. Mutable - includes all presets from register, add, or user-saved.
     */
    getPresetsArray(): IPresetListItem[];
    addPresetsListEditor(survey: SurveyModel, onEdit?: (item: any) => void): void;
    private customizePopupButtons;
    private editPresetsList;
    private updateMenu;
    update(): void;
    saveAs(json: any, saveCallback: (newName: string) => void): void;
    addPreset(preset: ICreatorPresetConfig): void;
    removePreset(presetAccessor: string): void;
    getPreset(name: string): ICreatorPresetConfig | undefined;
    getCurrentPreset(): ICreatorPresetConfig | undefined;
}
