import type { ListTable, TYPES } from '@visactor/vtable';
export interface SnapshotState {
    prevColumnsSnapshot: TYPES.ColumnDefine[] | null;
    prevMergeSnapshot: TYPES.CustomMergeCellArray | undefined;
    prevRecordsSnapshot: any[] | null;
    prevFormulasSnapshot?: Record<string, string> | null;
    prevResizedRowHeightsSnapshot?: Record<number, number> | null;
    prevResizedColWidthsSnapshot?: Record<number, number> | null;
}
export declare function cloneDeep<T>(input: T, cache?: WeakMap<object, any>): T;
export declare function captureSnapshot(table: ListTable, state: SnapshotState, options?: {
    formulaManager?: any;
    sheetKey?: string;
}): void;
export declare function cloneRecord(record: any): any;
