import { type ClassValue } from 'clsx';
export declare function cn(...inputs: ClassValue[]): string;
export declare const POPUP_Z_INDEX = "twa:z-[9999999]";
export declare const getFocusableElements: (root: HTMLElement) => HTMLElement[];
type CaptureTabEvent = Pick<KeyboardEvent, 'key' | 'shiftKey' | 'preventDefault'>;
type CaptureTabTarget = HTMLElement | null | {
    current: HTMLElement | null;
};
/**
 * Traps Tab / Shift+Tab navigation within `node` so focus cycles between the
 * first and last focusable elements instead of escaping the container.
 *
 * Only acts when the currently focused element is within `node` — popups that
 * portal elsewhere (selects, datepickers) keep managing their own navigation.
 *
 * `node` may be an element directly or a React ref to one.
 *
 * Can be called directly (`captureTab(node, event)`) or curried by omitting the
 * event (`captureTab(node)`) to get a handler that only expects the event.
 */
export declare function captureTab(node: CaptureTabTarget): (event: CaptureTabEvent) => void;
export declare function captureTab(node: CaptureTabTarget, event: CaptureTabEvent): void;
export {};
