import React, { MutableRefObject } from 'react';
export declare const TEXT_INPUT_KEYS_TO_ALLOW: string[];
declare class PipedTextMenuFocusItem<T extends HTMLElement = HTMLElement> {
    currentContainer: MutableRefObject<T>;
    menuItems: MutableRefObject<T>[];
    highlightedIdx: number;
    constructor(currentContainer: MutableRefObject<T>, menuItems: MutableRefObject<T>[]);
    setMenuItems(menuItems: MutableRefObject<T>[]): void;
    findMenuItemIdx(menuItemRef: MutableRefObject<T>): number;
}
export declare class PipedTextMenuKeyboardCtrl<T extends HTMLElement = HTMLElement> {
    menuFocusItems: PipedTextMenuFocusItem<T>[];
    currFocusItemIdx: number;
    constructor();
    private getFocusMenu;
    private getCurrentFocusMenu;
    addMenu(containerRef: MutableRefObject<T>, menuItemRefs: MutableRefObject<T>[]): void;
    removeMenu(containerRef: MutableRefObject<T>): void;
    handleKeyEvent($e: React.KeyboardEvent<HTMLElement>): void;
    focusNextSubmenu(): void;
    getCurrentFocusMenuRef(): MutableRefObject<T>;
    isMenuItemInCurrentFocusMenu(menuItemRef: MutableRefObject<T>): boolean;
    setFocus(focusedEl: T): void;
    getFocusMenuHighlightedIdx(containerRef: MutableRefObject<T>): number;
    setFocusMenuHighlightedIdx(containerRef: MutableRefObject<T>, highlightedItemRef: MutableRefObject<T>): void;
}
export {};
