export interface TerraDrawUndoRedoInterface {
    undo(): boolean;
    redo(): boolean;
    canUndo(): boolean;
    canRedo(): boolean;
    clearHistory(): void;
    undoSize(): number;
    redoSize(): number;
}
export interface TerraDrawUndoRedoOptions {
    maxStackSize?: number;
}
export declare const HistoryChangeCause: {
    readonly Undo: "undo";
    readonly Redo: "redo";
    readonly Push: "push";
};
export declare const StackType: {
    readonly Mode: "mode";
    readonly Session: "session";
};
export type StackType = (typeof StackType)[keyof typeof StackType];
export type HistoryCause = (typeof HistoryChangeCause)[keyof typeof HistoryChangeCause];
export type HistoryChange = {
    cause: HistoryCause;
    stack: StackType;
    undoStackSize: number;
    redoStackSize: number;
};
export type HistoryEvent = {
    cause: HistoryCause;
    stack: StackType;
    undoSize: number;
    redoSize: number;
};
