import type { CSSProperties, ExtractPropTypes, PropType } from 'vue';
import type { MouseEventHandler } from '@antdv/ui/es/types';
import type { Align, DropdownArrowOptions, Trigger } from './interface';
export declare function dropdownProps(): {
    arrow: {
        type: PropType<boolean | DropdownArrowOptions>;
        default: boolean | DropdownArrowOptions;
    };
    trigger: {
        type: PropType<Trigger | Trigger[]>;
    };
    menu: {
        type: PropType<Partial<ExtractPropTypes<{
            id: StringConstructor;
            prefixCls: StringConstructor;
            items: PropType<import("../../menu").ItemType[]>;
            disabled: BooleanConstructor;
            inlineCollapsed: BooleanConstructor;
            disabledOverflow: BooleanConstructor;
            forceSubMenuRender: BooleanConstructor;
            openKeys: PropType<import("@antdv/ui/es/types").Key[]>;
            selectedKeys: PropType<import("@antdv/ui/es/types").Key[]>;
            activeKey: StringConstructor;
            selectable: {
                type: BooleanConstructor;
                default: boolean;
            };
            multiple: {
                type: BooleanConstructor;
                default: boolean;
            };
            tabindex: {
                type: (NumberConstructor | StringConstructor)[];
            };
            motion: PropType<import("@antdv/ui/es/types").CSSMotionProps>;
            role: StringConstructor;
            theme: {
                type: PropType<import("../../menu").MenuTheme>;
                default: string;
            };
            mode: {
                type: PropType<import("../../menu").MenuMode>;
                default: string;
            };
            inlineIndent: {
                type: NumberConstructor;
                default: number;
            };
            subMenuOpenDelay: {
                type: NumberConstructor; /** @deprecated Please use `onOpenChange` instead */
                default: number;
            };
            subMenuCloseDelay: {
                type: NumberConstructor;
                default: number;
            };
            builtinPlacements: {
                type: PropType<import("../../menu").BuiltinPlacements>;
            };
            triggerSubMenuAction: {
                type: PropType<import("../../menu").TriggerSubMenuAction>;
                default: string;
            };
            getPopupContainer: PropType<(node: HTMLElement) => HTMLElement>;
            expandIcon: PropType<(p?: {
                [key: string]: any;
                isOpen: boolean;
            }) => any>;
            onOpenChange: PropType<(keys: import("@antdv/ui/es/types").Key[]) => void>;
            onSelect: PropType<import("../../menu").SelectEventHandler>;
            onDeselect: PropType<import("../../menu").SelectEventHandler>;
            onClick: PropType<import("../../menu").MenuClickEventHandler>;
            onFocus: PropType<import("@antdv/ui/es/types").FocusEventHandler>;
            onBlur: PropType<import("@antdv/ui/es/types").FocusEventHandler>;
            onMousedown: PropType<MouseEventHandler>;
            'onUpdate:openKeys': PropType<(keys: import("@antdv/ui/es/types").Key[]) => void>;
            'onUpdate:selectedKeys': PropType<(keys: import("@antdv/ui/es/types").Key[]) => void>;
            'onUpdate:activeKey': PropType<(key: import("@antdv/ui/es/types").Key) => void>;
        }>>>;
        default: Partial<ExtractPropTypes<{
            id: StringConstructor;
            prefixCls: StringConstructor;
            items: PropType<import("../../menu").ItemType[]>;
            disabled: BooleanConstructor;
            inlineCollapsed: BooleanConstructor;
            disabledOverflow: BooleanConstructor;
            forceSubMenuRender: BooleanConstructor;
            openKeys: PropType<import("@antdv/ui/es/types").Key[]>;
            selectedKeys: PropType<import("@antdv/ui/es/types").Key[]>;
            activeKey: StringConstructor;
            selectable: {
                type: BooleanConstructor;
                default: boolean;
            };
            multiple: {
                type: BooleanConstructor;
                default: boolean;
            };
            tabindex: {
                type: (NumberConstructor | StringConstructor)[];
            };
            motion: PropType<import("@antdv/ui/es/types").CSSMotionProps>;
            role: StringConstructor;
            theme: {
                type: PropType<import("../../menu").MenuTheme>;
                default: string;
            };
            mode: {
                type: PropType<import("../../menu").MenuMode>;
                default: string;
            };
            inlineIndent: {
                type: NumberConstructor;
                default: number;
            };
            subMenuOpenDelay: {
                type: NumberConstructor; /** @deprecated Please use `onOpenChange` instead */
                default: number;
            };
            subMenuCloseDelay: {
                type: NumberConstructor;
                default: number;
            };
            builtinPlacements: {
                type: PropType<import("../../menu").BuiltinPlacements>;
            };
            triggerSubMenuAction: {
                type: PropType<import("../../menu").TriggerSubMenuAction>;
                default: string;
            };
            getPopupContainer: PropType<(node: HTMLElement) => HTMLElement>;
            expandIcon: PropType<(p?: {
                [key: string]: any;
                isOpen: boolean;
            }) => any>;
            onOpenChange: PropType<(keys: import("@antdv/ui/es/types").Key[]) => void>;
            onSelect: PropType<import("../../menu").SelectEventHandler>;
            onDeselect: PropType<import("../../menu").SelectEventHandler>;
            onClick: PropType<import("../../menu").MenuClickEventHandler>;
            onFocus: PropType<import("@antdv/ui/es/types").FocusEventHandler>;
            onBlur: PropType<import("@antdv/ui/es/types").FocusEventHandler>;
            onMousedown: PropType<MouseEventHandler>;
            'onUpdate:openKeys': PropType<(keys: import("@antdv/ui/es/types").Key[]) => void>;
            'onUpdate:selectedKeys': PropType<(keys: import("@antdv/ui/es/types").Key[]) => void>;
            'onUpdate:activeKey': PropType<(key: import("@antdv/ui/es/types").Key) => void>;
        }>>;
    };
    overlay: any;
    /** @deprecated Please use `open` instead */
    visible: {
        type: BooleanConstructor;
        default: boolean;
    };
    open: {
        type: BooleanConstructor;
        default: boolean;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    danger: {
        type: BooleanConstructor;
        default: boolean;
    };
    autofocus: {
        type: BooleanConstructor;
        default: boolean;
    };
    align: {
        type: PropType<Align>;
        default: Align;
    };
    getPopupContainer: PropType<(triggerNode: HTMLElement) => HTMLElement>;
    prefixCls: StringConstructor;
    transitionName: StringConstructor;
    placement: PropType<"bottomLeft" | "bottomRight" | "topLeft" | "topRight" | "bottom" | "top" | "topCenter" | "bottomCenter">;
    overlayClassName: StringConstructor;
    overlayStyle: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    forceRender: {
        type: BooleanConstructor;
        default: boolean;
    };
    mouseEnterDelay: NumberConstructor;
    mouseLeaveDelay: NumberConstructor;
    openClassName: StringConstructor;
    minOverlayWidthMatchTrigger: {
        type: BooleanConstructor;
        default: boolean;
    };
    destroyPopupOnHide: {
        type: BooleanConstructor;
        default: boolean;
    };
    /** @deprecated Please use `onOpenChange` instead */
    onVisibleChange: {
        type: PropType<(val: boolean) => void>;
    };
    /** @deprecated Please use `onUpdate:open` instead */
    'onUpdate:visible': {
        type: PropType<(val: boolean) => void>;
    };
    onOpenChange: {
        type: PropType<(val: boolean) => void>;
    };
    'onUpdate:open': {
        type: PropType<(val: boolean) => void>;
    };
};
export declare function dropdownButtonProps(): {
    type: PropType<import("../../button").ButtonType>;
    size: PropType<"small" | "large">;
    htmlType: {
        type: PropType<import("../../button").ButtonHTMLType>;
        default: string;
    };
    href: StringConstructor;
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    prefixCls: StringConstructor;
    icon: any;
    title: StringConstructor;
    loading: {
        type: PropType<boolean | {
            delay?: number;
        }>; /** @deprecated Please use `open` instead */
        default: () => boolean | {
            delay?: number;
        };
    };
    onClick: {
        type: PropType<MouseEventHandler | MouseEventHandler[]>;
    };
    arrow: {
        type: PropType<boolean | DropdownArrowOptions>;
        default: boolean | DropdownArrowOptions;
    };
    trigger: {
        type: PropType<Trigger | Trigger[]>;
    };
    menu: {
        type: PropType<Partial<ExtractPropTypes<{
            id: StringConstructor;
            prefixCls: StringConstructor;
            items: PropType<import("../../menu").ItemType[]>;
            disabled: BooleanConstructor;
            inlineCollapsed: BooleanConstructor;
            disabledOverflow: BooleanConstructor;
            forceSubMenuRender: BooleanConstructor;
            openKeys: PropType<import("@antdv/ui/es/types").Key[]>;
            selectedKeys: PropType<import("@antdv/ui/es/types").Key[]>;
            activeKey: StringConstructor;
            selectable: {
                type: BooleanConstructor;
                default: boolean;
            };
            multiple: {
                type: BooleanConstructor;
                default: boolean;
            };
            tabindex: {
                type: (NumberConstructor | StringConstructor)[];
            };
            motion: PropType<import("@antdv/ui/es/types").CSSMotionProps>;
            role: StringConstructor;
            theme: {
                type: PropType<import("../../menu").MenuTheme>;
                default: string;
            };
            mode: {
                type: PropType<import("../../menu").MenuMode>;
                default: string;
            };
            inlineIndent: {
                type: NumberConstructor;
                default: number;
            };
            subMenuOpenDelay: {
                type: NumberConstructor; /** @deprecated Please use `onOpenChange` instead */
                default: number;
            };
            subMenuCloseDelay: {
                type: NumberConstructor;
                default: number;
            };
            builtinPlacements: {
                type: PropType<import("../../menu").BuiltinPlacements>;
            };
            triggerSubMenuAction: {
                type: PropType<import("../../menu").TriggerSubMenuAction>;
                default: string;
            };
            getPopupContainer: PropType<(node: HTMLElement) => HTMLElement>;
            expandIcon: PropType<(p?: {
                [key: string]: any;
                isOpen: boolean;
            }) => any>;
            onOpenChange: PropType<(keys: import("@antdv/ui/es/types").Key[]) => void>;
            onSelect: PropType<import("../../menu").SelectEventHandler>;
            onDeselect: PropType<import("../../menu").SelectEventHandler>;
            onClick: PropType<import("../../menu").MenuClickEventHandler>;
            onFocus: PropType<import("@antdv/ui/es/types").FocusEventHandler>;
            onBlur: PropType<import("@antdv/ui/es/types").FocusEventHandler>;
            onMousedown: PropType<MouseEventHandler>;
            'onUpdate:openKeys': PropType<(keys: import("@antdv/ui/es/types").Key[]) => void>;
            'onUpdate:selectedKeys': PropType<(keys: import("@antdv/ui/es/types").Key[]) => void>;
            'onUpdate:activeKey': PropType<(key: import("@antdv/ui/es/types").Key) => void>;
        }>>>;
        default: Partial<ExtractPropTypes<{
            id: StringConstructor;
            prefixCls: StringConstructor;
            items: PropType<import("../../menu").ItemType[]>;
            disabled: BooleanConstructor;
            inlineCollapsed: BooleanConstructor;
            disabledOverflow: BooleanConstructor;
            forceSubMenuRender: BooleanConstructor;
            openKeys: PropType<import("@antdv/ui/es/types").Key[]>;
            selectedKeys: PropType<import("@antdv/ui/es/types").Key[]>;
            activeKey: StringConstructor;
            selectable: {
                type: BooleanConstructor;
                default: boolean;
            };
            multiple: {
                type: BooleanConstructor;
                default: boolean;
            };
            tabindex: {
                type: (NumberConstructor | StringConstructor)[];
            };
            motion: PropType<import("@antdv/ui/es/types").CSSMotionProps>;
            role: StringConstructor;
            theme: {
                type: PropType<import("../../menu").MenuTheme>;
                default: string;
            };
            mode: {
                type: PropType<import("../../menu").MenuMode>;
                default: string;
            };
            inlineIndent: {
                type: NumberConstructor;
                default: number;
            };
            subMenuOpenDelay: {
                type: NumberConstructor; /** @deprecated Please use `onOpenChange` instead */
                default: number;
            };
            subMenuCloseDelay: {
                type: NumberConstructor;
                default: number;
            };
            builtinPlacements: {
                type: PropType<import("../../menu").BuiltinPlacements>;
            };
            triggerSubMenuAction: {
                type: PropType<import("../../menu").TriggerSubMenuAction>;
                default: string;
            };
            getPopupContainer: PropType<(node: HTMLElement) => HTMLElement>;
            expandIcon: PropType<(p?: {
                [key: string]: any;
                isOpen: boolean;
            }) => any>;
            onOpenChange: PropType<(keys: import("@antdv/ui/es/types").Key[]) => void>;
            onSelect: PropType<import("../../menu").SelectEventHandler>;
            onDeselect: PropType<import("../../menu").SelectEventHandler>;
            onClick: PropType<import("../../menu").MenuClickEventHandler>;
            onFocus: PropType<import("@antdv/ui/es/types").FocusEventHandler>;
            onBlur: PropType<import("@antdv/ui/es/types").FocusEventHandler>;
            onMousedown: PropType<MouseEventHandler>;
            'onUpdate:openKeys': PropType<(keys: import("@antdv/ui/es/types").Key[]) => void>;
            'onUpdate:selectedKeys': PropType<(keys: import("@antdv/ui/es/types").Key[]) => void>;
            'onUpdate:activeKey': PropType<(key: import("@antdv/ui/es/types").Key) => void>;
        }>>;
    };
    overlay: any;
    /** @deprecated Please use `open` instead */
    visible: {
        type: BooleanConstructor;
        default: boolean;
    };
    open: {
        type: BooleanConstructor;
        default: boolean;
    };
    danger: {
        type: BooleanConstructor;
        default: boolean;
    };
    autofocus: {
        type: BooleanConstructor;
        default: boolean;
    };
    align: {
        type: PropType<Align>;
        default: Align;
    };
    getPopupContainer: PropType<(triggerNode: HTMLElement) => HTMLElement>;
    transitionName: StringConstructor;
    placement: PropType<"bottomLeft" | "bottomRight" | "topLeft" | "topRight" | "bottom" | "top" | "topCenter" | "bottomCenter">;
    overlayClassName: StringConstructor;
    overlayStyle: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    forceRender: {
        type: BooleanConstructor;
        default: boolean;
    };
    mouseEnterDelay: NumberConstructor;
    mouseLeaveDelay: NumberConstructor;
    openClassName: StringConstructor;
    minOverlayWidthMatchTrigger: {
        type: BooleanConstructor;
        default: boolean;
    };
    destroyPopupOnHide: {
        type: BooleanConstructor;
        default: boolean;
    };
    /** @deprecated Please use `onOpenChange` instead */
    onVisibleChange: {
        type: PropType<(val: boolean) => void>;
    };
    /** @deprecated Please use `onUpdate:open` instead */
    'onUpdate:visible': {
        type: PropType<(val: boolean) => void>;
    };
    onOpenChange: {
        type: PropType<(val: boolean) => void>;
    };
    'onUpdate:open': {
        type: PropType<(val: boolean) => void>;
    };
};
export declare function innerDropdownProps(): {
    minOverlayWidthMatchTrigger: {
        type: BooleanConstructor;
        default: any;
    };
    arrow: {
        type: BooleanConstructor;
        default: boolean;
    };
    prefixCls: any;
    transitionName: StringConstructor;
    overlayClassName: any;
    openClassName: StringConstructor;
    animation: any;
    align: any;
    overlayStyle: {
        type: PropType<CSSProperties>;
        default: () => CSSProperties;
    };
    placement: any;
    overlay: any;
    trigger: any;
    alignPoint: {
        type: BooleanConstructor;
        default: any;
    };
    showAction: any;
    hideAction: any;
    getPopupContainer: FunctionConstructor;
    visible: {
        type: BooleanConstructor;
        default: any;
    };
    defaultVisible: {
        type: BooleanConstructor;
        default: boolean;
    };
    mouseEnterDelay: any;
    mouseLeaveDelay: any;
};
export type DropdownProps = Partial<ExtractPropTypes<ReturnType<typeof dropdownProps>>>;
export type DropdownButtonProps = Partial<ExtractPropTypes<ReturnType<typeof dropdownButtonProps>>>;
