import type { ExtractPropTypes } from 'vue';
import { dropdownProps } from './props';
export declare type DropdownProps = Partial<ExtractPropTypes<ReturnType<typeof dropdownProps>>>;
declare const Dropdown: import("vue").DefineComponent<{
    arrow: {
        type: import("vue").PropType<boolean | import("./props").DropdownArrowOptions>;
        default: any;
    };
    trigger: {
        type: import("vue").PropType<"click" | "contextmenu" | "hover" | ("click" | "contextmenu" | "hover")[]>;
    };
    overlay: import("vue-types").VueTypeValidableDef<any>;
    visible: import("vue-types").VueTypeValidableDef<boolean>;
    disabled: import("vue-types").VueTypeValidableDef<boolean>;
    align: {
        type: import("vue").PropType<{
            points?: [string, string];
            offset?: [number, number];
            targetOffset?: [number, number];
            overflow?: {
                adjustX?: boolean;
                adjustY?: boolean;
            };
            useCssRight?: boolean;
            useCssBottom?: boolean;
            useCssTransform?: boolean;
        }>;
    };
    getPopupContainer: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
        default: (...args: any[]) => any;
    };
    prefixCls: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    transitionName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    placement: import("vue-types").VueTypeDef<"bottom" | "top" | "bottomLeft" | "bottomRight" | "topLeft" | "topRight" | "topCenter" | "bottomCenter">;
    overlayClassName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    overlayStyle: import("vue-types").VueTypeValidableDef<import("vue").CSSProperties>;
    forceRender: import("vue-types").VueTypeValidableDef<boolean>;
    mouseEnterDelay: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    mouseLeaveDelay: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    openClassName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    minOverlayWidthMatchTrigger: import("vue-types").VueTypeValidableDef<boolean>;
    destroyPopupOnHide: import("vue-types").VueTypeValidableDef<boolean>;
    onVisibleChange: {
        type: import("vue").PropType<(val: boolean) => void>;
    };
    'onUpdate:visible': {
        type: import("vue").PropType<(val: boolean) => void>;
    };
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:visible" | "visibleChange")[], "update:visible" | "visibleChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
    arrow: {
        type: import("vue").PropType<boolean | import("./props").DropdownArrowOptions>;
        default: any;
    };
    trigger: {
        type: import("vue").PropType<"click" | "contextmenu" | "hover" | ("click" | "contextmenu" | "hover")[]>;
    };
    overlay: import("vue-types").VueTypeValidableDef<any>;
    visible: import("vue-types").VueTypeValidableDef<boolean>;
    disabled: import("vue-types").VueTypeValidableDef<boolean>;
    align: {
        type: import("vue").PropType<{
            points?: [string, string];
            offset?: [number, number];
            targetOffset?: [number, number];
            overflow?: {
                adjustX?: boolean;
                adjustY?: boolean;
            };
            useCssRight?: boolean;
            useCssBottom?: boolean;
            useCssTransform?: boolean;
        }>;
    };
    getPopupContainer: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
        default: (...args: any[]) => any;
    };
    prefixCls: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    transitionName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    placement: import("vue-types").VueTypeDef<"bottom" | "top" | "bottomLeft" | "bottomRight" | "topLeft" | "topRight" | "topCenter" | "bottomCenter">;
    overlayClassName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    overlayStyle: import("vue-types").VueTypeValidableDef<import("vue").CSSProperties>;
    forceRender: import("vue-types").VueTypeValidableDef<boolean>;
    mouseEnterDelay: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    mouseLeaveDelay: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    openClassName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    minOverlayWidthMatchTrigger: import("vue-types").VueTypeValidableDef<boolean>;
    destroyPopupOnHide: import("vue-types").VueTypeValidableDef<boolean>;
    onVisibleChange: {
        type: import("vue").PropType<(val: boolean) => void>;
    };
    'onUpdate:visible': {
        type: import("vue").PropType<(val: boolean) => void>;
    };
}>> & {
    "onUpdate:visible"?: (...args: any[]) => any;
    onVisibleChange?: (...args: any[]) => any;
}, {
    prefixCls: string;
    getPopupContainer: (...args: any[]) => any;
    transitionName: string;
    mouseEnterDelay: number;
    mouseLeaveDelay: number;
    overlayClassName: string;
    arrow: any;
    openClassName: string;
}>;
export default Dropdown;
