import { type PropType } from 'vue';
import type { Placement } from '../util/popper.js';
export type TriggerEvent = 'hover' | 'click' | 'focus' | 'touch';
declare let Element: any;
declare const _default: import("vue").DefineComponent<{
    theme: {
        type: StringConstructor;
        default: any;
    };
    referenceNode: {
        type: PropType<() => Element>;
        default: any;
    };
    shown: {
        type: BooleanConstructor;
        default: boolean;
    };
    showGroup: {
        type: StringConstructor;
        default: any;
    };
    ariaId: {
        default: any;
    };
    disabled: {
        type: BooleanConstructor;
        default: any;
    };
    positioningDisabled: {
        type: BooleanConstructor;
        default: any;
    };
    placement: {
        type: PropType<Placement>;
        default: any;
    };
    delay: {
        type: PropType<string | number | {
            show: number;
            hide: number;
        }>;
        default: any;
    };
    distance: {
        type: (StringConstructor | NumberConstructor)[];
        default: any;
    };
    skidding: {
        type: (StringConstructor | NumberConstructor)[];
        default: any;
    };
    triggers: {
        type: PropType<TriggerEvent[]>;
        default: any;
    };
    showTriggers: {
        type: PropType<TriggerEvent[] | ((triggers: Array<TriggerEvent>) => Array<TriggerEvent>)>;
        default: any;
    };
    hideTriggers: {
        type: PropType<TriggerEvent[] | ((triggers: Array<TriggerEvent>) => Array<TriggerEvent>)>;
        default: any;
    };
    popperTriggers: {
        type: PropType<TriggerEvent[]>;
        default: any;
    };
    popperShowTriggers: {
        type: PropType<TriggerEvent[] | ((triggers: Array<TriggerEvent>) => Array<TriggerEvent>)>;
        default: any;
    };
    popperHideTriggers: {
        type: PropType<TriggerEvent[] | ((triggers: Array<TriggerEvent>) => Array<TriggerEvent>)>;
        default: any;
    };
    container: {
        type: any[];
        default: any;
    };
    boundary: {
        type: any[];
        default: any;
    };
    strategy: {
        type: PropType<"absolute" | "fixed">;
        default: any;
    };
    autoHide: {
        type: PropType<boolean | ((event: Event) => boolean)>;
        default: any;
    };
    handleResize: {
        type: BooleanConstructor;
        default: any;
    };
    instantMove: {
        type: BooleanConstructor;
        default: any;
    };
    eagerMount: {
        type: BooleanConstructor;
        default: any;
    };
    popperClass: {
        type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        default: any;
    };
    computeTransformOrigin: {
        type: BooleanConstructor;
        default: any;
    };
    /**
     * @deprecated
     */
    autoMinSize: {
        type: BooleanConstructor;
        default: any;
    };
    autoSize: {
        type: PropType<boolean | "min" | "max">;
        default: any;
    };
    /**
     * @deprecated
     */
    autoMaxSize: {
        type: BooleanConstructor;
        default: any;
    };
    autoBoundaryMaxSize: {
        type: BooleanConstructor;
        default: any;
    };
    preventOverflow: {
        type: BooleanConstructor;
        default: any;
    };
    overflowPadding: {
        type: (StringConstructor | NumberConstructor)[];
        default: any;
    };
    arrowPadding: {
        type: (StringConstructor | NumberConstructor)[];
        default: any;
    };
    arrowOverflow: {
        type: BooleanConstructor;
        default: any;
    };
    flip: {
        type: BooleanConstructor;
        default: any;
    };
    shift: {
        type: BooleanConstructor;
        default: any;
    };
    shiftCrossAxis: {
        type: BooleanConstructor;
        default: any;
    };
    noAutoFocus: {
        type: BooleanConstructor;
        default: any;
    };
    disposeTimeout: {
        type: NumberConstructor;
        default: any;
    };
}, unknown, unknown, {
    finalTheme(): string;
}, {
    getTargetNodes(): unknown[];
}, {
    computed: {
        themeClass(): string[];
    };
} | {
    methods: {
        show(...args: any[]): any;
        hide(...args: any[]): any;
        dispose(...args: any[]): any;
        onResize(...args: any[]): any;
    };
}, import("vue").ComponentOptionsMixin, {
    show: () => true;
    hide: () => true;
    'update:shown': (shown: boolean) => true;
    'apply-show': () => true;
    'apply-hide': () => true;
    'close-group': () => true;
    'close-directive': () => true;
    'auto-hide': () => true;
    resize: () => true;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    theme: {
        type: StringConstructor;
        default: any;
    };
    referenceNode: {
        type: PropType<() => Element>;
        default: any;
    };
    shown: {
        type: BooleanConstructor;
        default: boolean;
    };
    showGroup: {
        type: StringConstructor;
        default: any;
    };
    ariaId: {
        default: any;
    };
    disabled: {
        type: BooleanConstructor;
        default: any;
    };
    positioningDisabled: {
        type: BooleanConstructor;
        default: any;
    };
    placement: {
        type: PropType<Placement>;
        default: any;
    };
    delay: {
        type: PropType<string | number | {
            show: number;
            hide: number;
        }>;
        default: any;
    };
    distance: {
        type: (StringConstructor | NumberConstructor)[];
        default: any;
    };
    skidding: {
        type: (StringConstructor | NumberConstructor)[];
        default: any;
    };
    triggers: {
        type: PropType<TriggerEvent[]>;
        default: any;
    };
    showTriggers: {
        type: PropType<TriggerEvent[] | ((triggers: Array<TriggerEvent>) => Array<TriggerEvent>)>;
        default: any;
    };
    hideTriggers: {
        type: PropType<TriggerEvent[] | ((triggers: Array<TriggerEvent>) => Array<TriggerEvent>)>;
        default: any;
    };
    popperTriggers: {
        type: PropType<TriggerEvent[]>;
        default: any;
    };
    popperShowTriggers: {
        type: PropType<TriggerEvent[] | ((triggers: Array<TriggerEvent>) => Array<TriggerEvent>)>;
        default: any;
    };
    popperHideTriggers: {
        type: PropType<TriggerEvent[] | ((triggers: Array<TriggerEvent>) => Array<TriggerEvent>)>;
        default: any;
    };
    container: {
        type: any[];
        default: any;
    };
    boundary: {
        type: any[];
        default: any;
    };
    strategy: {
        type: PropType<"absolute" | "fixed">;
        default: any;
    };
    autoHide: {
        type: PropType<boolean | ((event: Event) => boolean)>;
        default: any;
    };
    handleResize: {
        type: BooleanConstructor;
        default: any;
    };
    instantMove: {
        type: BooleanConstructor;
        default: any;
    };
    eagerMount: {
        type: BooleanConstructor;
        default: any;
    };
    popperClass: {
        type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        default: any;
    };
    computeTransformOrigin: {
        type: BooleanConstructor;
        default: any;
    };
    /**
     * @deprecated
     */
    autoMinSize: {
        type: BooleanConstructor;
        default: any;
    };
    autoSize: {
        type: PropType<boolean | "min" | "max">;
        default: any;
    };
    /**
     * @deprecated
     */
    autoMaxSize: {
        type: BooleanConstructor;
        default: any;
    };
    autoBoundaryMaxSize: {
        type: BooleanConstructor;
        default: any;
    };
    preventOverflow: {
        type: BooleanConstructor;
        default: any;
    };
    overflowPadding: {
        type: (StringConstructor | NumberConstructor)[];
        default: any;
    };
    arrowPadding: {
        type: (StringConstructor | NumberConstructor)[];
        default: any;
    };
    arrowOverflow: {
        type: BooleanConstructor;
        default: any;
    };
    flip: {
        type: BooleanConstructor;
        default: any;
    };
    shift: {
        type: BooleanConstructor;
        default: any;
    };
    shiftCrossAxis: {
        type: BooleanConstructor;
        default: any;
    };
    noAutoFocus: {
        type: BooleanConstructor;
        default: any;
    };
    disposeTimeout: {
        type: NumberConstructor;
        default: any;
    };
}>> & {
    onResize?: () => any;
    onShow?: () => any;
    onHide?: () => any;
    "onUpdate:shown"?: (shown: boolean) => any;
    "onApply-show"?: () => any;
    "onApply-hide"?: () => any;
    "onClose-group"?: () => any;
    "onClose-directive"?: () => any;
    "onAuto-hide"?: () => any;
}, {
    placement: Placement;
    strategy: "absolute" | "fixed";
    disabled: boolean;
    positioningDisabled: boolean;
    delay: string | number | {
        show: number;
        hide: number;
    };
    distance: string | number;
    skidding: string | number;
    triggers: TriggerEvent[];
    showTriggers: TriggerEvent[] | ((triggers: Array<TriggerEvent>) => Array<TriggerEvent>);
    hideTriggers: TriggerEvent[] | ((triggers: Array<TriggerEvent>) => Array<TriggerEvent>);
    popperTriggers: TriggerEvent[];
    popperShowTriggers: TriggerEvent[] | ((triggers: Array<TriggerEvent>) => Array<TriggerEvent>);
    popperHideTriggers: TriggerEvent[] | ((triggers: Array<TriggerEvent>) => Array<TriggerEvent>);
    container: any;
    boundary: any;
    autoHide: boolean | ((event: Event) => boolean);
    handleResize: boolean;
    instantMove: boolean;
    eagerMount: boolean;
    popperClass: string | unknown[] | Record<string, any>;
    computeTransformOrigin: boolean;
    autoMinSize: boolean;
    autoSize: boolean | "min" | "max";
    autoMaxSize: boolean;
    autoBoundaryMaxSize: boolean;
    preventOverflow: boolean;
    overflowPadding: string | number;
    arrowPadding: string | number;
    arrowOverflow: boolean;
    flip: boolean;
    shift: boolean;
    shiftCrossAxis: boolean;
    noAutoFocus: boolean;
    disposeTimeout: number;
    shown: boolean;
    theme: string;
    referenceNode: () => Element;
    showGroup: string;
    ariaId: any;
}, {}>;
export default _default;
