import { ComponentPublicInstance, Ref } from 'vue';
interface UseFocusTrapOptions {
    containerRef: Ref<HTMLElement | undefined>;
    bodyRef?: Ref<HTMLElement | undefined>;
    /**
     * Optional anchor/trigger element. If the previously focused element is the anchor,
     * focus will not be moved away from it to prevent triggering blur events.
     */
    anchorRef?: Ref<HTMLElement | ComponentPublicInstance | null | undefined>;
    /**
     * Whether to prevent scrolling when focusing elements.
     * Defaults to false.
     */
    preventScroll?: boolean;
}
export default function useFocusTrap(options: UseFocusTrapOptions): {
    focusTrapStart: Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
    focusTrapEnd: Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
    focusHolder: Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
    focusFirst: () => void;
    focusLast: () => void;
    activateFocusTrap: () => Promise<void>;
    deactivateFocusTrap: () => void;
};
export {};
