/**
 * Object that can be snapshotted ("saved") any time and then reverted to a given state.
 */
export declare class SnapshotObject<T> {
    value: T;
    private copyFn;
    private snapshots;
    constructor(value: T, copyFn: (t: T) => T);
    makeSnapshot(): number;
    revert(id: number): void;
}
