import { type CellSnapshot } from '@bilig/protocol';
import type { EngineOp } from '@bilig/workbook';
import type { WorkbookStore } from '../../workbook-store.js';
import type { EngineRuntimeState, RuntimeStructuralFormulaSourceTransform, TransactionRecord } from '../runtime-state.js';
interface MutationStructuralDeleteInverseRuntime {
    readonly state: Pick<EngineRuntimeState, 'formulas' | 'counters'> & {
        readonly workbook: WorkbookStore;
    };
    readonly getCellByIndex: (cellIndex: number) => CellSnapshot;
    readonly toCellStateOps: (sheetName: string, address: string, snapshot: CellSnapshot) => EngineOp[];
    readonly getFormulaFamilyStructuralSourceTransform?: (cellIndex: number) => RuntimeStructuralFormulaSourceTransform | undefined;
    readonly hasFormulaFamilyStructuralSourceTransforms?: () => boolean;
}
export interface MutationStructuralDeleteInverseHelpers {
    readonly captureFormulaCellStateForStructuralUndo: (sheetName: string, axis: 'row' | 'column', start: number, count: number) => EngineOp[];
    readonly captureFormulaCellStateForStructuralInsertUndo: (sheetName: string, axis: 'row' | 'column', start: number, count: number) => EngineOp[];
    readonly buildStructuralDeleteInverseRecord: (op: Extract<EngineOp, {
        kind: 'deleteRows' | 'deleteColumns';
    }>, options?: {
        readonly includeStandaloneFormulaUndoOps?: boolean;
    }) => TransactionRecord;
}
export declare function createMutationStructuralDeleteInverseHelpers(args: MutationStructuralDeleteInverseRuntime): MutationStructuralDeleteInverseHelpers;
export {};
