import React, { MutableRefObject, Ref } from 'react'; import { Props } from '../../types.js'; declare enum Features { /** No features enabled for the focus trap. */ None = 1, /** Ensure that we move focus initially into the container. */ InitialFocus = 2, /** Ensure that pressing `Tab` and `Shift+Tab` is trapped within the container. */ TabLock = 4, /** Ensure that programmatically moving focus outside of the container is disallowed. */ FocusLock = 8, /** Ensure that we restore the focus when unmounting the focus trap. */ RestoreFocus = 16, /** Enable all features. */ All = 30 } export declare let FocusTrap: ( = "div">(props: Omit, "as" | "children" | "refName" | "className"> & { as?: TTag | undefined; children?: React.ReactNode | ((bag: {}) => React.ReactElement>); refName?: string | undefined; } & (true extends (import('../../types.js').PropsOf extends never ? never : "className" extends keyof import('../../types.js').PropsOf ? true : never) ? { className?: import('../../types.js').PropsOf["className"] | ((bag: {}) => string) | undefined; } : {}) & { initialFocus?: React.MutableRefObject | undefined; features?: Features | undefined; containers?: React.MutableRefObject>> | undefined; }, ref: Ref) => JSX.Element) & { displayName: string; } & { features: typeof Features; }; export {};