import { type ComputedRef, type Ref } from 'vue'; import type { IoiTableState, IoiTableApi, ColumnDef } from '../../types'; export interface KeyboardOptions> { state: Ref; api: IoiTableApi; columns: Ref[]>; rowCount: ComputedRef; pageSize: ComputedRef; paginationEnabled: ComputedRef; /** Whether Ctrl+C copy of selection is enabled. Defaults to true. */ copyable?: ComputedRef; onFocusChange?: (rowIndex: number, columnIndex?: number) => void; onAnnounce?: (message: string) => void; } export interface KeyboardApi { handleKeyDown: (event: KeyboardEvent) => boolean; focusedRowIndex: Ref; focusedColumnIndex: Ref; isCellNavigationMode: Ref; setFocusedRow: (index: number) => void; setFocusedCell: (rowIndex: number, columnIndex: number) => void; enterCellNavigation: () => void; exitCellNavigation: () => void; getFocusedElementSelector: () => string | null; } export declare function createKeyboardNavigation>(options: KeyboardOptions): KeyboardApi;