import type { Command, CommandContext } from "./Command";
export declare class CommandTransactionError extends Error {
    readonly cause: unknown;
    readonly rollbackErrors: readonly unknown[];
    constructor(cause: unknown, rollbackErrors: readonly unknown[]);
}
export declare class CommandHistory {
    private readonly undoStack;
    private readonly redoStack;
    get canUndo(): boolean;
    get canRedo(): boolean;
    get undoDepth(): number;
    get redoDepth(): number;
    execute(command: Command, context?: CommandContext): Promise<void>;
    executeTransaction(commands: readonly Command[], context?: CommandContext): Promise<void>;
    undo(context?: CommandContext): Promise<void>;
    redo(context?: CommandContext): Promise<void>;
    clear(): void;
}
//# sourceMappingURL=CommandHistory.d.ts.map