import { DefineComponent, ExtractPropTypes, PropType, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { MobileConfig, StretchType, AlignType, Point } from '../interface';
declare const _default: DefineComponent<ExtractPropTypes<{
    mask: BooleanConstructor;
    mobile: {
        type: PropType<MobileConfig>;
    };
    maskAnimation: StringConstructor;
    maskTransitionName: StringConstructor;
    visible: BooleanConstructor;
    prefixCls: StringConstructor;
    zIndex: NumberConstructor;
    destroyPopupOnHide: BooleanConstructor;
    forceRender: BooleanConstructor;
    arrow: {
        type: BooleanConstructor;
        default: boolean;
    };
    animation: (ObjectConstructor | StringConstructor)[];
    transitionName: StringConstructor;
    stretch: {
        type: PropType<StretchType>;
    };
    align: {
        type: PropType<AlignType>;
    };
    point: {
        type: PropType<Point>;
    };
    getRootDomNode: {
        type: PropType<() => HTMLElement>;
    };
    getClassNameFromAlign: {
        type: PropType<(align: AlignType) => string>;
    };
    onAlign: {
        type: PropType<(popupDomNode: HTMLElement, align: AlignType) => void>;
    };
    onMouseenter: {
        type: PropType<(align: MouseEvent) => void>;
    };
    onMouseleave: {
        type: PropType<(align: MouseEvent) => void>;
    };
    onMousedown: {
        type: PropType<(align: MouseEvent) => void>;
    };
    onTouchstart: {
        type: PropType<(align: MouseEvent) => void>;
    };
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
    mask: BooleanConstructor;
    mobile: {
        type: PropType<MobileConfig>;
    };
    maskAnimation: StringConstructor;
    maskTransitionName: StringConstructor;
    visible: BooleanConstructor;
    prefixCls: StringConstructor;
    zIndex: NumberConstructor;
    destroyPopupOnHide: BooleanConstructor;
    forceRender: BooleanConstructor;
    arrow: {
        type: BooleanConstructor;
        default: boolean;
    };
    animation: (ObjectConstructor | StringConstructor)[];
    transitionName: StringConstructor;
    stretch: {
        type: PropType<StretchType>;
    };
    align: {
        type: PropType<AlignType>;
    };
    point: {
        type: PropType<Point>;
    };
    getRootDomNode: {
        type: PropType<() => HTMLElement>;
    };
    getClassNameFromAlign: {
        type: PropType<(align: AlignType) => string>;
    };
    onAlign: {
        type: PropType<(popupDomNode: HTMLElement, align: AlignType) => void>;
    };
    onMouseenter: {
        type: PropType<(align: MouseEvent) => void>;
    };
    onMouseleave: {
        type: PropType<(align: MouseEvent) => void>;
    };
    onMousedown: {
        type: PropType<(align: MouseEvent) => void>;
    };
    onTouchstart: {
        type: PropType<(align: MouseEvent) => void>;
    };
}>> & Readonly<{}>, {
    mask: boolean;
    visible: boolean;
    forceRender: boolean;
    arrow: boolean;
    destroyPopupOnHide: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
export default _default;
