/** * Default keyboard helpers for VolvoxGrid. * * VolvoxGrid itself owns pointer, wheel, and context-menu request events. * Higher-level keyboard input remains opt-in via these helpers. * * For adapters like VolvoxSheet that implement their own key dispatch, these * helpers are NOT needed. * * For simple demos or thin wrappers, call: * const cleanup = setupDefaultInput(grid, wasm, canvas); * // later: cleanup(); */ /** Minimal surface used by default-input helpers. */ export interface DefaultInputGrid { readonly id: number; invalidate(): void; pinRow(row: number, mode: number): void; setRowSticky(row: number, edge: number): void; setColSticky(col: number, edge: number): void; syncCursorFromEngine?(): void; /** When true, syncInputEditor skips select() so the first typed char isn't selected. */ suppressEditorSelect?: boolean; } /** * Attach a default keyboard handler that: * - Navigates with arrow/tab/page/home/end keys * - Forwards printable characters via handle_key_press so the engine decides * whether to edit, toggle, or ignore them * - Forwards all keys to the engine via handle_key_down * * Returns a cleanup function to remove the listener. */ export declare function setupDefaultKeyboard(grid: DefaultInputGrid, wasm: any, canvas: HTMLCanvasElement): () => void; /** * Legacy no-op. Context menus are host-owned and should be attached via * `grid.onContextMenuRequest`. */ export declare function setupDefaultContextMenu(grid: DefaultInputGrid, wasm: any, canvas: HTMLCanvasElement): () => void; /** * Set up default keyboard handlers. * Returns a single cleanup function. */ export declare function setupDefaultInput(grid: DefaultInputGrid, wasm: any, canvas: HTMLCanvasElement): () => void; //# sourceMappingURL=default-input.d.ts.map