/**
 * Keyboard navigation utilities for dropdown/menu components
 */
export interface KeyboardNavigationItem {
    setAttribute(name: string, value: string): void;
    focus(): void;
    click(): void;
    textContent: string | null;
}
export interface KeyboardNavigationOptions {
    enabledSelector: string;
    onSelectionChange?: (item: HTMLElement, index: number, total: number) => void;
    onItemClick?: (item: HTMLElement) => void;
}
export declare class KeyboardNavigationManager {
    private _cachedItems;
    private _cacheInvalidated;
    private _focusedItem;
    private _focusedIndex;
    private _container;
    private _options;
    constructor(container: Element, options: KeyboardNavigationOptions);
    invalidateCache(): void;
    getEnabledItems(): Element[];
    setFocusedItem(index: number): void;
    initializeFocus(lastClickedItem?: HTMLElement): void;
    handleKeyDown(event: KeyboardEvent): boolean;
    reset(): void;
    get focusedItem(): HTMLElement | null;
    get focusedIndex(): number;
}
/**
 * Creates a live region for screen reader announcements
 */
export declare function createOrUpdateLiveRegion(container: Element, announcement: string): void;
/**
 * Announces current selection to screen readers
 */
export declare function announceSelection(container: Element, item: HTMLElement, position: number, total: number): void;
/**
 * Standard keyboard navigation handler for dropdown/menu components
 */
export declare function createKeyboardNavigationHandler(container: Element, options: KeyboardNavigationOptions): {
    manager: KeyboardNavigationManager;
    handleKeyDown: (event: KeyboardEvent) => boolean;
    invalidateCache: () => void;
    initializeFocus: (lastClickedItem?: HTMLElement) => void;
    reset: () => void;
};
