import { AlignType, StretchType, Point } from '../interface';
import { DefineComponent, ExtractPropTypes, PropType, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
declare const _default: DefineComponent<ExtractPropTypes<{
    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, ("mousedown" | "mouseenter" | "mouseleave" | "touchstart" | "align")[], "mousedown" | "mouseenter" | "mouseleave" | "touchstart" | "align", PublicProps, Readonly< ExtractPropTypes<{
    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<{
    onMousedown?: ((...args: any[]) => any) | undefined;
    onMouseenter?: ((...args: any[]) => any) | undefined;
    onMouseleave?: ((...args: any[]) => any) | undefined;
    onTouchstart?: ((...args: any[]) => any) | undefined;
    onAlign?: ((...args: any[]) => any) | undefined;
}>, {
    visible: boolean;
    forceRender: boolean;
    arrow: boolean;
    destroyPopupOnHide: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
export default _default;
