import { Action, Base, EventBase } from "survey-core";
import { SurveyCreatorModel } from "../../creator-base";
import { UndoRedoManager } from "./undo-redo-manager";
export declare class UndoRedoController extends Base {
    private creator;
    private undoAction;
    private redoAction;
    ignoreChanges: boolean;
    private onSurveyPropertyValueChangedCallback;
    constructor(creator: SurveyCreatorModel);
    undoRedoManager: UndoRedoManager;
    updateSurvey(): void;
    private notifySurveyMoveItem;
    private selectElementAfterUndo;
    private selectElementAfterUndoCore;
    undo(): void;
    redo(): void;
    startTransaction(name?: string): void;
    stopTransaction(): void;
    createActions(): Action[];
    private updateUndeRedoActions;
    /**
     * The event is called before undo happens.
     * options.canUndo a boolean value. It is true by default. Set it false to hide prevent undo operation.
     */
    onBeforeUndo: EventBase<SurveyCreatorModel, any>;
    /**
      * The event is called before redo happens.
      * options.canRedo a boolean value. It is true by default. Set it false to hide prevent redo operation.
      */
    onBeforeRedo: EventBase<SurveyCreatorModel, any>;
}
