import ChangeLog from '../model/ChangeLog';
import Action from '../model/Action';
declare class HistoryManager {
    private _recording;
    private _done;
    private _undone;
    private _maxLogs;
    /** The max number of undo's allowed (default: 20) */
    maxLogs: number;
    /** Returns true if an Action has been pushed to the current MutationLog */
    isRecording(): boolean;
    /** Clear all mutation logs and reset */
    clear(): void;
    /** Pushes an <Action> to the current <MutationLog> being recorded */
    record(action: Action): void;
    /** Returns the current <MutationLog> being recorded. */
    getRecording(): ChangeLog;
    /** Returns the last recorded <Action> in the current <MutationLog> being recorded. */
    getLastRecordedAction(): Action;
    /** Saves the current <MutationLog> being recorded */
    save(): void;
    /** Undo the last saved <MutationLog> */
    undo(): void;
    /** Redo the last undone <MutationLog> */
    redo(): void;
    private executeUndo;
    private executeRedo;
}
export declare const historyManager: HistoryManager;
export {};
