import type { InlineActivationTarget } from '../inline/inline-activation.js'; import type { InlineColumnMapping } from '../inline/inline-column-mapping.js'; import type { InlineKeyboardActivation } from '../inline/inline-keyboard-shortcut.js'; import type { Api } from 'datatables.net'; export type KeyTableEnabledState = true | false | 'navigation-only' | 'tab-only'; /** Narrows the exact KeyTable state that can be restored after editing. */ export declare function normalizeKeyTableEnabledState(value: unknown): KeyTableEnabledState | undefined; /** Tracks KeyTable focus and owns the configured native activation shortcut. */ export declare class KeyTableInlineIntegration { private readonly table; private readonly tableElement; private readonly mappings; private readonly shortcut; private readonly onActivate; private readonly onFocusCell; private readonly keys; private focusedCell; private previousState; private isAttached; constructor(table: Api, tableElement: HTMLTableElement, mappings: ReadonlyMap>>, shortcut: InlineKeyboardActivation, onActivate: (target: Readonly) => void, onFocusCell: (cell: HTMLTableCellElement | undefined) => void); attach(): void; suspend(): void; restore(): void; refreshFocusedCell(): void; destroy(): void; private readonly handleKeyFocus; private readonly handleKeyBlur; private attachKeyListener; private detachKeyListener; private readonly handleKeyDown; private matchesShortcut; }