import { History } from "./utils/history.js";
import { ZipAction } from "../zip/action.js";
import { StateTree } from "../state_tree.js";
import { ActionRecord } from "./utils/action_record.js";
export declare class Historian<S, BP extends ZipAction.Blueprint<S>> {
    #private;
    private tree;
    private blueprint;
    private history_limit;
    readonly actions: ZipAction.Callable<BP>;
    readonly history: History<S>;
    constructor(tree: StateTree<S>, blueprint: BP, history_limit: number);
    save_snapshot(): void;
    proceed(action: ActionRecord): void;
    undo(): void;
    redo(): void;
}
