import * as i0 from "@angular/core"; /** * Enterprise keyboard navigation service for the DataGrid. * Centralizes all keyboard event handling including: * - Arrow key cell navigation * - Tab / Shift+Tab traversal * - Enter/Escape for edit mode * - Ctrl+Z/Y for undo/redo * - Ctrl+A for select all * - Ctrl+C/X/V for clipboard * - F2 for edit mode * - Delete for clearing cells */ export declare class GridKeyboardService { /** Currently focused cell coordinates */ readonly focusedRow: import("@angular/core").WritableSignal; readonly focusedCol: import("@angular/core").WritableSignal; /** Whether the grid is in keyboard navigation mode */ readonly isNavigating: import("@angular/core").WritableSignal; /** Whether we're currently in cell edit mode */ readonly isEditMode: import("@angular/core").WritableSignal; /** Grid boundaries */ private maxRow; private maxCol; private editableFields; private columnFields; /** Callbacks registered by the grid component */ private handlers; /** Initialize the keyboard service with grid dimensions and handlers */ initialize(config: GridKeyboardConfig): void; /** Update grid dimensions (e.g., after data change) */ updateDimensions(maxRow: number, maxCol: number): void; /** Handle keydown events from the grid */ handleKeyDown(event: KeyboardEvent): GridKeyboardAction | null; /** Set focus to a specific cell */ setFocus(row: number, col: number): void; /** Clear focus */ clearFocus(): void; /** Get the field name of the currently focused column */ getFocusedField(): string | null; private moveFocus; private extendSelection; private canEditCurrentCell; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export interface GridKeyboardConfig { maxRow: number; maxCol: number; columnFields: string[]; editableFields?: string[]; handlers?: GridKeyboardHandlers; } export interface GridKeyboardHandlers { onNavigate?: (row: number, col: number) => void; onBeginEdit?: (row: number, col: number) => void; onSaveEdit?: () => void; onCancelEdit?: () => void; onCopy?: () => void; onPaste?: () => void; onUndo?: () => void; onRedo?: () => void; } export interface GridKeyboardAction { type: 'navigate' | 'begin-edit' | 'quick-edit' | 'save-edit' | 'cancel-edit' | 'save-edit-and-move' | 'extend-selection' | 'copy' | 'cut' | 'paste' | 'undo' | 'redo' | 'select-all' | 'clear-cells'; row?: number; col?: number; direction?: 'up' | 'down' | 'left' | 'right'; char?: string; }