export declare type MenuDirection = "horizontal" | "vertical" | "bidirectional"; export interface IPropTypes { direction?: MenuDirection; onFocus(item: T): void; onBlur(item: T): void; setActiveFirst?(item: T): void; setActiveLast?(item: T): void; onKeyPress?(item: T, key: string): boolean; } export interface IDirectionKeymap { primaryNext: string; primaryPrev: string; } export default class SwrveFocusManager { protected index: number; protected items: ReadonlyArray; protected props: IPropTypes; constructor(items: ReadonlyArray, props: IPropTypes); onFocus(): void; onBlur(): void; onKeyPress(key: string): boolean; setItems(items: ReadonlyArray): void; getItems(): ReadonlyArray; getCurrentIndex(): number; setActiveItem(index: number): boolean; setActiveFirst(): void; setActiveLast(): void; protected handleDirection(keymap: IDirectionKeymap, key: string): boolean; }