import { type KeyboardEvent, type ReactNode } from "react";
import { type IUiFocusHelperConnectors } from "./types.js";
import { type IUiAutofocusOptions } from "./UiAutofocus.js";
import { type IUiReturnFocusOnUnmountOptions } from "./UiReturnFocusOnUnmount.js";
/**
 * @internal
 */
export type IUiFocusManagerProps = {
    enableAutofocus?: boolean | IUiAutofocusOptions;
    enableFocusTrap?: boolean;
    enableReturnFocusOnUnmount?: boolean | IUiReturnFocusOnUnmountOptions;
    tabOutHandler?: (event: KeyboardEvent) => void;
    focusCheckFn?: (element: HTMLElement) => boolean;
    children: ReactNode;
};
/**
 * @internal
 */
export declare function UiFocusManager({ children, ...args }: IUiFocusManagerProps): import("react/jsx-runtime").JSX.Element;
/**
 * @internal
 */
export declare const useUiFocusManagerConnectors: <T extends HTMLElement = HTMLElement>({ enableFocusTrap, enableAutofocus, enableReturnFocusOnUnmount, tabOutHandler, focusCheckFn, }: Omit<IUiFocusManagerProps, "children">) => IUiFocusHelperConnectors<T>;
//# sourceMappingURL=UiFocusManager.d.ts.map