import { type PropType, type Ref } from 'vue'; type Containers = (() => Iterable) | Ref>>; 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: { new (...args: any[]): { $: import("vue").ComponentInternalInstance; $data: {}; $props: Partial<{ features: Features; as: string | Record; initialFocus: HTMLElement | null; containers: Containers; }> & Omit; default: null; }; features: { type: PropType; default: Features; }; containers: { type: PropType; default: Ref>; }; }>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "features" | "as" | "initialFocus" | "containers">; $attrs: { [x: string]: unknown; }; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: import("vue").Slot | undefined; }>; $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null; $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null; $emit: (event: string, ...args: any[]) => void; $el: any; $options: import("vue").ComponentOptionsBase; default: null; }; features: { type: PropType; default: Features; }; containers: { type: PropType; default: Ref>; }; }>>, () => import("vue").VNode, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, { features: Features; as: string | Record; initialFocus: HTMLElement | null; containers: Containers; }> & { beforeCreate?: ((() => void) | (() => void)[]) | undefined; created?: ((() => void) | (() => void)[]) | undefined; beforeMount?: ((() => void) | (() => void)[]) | undefined; mounted?: ((() => void) | (() => void)[]) | undefined; beforeUpdate?: ((() => void) | (() => void)[]) | undefined; updated?: ((() => void) | (() => void)[]) | undefined; activated?: ((() => void) | (() => void)[]) | undefined; deactivated?: ((() => void) | (() => void)[]) | undefined; beforeDestroy?: ((() => void) | (() => void)[]) | undefined; beforeUnmount?: ((() => void) | (() => void)[]) | undefined; destroyed?: ((() => void) | (() => void)[]) | undefined; unmounted?: ((() => void) | (() => void)[]) | undefined; renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined; renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined; errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null, info: string) => boolean | void)[]) | undefined; }; $forceUpdate: () => void; $nextTick: typeof import("vue").nextTick; $watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions | undefined): import("vue").WatchStopHandle; } & Readonly; default: null; }; features: { type: PropType; default: Features; }; containers: { type: PropType; default: Ref>; }; }>> & import("vue").ShallowUnwrapRef<() => import("vue").VNode> & {} & {} & import("vue").ComponentCustomProperties; __isFragment?: undefined; __isTeleport?: undefined; __isSuspense?: undefined; } & import("vue").ComponentOptionsBase; default: null; }; features: { type: PropType; default: Features; }; containers: { type: PropType; default: Ref>; }; }>>, () => import("vue").VNode, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, { features: Features; as: string | Record; initialFocus: HTMLElement | null; containers: Containers; }> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & { features: typeof Features; }; export {};