import { Patch } from 'immer'; import { Context } from '../context'; import { Op, Sheet } from '../types'; export type ChangedSheet = { index?: number; id?: string; value?: Sheet; order?: number; }; export type PatchOptions = { insertRowColOp?: { type: 'row' | 'column'; index: number; count: number; direction: 'lefttop' | 'rightbottom'; id: string; templateSourceRows?: number[]; templateSourceColumns?: number[]; }; deleteRowColOp?: { type: 'row' | 'column'; start: number; end: number; id: string; }; restoreDeletedCells?: boolean; addSheetOp?: boolean; deleteSheetOp?: { id: string; }; addSheet?: ChangedSheet; deletedSheet?: ChangedSheet; id?: string; }; export declare function filterPatch(patches: Patch[]): Patch[]; export declare function extractFormulaCellOps(ops: Op[]): Op[]; export declare function patchToOp(ctx: Context, patches: Patch[], options?: PatchOptions, undo?: boolean): Op[]; export declare function opToPatch(ctx: Context, ops: Op[]): [Patch[], Op[]]; export declare function inverseRowColOptions(options?: PatchOptions): PatchOptions | undefined;