import type { App } from 'vue';
import type { ArcoOptions } from '../_utils/types';
import _Trigger from './trigger';
declare const Trigger: {
    new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        popupVisible: {
            type: BooleanConstructor;
            default: undefined;
        };
        defaultPopupVisible: {
            type: BooleanConstructor;
            default: boolean;
        };
        trigger: {
            type: import("vue").PropType<"focus" | "hover" | "click" | "contextMenu" | ("focus" | "hover" | "click" | "contextMenu")[]>;
            default: string;
        };
        position: {
            type: import("vue").PropType<"br" | "rt" | "tr" | "top" | "bottom" | "left" | "right" | "tl" | "bl" | "lt" | "lb" | "rb">;
            default: string;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        popupOffset: {
            type: NumberConstructor;
            default: number;
        };
        popupTranslate: {
            type: import("vue").PropType<import("./interface").TriggerPopupTranslate>;
        };
        showArrow: {
            type: BooleanConstructor;
            default: boolean;
        };
        alignPoint: {
            type: BooleanConstructor;
            default: boolean;
        };
        popupHoverStay: {
            type: BooleanConstructor;
            default: boolean;
        };
        blurToClose: {
            type: BooleanConstructor;
            default: boolean;
        };
        clickToClose: {
            type: BooleanConstructor;
            default: boolean;
        };
        clickOutsideToClose: {
            type: BooleanConstructor;
            default: boolean;
        };
        unmountOnClose: {
            type: BooleanConstructor;
            default: boolean;
        };
        contentClass: {
            type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        };
        contentStyle: {
            type: import("vue").PropType<import("vue").CSSProperties>;
        };
        arrowClass: {
            type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        };
        arrowStyle: {
            type: import("vue").PropType<import("vue").CSSProperties>;
        };
        popupStyle: {
            type: import("vue").PropType<import("vue").CSSProperties>;
        };
        animationName: {
            type: StringConstructor;
            default: string;
        };
        duration: {
            type: import("vue").PropType<number | {
                enter: number;
                leave: number;
            }>;
        };
        mouseEnterDelay: {
            type: NumberConstructor;
            default: number;
        };
        mouseLeaveDelay: {
            type: NumberConstructor;
            default: number;
        };
        focusDelay: {
            type: NumberConstructor;
            default: number;
        };
        autoFitPopupWidth: {
            type: BooleanConstructor;
            default: boolean;
        };
        autoFitPopupMinWidth: {
            type: BooleanConstructor;
            default: boolean;
        };
        autoFixPosition: {
            type: BooleanConstructor;
            default: boolean;
        };
        popupContainer: {
            type: import("vue").PropType<string | HTMLElement>;
        };
        updateAtScroll: {
            type: BooleanConstructor;
            default: boolean;
        };
        autoFitTransformOrigin: {
            type: BooleanConstructor;
            default: boolean;
        };
        hideEmpty: {
            type: BooleanConstructor;
            default: boolean;
        };
        openedClass: {
            type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        };
        autoFitPosition: {
            type: BooleanConstructor;
            default: boolean;
        };
        renderToBody: {
            type: BooleanConstructor;
            default: boolean;
        };
        preventFocus: {
            type: BooleanConstructor;
            default: boolean;
        };
        scrollToClose: {
            type: BooleanConstructor;
            default: boolean;
        };
        scrollToCloseDistance: {
            type: NumberConstructor;
            default: number;
        };
    }>> & Readonly<{
        onResize?: (() => any) | undefined;
        onHide?: (() => any) | undefined;
        onShow?: (() => any) | undefined;
        "onUpdate:popupVisible"?: ((visible: boolean) => any) | undefined;
        onPopupVisibleChange?: ((visible: boolean) => any) | undefined;
    }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        'update:popupVisible': (visible: boolean) => true;
        popupVisibleChange: (visible: boolean) => true;
        show: () => true;
        hide: () => true;
        resize: () => true;
    }, import("vue").PublicProps, {
        disabled: boolean;
        position: "br" | "rt" | "tr" | "top" | "bottom" | "left" | "right" | "tl" | "bl" | "lt" | "lb" | "rb";
        popupVisible: boolean;
        defaultPopupVisible: boolean;
        trigger: "focus" | "hover" | "click" | "contextMenu" | ("focus" | "hover" | "click" | "contextMenu")[];
        popupOffset: number;
        showArrow: boolean;
        alignPoint: boolean;
        popupHoverStay: boolean;
        blurToClose: boolean;
        clickToClose: boolean;
        clickOutsideToClose: boolean;
        unmountOnClose: boolean;
        animationName: string;
        mouseEnterDelay: number;
        mouseLeaveDelay: number;
        focusDelay: number;
        autoFitPopupWidth: boolean;
        autoFitPopupMinWidth: boolean;
        autoFixPosition: boolean;
        updateAtScroll: boolean;
        autoFitTransformOrigin: boolean;
        hideEmpty: boolean;
        autoFitPosition: boolean;
        renderToBody: boolean;
        preventFocus: boolean;
        scrollToClose: boolean;
        scrollToCloseDistance: number;
    }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        popupVisible: {
            type: BooleanConstructor;
            default: undefined;
        };
        defaultPopupVisible: {
            type: BooleanConstructor;
            default: boolean;
        };
        trigger: {
            type: import("vue").PropType<"focus" | "hover" | "click" | "contextMenu" | ("focus" | "hover" | "click" | "contextMenu")[]>;
            default: string;
        };
        position: {
            type: import("vue").PropType<"br" | "rt" | "tr" | "top" | "bottom" | "left" | "right" | "tl" | "bl" | "lt" | "lb" | "rb">;
            default: string;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        popupOffset: {
            type: NumberConstructor;
            default: number;
        };
        popupTranslate: {
            type: import("vue").PropType<import("./interface").TriggerPopupTranslate>;
        };
        showArrow: {
            type: BooleanConstructor;
            default: boolean;
        };
        alignPoint: {
            type: BooleanConstructor;
            default: boolean;
        };
        popupHoverStay: {
            type: BooleanConstructor;
            default: boolean;
        };
        blurToClose: {
            type: BooleanConstructor;
            default: boolean;
        };
        clickToClose: {
            type: BooleanConstructor;
            default: boolean;
        };
        clickOutsideToClose: {
            type: BooleanConstructor;
            default: boolean;
        };
        unmountOnClose: {
            type: BooleanConstructor;
            default: boolean;
        };
        contentClass: {
            type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        };
        contentStyle: {
            type: import("vue").PropType<import("vue").CSSProperties>;
        };
        arrowClass: {
            type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        };
        arrowStyle: {
            type: import("vue").PropType<import("vue").CSSProperties>;
        };
        popupStyle: {
            type: import("vue").PropType<import("vue").CSSProperties>;
        };
        animationName: {
            type: StringConstructor;
            default: string;
        };
        duration: {
            type: import("vue").PropType<number | {
                enter: number;
                leave: number;
            }>;
        };
        mouseEnterDelay: {
            type: NumberConstructor;
            default: number;
        };
        mouseLeaveDelay: {
            type: NumberConstructor;
            default: number;
        };
        focusDelay: {
            type: NumberConstructor;
            default: number;
        };
        autoFitPopupWidth: {
            type: BooleanConstructor;
            default: boolean;
        };
        autoFitPopupMinWidth: {
            type: BooleanConstructor;
            default: boolean;
        };
        autoFixPosition: {
            type: BooleanConstructor;
            default: boolean;
        };
        popupContainer: {
            type: import("vue").PropType<string | HTMLElement>;
        };
        updateAtScroll: {
            type: BooleanConstructor;
            default: boolean;
        };
        autoFitTransformOrigin: {
            type: BooleanConstructor;
            default: boolean;
        };
        hideEmpty: {
            type: BooleanConstructor;
            default: boolean;
        };
        openedClass: {
            type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        };
        autoFitPosition: {
            type: BooleanConstructor;
            default: boolean;
        };
        renderToBody: {
            type: BooleanConstructor;
            default: boolean;
        };
        preventFocus: {
            type: BooleanConstructor;
            default: boolean;
        };
        scrollToClose: {
            type: BooleanConstructor;
            default: boolean;
        };
        scrollToCloseDistance: {
            type: NumberConstructor;
            default: number;
        };
    }>> & Readonly<{
        onResize?: (() => any) | undefined;
        onHide?: (() => any) | undefined;
        onShow?: (() => any) | undefined;
        "onUpdate:popupVisible"?: ((visible: boolean) => any) | undefined;
        onPopupVisibleChange?: ((visible: boolean) => any) | undefined;
    }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
        disabled: boolean;
        position: "br" | "rt" | "tr" | "top" | "bottom" | "left" | "right" | "tl" | "bl" | "lt" | "lb" | "rb";
        popupVisible: boolean;
        defaultPopupVisible: boolean;
        trigger: "focus" | "hover" | "click" | "contextMenu" | ("focus" | "hover" | "click" | "contextMenu")[];
        popupOffset: number;
        showArrow: boolean;
        alignPoint: boolean;
        popupHoverStay: boolean;
        blurToClose: boolean;
        clickToClose: boolean;
        clickOutsideToClose: boolean;
        unmountOnClose: boolean;
        animationName: string;
        mouseEnterDelay: number;
        mouseLeaveDelay: number;
        focusDelay: number;
        autoFitPopupWidth: boolean;
        autoFitPopupMinWidth: boolean;
        autoFixPosition: boolean;
        updateAtScroll: boolean;
        autoFitTransformOrigin: boolean;
        hideEmpty: boolean;
        autoFitPosition: boolean;
        renderToBody: boolean;
        preventFocus: boolean;
        scrollToClose: boolean;
        scrollToCloseDistance: number;
    }>;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    popupVisible: {
        type: BooleanConstructor;
        default: undefined;
    };
    defaultPopupVisible: {
        type: BooleanConstructor;
        default: boolean;
    };
    trigger: {
        type: import("vue").PropType<"focus" | "hover" | "click" | "contextMenu" | ("focus" | "hover" | "click" | "contextMenu")[]>;
        default: string;
    };
    position: {
        type: import("vue").PropType<"br" | "rt" | "tr" | "top" | "bottom" | "left" | "right" | "tl" | "bl" | "lt" | "lb" | "rb">;
        default: string;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    popupOffset: {
        type: NumberConstructor;
        default: number;
    };
    popupTranslate: {
        type: import("vue").PropType<import("./interface").TriggerPopupTranslate>;
    };
    showArrow: {
        type: BooleanConstructor;
        default: boolean;
    };
    alignPoint: {
        type: BooleanConstructor;
        default: boolean;
    };
    popupHoverStay: {
        type: BooleanConstructor;
        default: boolean;
    };
    blurToClose: {
        type: BooleanConstructor;
        default: boolean;
    };
    clickToClose: {
        type: BooleanConstructor;
        default: boolean;
    };
    clickOutsideToClose: {
        type: BooleanConstructor;
        default: boolean;
    };
    unmountOnClose: {
        type: BooleanConstructor;
        default: boolean;
    };
    contentClass: {
        type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
    };
    contentStyle: {
        type: import("vue").PropType<import("vue").CSSProperties>;
    };
    arrowClass: {
        type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
    };
    arrowStyle: {
        type: import("vue").PropType<import("vue").CSSProperties>;
    };
    popupStyle: {
        type: import("vue").PropType<import("vue").CSSProperties>;
    };
    animationName: {
        type: StringConstructor;
        default: string;
    };
    duration: {
        type: import("vue").PropType<number | {
            enter: number;
            leave: number;
        }>;
    };
    mouseEnterDelay: {
        type: NumberConstructor;
        default: number;
    };
    mouseLeaveDelay: {
        type: NumberConstructor;
        default: number;
    };
    focusDelay: {
        type: NumberConstructor;
        default: number;
    };
    autoFitPopupWidth: {
        type: BooleanConstructor;
        default: boolean;
    };
    autoFitPopupMinWidth: {
        type: BooleanConstructor;
        default: boolean;
    };
    autoFixPosition: {
        type: BooleanConstructor;
        default: boolean;
    };
    popupContainer: {
        type: import("vue").PropType<string | HTMLElement>;
    };
    updateAtScroll: {
        type: BooleanConstructor;
        default: boolean;
    };
    autoFitTransformOrigin: {
        type: BooleanConstructor;
        default: boolean;
    };
    hideEmpty: {
        type: BooleanConstructor;
        default: boolean;
    };
    openedClass: {
        type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
    };
    autoFitPosition: {
        type: BooleanConstructor;
        default: boolean;
    };
    renderToBody: {
        type: BooleanConstructor;
        default: boolean;
    };
    preventFocus: {
        type: BooleanConstructor;
        default: boolean;
    };
    scrollToClose: {
        type: BooleanConstructor;
        default: boolean;
    };
    scrollToCloseDistance: {
        type: NumberConstructor;
        default: number;
    };
}>> & Readonly<{
    onResize?: (() => any) | undefined;
    onHide?: (() => any) | undefined;
    onShow?: (() => any) | undefined;
    "onUpdate:popupVisible"?: ((visible: boolean) => any) | undefined;
    onPopupVisibleChange?: ((visible: boolean) => any) | undefined;
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    'update:popupVisible': (visible: boolean) => true;
    popupVisibleChange: (visible: boolean) => true;
    show: () => true;
    hide: () => true;
    resize: () => true;
}, string, {
    disabled: boolean;
    position: "br" | "rt" | "tr" | "top" | "bottom" | "left" | "right" | "tl" | "bl" | "lt" | "lb" | "rb";
    popupVisible: boolean;
    defaultPopupVisible: boolean;
    trigger: "focus" | "hover" | "click" | "contextMenu" | ("focus" | "hover" | "click" | "contextMenu")[];
    popupOffset: number;
    showArrow: boolean;
    alignPoint: boolean;
    popupHoverStay: boolean;
    blurToClose: boolean;
    clickToClose: boolean;
    clickOutsideToClose: boolean;
    unmountOnClose: boolean;
    animationName: string;
    mouseEnterDelay: number;
    mouseLeaveDelay: number;
    focusDelay: number;
    autoFitPopupWidth: boolean;
    autoFitPopupMinWidth: boolean;
    autoFixPosition: boolean;
    updateAtScroll: boolean;
    autoFitTransformOrigin: boolean;
    hideEmpty: boolean;
    autoFitPosition: boolean;
    renderToBody: boolean;
    preventFocus: boolean;
    scrollToClose: boolean;
    scrollToCloseDistance: number;
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
    install: (app: App, options?: ArcoOptions | undefined) => void;
};
export declare type TriggerInstance = InstanceType<typeof _Trigger>;
export type { TriggerEvent, TriggerPosition } from '../_utils/constant';
export type { TriggerProps, TriggerPopupTranslate } from './interface';
export default Trigger;
