import type { CellSnapshot } from '@bilig/protocol';
import type { EngineOp } from '@bilig/workbook';
export interface StructuralFormulaUndoRecord {
    readonly sheetName: string;
    readonly row: number;
    readonly col: number;
    readonly formula: string;
}
export type StructuralDeletedCellUndoRecord = {
    readonly kind: 'formula';
    readonly sheetName: string;
    readonly row: number;
    readonly col: number;
    readonly formula: string;
    readonly explicitFormat?: string;
} | {
    readonly kind: 'value';
    readonly sheetName: string;
    readonly row: number;
    readonly col: number;
    readonly value: number | boolean;
    readonly explicitFormat?: string;
} | {
    readonly kind: 'snapshot';
    readonly sheetName: string;
    readonly row: number;
    readonly col: number;
    readonly snapshot: CellSnapshot;
    readonly explicitFormat?: string;
} | {
    readonly kind: 'blank';
    readonly sheetName: string;
    readonly row: number;
    readonly col: number;
    readonly restoreExplicitBlank: boolean;
    readonly explicitFormat?: string;
};
export declare function dependencyTouchesStructuralDeleteSpan(dependency: string, ownerSheetName: string, targetSheetName: string, axis: 'row' | 'column', start: number): boolean;
export declare function structuralFormulaUndoRecordToOp(record: StructuralFormulaUndoRecord): EngineOp;
export declare function structuralDeletedCellUndoRecordToOps(record: StructuralDeletedCellUndoRecord, toCellStateOps: (sheetName: string, address: string, snapshot: CellSnapshot) => EngineOp[]): EngineOp[];
