import { Ref } from 'vue'; import { CellPosition, Row, SpreadsheetChange } from '../types'; export declare function useSpreadsheetUndo(localRows: Ref, selectionStart: Ref, selectionEnd: Ref, emitUpdate: () => void): { undoStack: Ref<{ type: "cell" | "row" | "paste"; data: { rows: Row[]; selection?: { start: { row: number; col: number; }; end: { row: number; col: number; }; } | undefined; }; }[], SpreadsheetChange[] | { type: "cell" | "row" | "paste"; data: { rows: Row[]; selection?: { start: { row: number; col: number; }; end: { row: number; col: number; }; } | undefined; }; }[]>; redoStack: Ref<{ type: "cell" | "row" | "paste"; data: { rows: Row[]; selection?: { start: { row: number; col: number; }; end: { row: number; col: number; }; } | undefined; }; }[], SpreadsheetChange[] | { type: "cell" | "row" | "paste"; data: { rows: Row[]; selection?: { start: { row: number; col: number; }; end: { row: number; col: number; }; } | undefined; }; }[]>; canUndo: import('vue').ComputedRef; canRedo: import('vue').ComputedRef; saveState: (type: SpreadsheetChange["type"]) => void; undo: () => void; redo: () => void; }; //# sourceMappingURL=useSpreadsheetUndo.d.ts.map