import { SpreadsheetColumn } from '../types'; export interface CellChange { rowIndex: number; columnKey: string; oldValue: any; newValue: any; } export interface UndoRedoEntry { changes: CellChange[]; timestamp: number; } export interface UseUndoRedoOptions { columns: SpreadsheetColumn[]; data: T[]; isViewMode: boolean; updateCellValue: (rowIndex: number, column: SpreadsheetColumn, value: any) => void; containerRef: React.RefObject; maxHistory?: number; } export interface UndoRedoResult { /** Push a batch of changes onto the undo stack */ pushChange: (changes: CellChange[]) => void; /** Undo the last action */ undo: () => void; /** Redo the last undone action */ redo: () => void; /** Whether there are actions to undo */ canUndo: boolean; /** Whether there are actions to redo */ canRedo: boolean; /** Number of undo entries */ undoCount: number; /** Number of redo entries */ redoCount: number; /** Whether an undo/redo operation is currently being applied */ isApplying: boolean; } export declare function useUndoRedo(options: UseUndoRedoOptions): UndoRedoResult; export default useUndoRedo; //# sourceMappingURL=useUndoRedo.d.ts.map