import { HTMLAttributes, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions, AllowedComponentProps, ComponentCustomProps, VNodeProps } from 'vue';
import { PolymorphicProps } from '../factory.js';
import { BaseEmits, BaseProps } from './focus-trap.types.js';
export interface FocusTrapBaseProps extends BaseProps, PolymorphicProps {
}
export interface FocusTrapProps extends FocusTrapBaseProps, 
/**
 * @vue-ignore
 */
HTMLAttributes {
}
export interface FocusTrapEmits extends BaseEmits {
}
declare const _default: __VLS_WithTemplateSlots< DefineComponent<FocusTrapProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    activate: () => any;
    deactivate: () => any;
}, string, PublicProps, Readonly<FocusTrapProps> & Readonly<{
    onActivate?: (() => any) | undefined;
    onDeactivate?: (() => any) | undefined;
}>, {
    disabled: boolean;
    initialFocus: VoidFunction | ((false | (string | (HTMLElement | SVGElement))) | (() => false | (string | (HTMLElement | SVGElement))));
    fallbackFocus: (string | (HTMLElement | SVGElement)) | (() => string | (HTMLElement | SVGElement));
    returnFocusOnDeactivate: boolean;
    setReturnFocus: (false | (string | (HTMLElement | SVGElement))) | ((node: HTMLElement | SVGElement) => false | (string | (HTMLElement | SVGElement)));
}, {}, {}, {}, string, ComponentProvideOptions, false, {
    nodeRef: {
        $props: AllowedComponentProps & ComponentCustomProps & VNodeProps & {
            [x: string]: unknown;
            readonly [x: number]: string;
        } & {
            [Symbol.iterator]?: StringIterator<string> | undefined;
        } & HTMLAttributes & Record<never, never> & PolymorphicProps;
    } | null;
}, any>, {
    default?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
