import { R as RowData, f as Row, c as Table } from '../types-CwNe64f5.js'; interface RowEditingState { /** Set of row IDs currently being edited */ editingRows: Set; } interface RowEditStartEvent { rowId: string; row: Row; } interface RowEditCommitEvent { rowId: string; row: Row; values: Record; } interface RowEditCancelEvent { rowId: string; row: Row; } /** * Creates row-level editing capabilities that coordinate with per-cell editing. * This adds `startRowEditing`, `commitRowEdit`, and `cancelRowEdit` methods. */ declare function createFullRowEditingIntegration(table: Table): { /** Get set of currently editing row IDs */ getEditingRows: () => Set; /** Start editing all editable cells in a row */ startRowEditing: (rowId: string) => void; /** Commit all pending values for a row */ commitRowEdit: (rowId: string) => void; /** Cancel editing for a row, discarding pending values */ cancelRowEdit: (rowId: string) => void; /** Check if a row is being edited */ isRowEditing: (rowId: string) => boolean; /** Get editable column IDs for a row */ getEditableColumns: (rowId: string) => string[]; }; /** * Handle keyboard events for row editing. * - Tab / Shift+Tab: move between editable cells within the row * - Enter: commit row edit * - Escape: cancel row edit */ declare function handleRowEditKeyDown(e: KeyboardEvent, rowId: string, table: Table, integration: ReturnType>): void; export { type RowEditCancelEvent, type RowEditCommitEvent, type RowEditStartEvent, type RowEditingState, createFullRowEditingIntegration, handleRowEditKeyDown };