import type { RefObject } from 'react';
import type React from 'react';
interface Highlightable {
    highlight(): void;
    unhighlight(): void;
    select(...args: unknown[]): void;
    isEnabled(): boolean;
}
export declare class MenuNavigation<T extends Highlightable> {
    private readonly root;
    private readonly itemsContentDataTid;
    private tagsAndItems;
    highlightedItem: T | null;
    items: T[];
    constructor(root: RefObject<HTMLDivElement> | null, itemsContentDataTid: string);
    private update;
    add(tag: Element, item: T): void;
    remove(tag: HTMLElement): void;
    move(step: number, isCyclic: boolean): number;
    highlight(item: T | null): void;
    highlightByIndex(index: number): void;
    unhighlight(): void;
    select(event: React.SyntheticEvent<HTMLElement>): boolean;
    reset(): void;
    private getEnabledItems;
}
export {};
