import { ReactiveController, ReactiveElement } from 'lit'; import { KeynavCode } from '../utils/dom.js'; export interface KeynavListConfig { items: NodeListOf | HTMLElement[]; layout?: 'both' | 'horizontal' | 'vertical'; manageFocus?: boolean; manageTabindex?: boolean; loop?: boolean; dir?: string | null; } export interface KeynavListElement { keynavListConfig: KeynavListConfig; } /** https://webaim.org/techniques/keyboard/ */ export declare function keyNavigationList(): ClassDecorator; export declare class KeyNavigationListController implements ReactiveController { #private; private host; constructor(host: T); hostConnected(): Promise; } interface KeyListConfig { code: KeynavCode; loop?: boolean; layout?: 'horizontal' | 'vertical' | 'both'; dir: string | null | undefined; } export declare function getNextKeyListItem(item: HTMLElement, items: HTMLElement[], config: KeyListConfig): { next: number; previous: number; }; export {};