import { type Ref } from "vue"; import { type DataGridInlineEditorMode, type DataGridInlineEditorState, type DataGridInlineEditTarget } from "@affino/datagrid-orchestration"; export type { DataGridInlineEditorMode, DataGridInlineEditorState, DataGridInlineEditTarget, }; export interface UseDataGridInlineEditOrchestrationOptions { sourceRows: Ref; setSourceRows: (rows: readonly TRow[]) => void; cloneRow: (row: TRow) => TRow; resolveRowId: (row: TRow) => string; resolveCellValue: (row: TRow, columnKey: string) => unknown; isEditableColumn: (columnKey: string) => columnKey is TColumnKey; isSelectColumn?: (columnKey: string) => boolean; resolveRowLabel?: (row: TRow) => string; applyEditedValue: (row: TRow, columnKey: TColumnKey, draft: string) => void; finalizeEditedRow?: (row: TRow, columnKey: TColumnKey, draft: string) => void; focusInlineEditor?: (rowId: string, columnKey: TColumnKey, mode: DataGridInlineEditorMode, openPicker: boolean) => void | Promise; setLastAction?: (message: string) => void; captureBeforeSnapshot?: () => TSnapshot; resolveAffectedRange?: (target: DataGridInlineEditTarget) => TRange | null; recordIntentTransaction?: (descriptor: { intent: "edit"; label: string; affectedRange: TRange | null; }, beforeSnapshot: TSnapshot) => Promise; } export interface UseDataGridInlineEditOrchestrationResult { inlineEditor: Ref | null>; isEditingCell: (rowId: string, columnKey: string) => boolean; isSelectEditorCell: (rowId: string, columnKey: string) => boolean; beginInlineEdit: (row: TRow, columnKey: string, mode?: DataGridInlineEditorMode, openPicker?: boolean) => boolean; cancelInlineEdit: () => void; commitInlineEdit: () => boolean; updateEditorDraft: (value: string) => void; onEditorInput: (event: Event) => void; onEditorSelectChange: (value: string | number) => boolean; } export declare function useDataGridInlineEditOrchestration(options: UseDataGridInlineEditOrchestrationOptions): UseDataGridInlineEditOrchestrationResult; //# sourceMappingURL=useDataGridInlineEditOrchestration.d.ts.map