import { ComponentPublicInstance, ExtractPropTypes, PropType } from 'vue';
export declare const PopupPositionTypes: readonly ["top", "tl", "tr", "bottom", "bl", "br", "left", "lt", "lb", "right", "rt", "rb"];
export type PopupPositionT = (typeof PopupPositionTypes)[number];
export declare const PopupTriggerTypes: readonly ["none", "click", "click-outclick", "hover", "hover-outclick", "focus", "contextmenu"];
export type PopupTriggerT = (typeof PopupTriggerTypes)[number];
export declare const popupProps: {
    /**
     * 是否可见
     * v-model
     */
    visible: {
        type: BooleanConstructor;
    };
    /**
     * 弹出位置 PopupPositionT
     */
    position: {
        type: PropType<PopupPositionT>;
        default: string;
    };
    /**
     * 触发事件 PopupTriggerT | PopupTriggerT[]
     * Pad&Phone: 只支持 'none', 'click', 'click-outclick'
     */
    trigger: {
        type: PropType<PopupTriggerT | PopupTriggerT[]>;
        default: string;
    };
    /**
     * 触发元素或组件
     */
    target: {
        type: PropType<string | ComponentPublicInstance | HTMLElement | null>;
        default: null;
    };
    /**
     * 是否禁用
     */
    disabled: {
        type: BooleanConstructor;
    };
    /**
     * 挂载容器，默认为body
     */
    wrapper: {
        type: PropType<string | HTMLElement | null>;
        default: string;
    };
    /**
     * 距离target偏移量
     */
    offset: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 距离viewport(屏幕)边缘偏移量
     */
    edgeOffset: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * hover事件延时触发的时间（毫秒）
     */
    hoverDelay: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 是否当触发元素不可见时隐藏弹层
     */
    hideWhenTargetInvisible: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 是否计算箭头位置
     */
    anchor: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 锚点自定义class
     */
    anchorClass: {
        type: PropType<string | any[]>;
        default: undefined;
    };
    /**
     * 是否在popup隐藏时unmout
     */
    unmountOnHide: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * popup wrap自定义class
     */
    wrapClass: {
        type: PropType<string | any[]>;
        default: undefined;
    };
    /**
     * popup body自定义class
     */
    bodyClass: {
        type: PropType<string | any[]>;
        default: undefined;
    };
    /**
     * popup最小宽度设置为触发元素宽度
     */
    adjustMinWidth: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * popup宽度设置为触发元素宽度
     */
    adjustWidth: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 过渡名称
     */
    transition: {
        type: StringConstructor;
        default: string;
    };
    /**
     * 是否自动隐藏
     */
    autoHide: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 显示前回调，根据返回值判断是否显示, false: 不显示； true|undefined: 显示
     */
    beforeShow: {
        type: PropType<() => Promise<boolean> | boolean>;
    };
    /**
     * 隐藏前回调，根据返回值判断是否隐藏，false: 不隐藏； true|undefined: 隐藏
     */
    beforeHide: {
        type: PropType<() => Promise<boolean> | boolean>;
    };
    /**
     * popup是否自适应边缘
     */
    adaptive: {
        type: BooleanConstructor;
        default: boolean;
    };
};
export type PopupPropsT = ExtractPropTypes<typeof popupProps>;
