import type { App, Plugin } from 'vue';
import AMenuItem from './src/MenuItem';
import ASubMenu from './src/SubMenu';
import AItemGroup from './src/ItemGroup';
import ADivider from './src/Divider';
export declare const Submenu: import("vue").DefineComponent<{
    icon: any;
    title: any;
    disabled: BooleanConstructor;
    level: NumberConstructor;
    popupClassName: StringConstructor;
    popupOffset: import("vue").PropType<[number, number]>;
    internalPopupClose: BooleanConstructor;
    eventKey: StringConstructor;
    expandIcon: import("vue").PropType<(p?: {
        [key: string]: any;
        isOpen: boolean;
    }) => any>;
    theme: import("vue").PropType<import("./src/interface").MenuTheme>;
    onMouseenter: import("vue").PropType<import("../..").MouseEventHandler>;
    onMouseleave: import("vue").PropType<import("../..").MouseEventHandler>;
    onTitleClick: import("vue").PropType<(e: MouseEvent, key: import("../..").Key) => void>;
    originItemValue: {
        type: import("vue").PropType<import("./src/interface").ItemType>;
        default: import("./src/interface").ItemType;
    };
}, () => any, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    icon: any;
    title: any;
    disabled: BooleanConstructor;
    level: NumberConstructor;
    popupClassName: StringConstructor;
    popupOffset: import("vue").PropType<[number, number]>;
    internalPopupClose: BooleanConstructor;
    eventKey: StringConstructor;
    expandIcon: import("vue").PropType<(p?: {
        [key: string]: any;
        isOpen: boolean;
    }) => any>;
    theme: import("vue").PropType<import("./src/interface").MenuTheme>;
    onMouseenter: import("vue").PropType<import("../..").MouseEventHandler>;
    onMouseleave: import("vue").PropType<import("../..").MouseEventHandler>;
    onTitleClick: import("vue").PropType<(e: MouseEvent, key: import("../..").Key) => void>;
    originItemValue: {
        type: import("vue").PropType<import("./src/interface").ItemType>;
        default: import("./src/interface").ItemType;
    };
}>>, {
    disabled: boolean;
    icon: any;
    title: any;
    internalPopupClose: boolean;
    originItemValue: import("./src/interface").ItemType;
}, import("../..").CustomSlotsType<{
    icon?: any;
    title?: any;
    expandIcon?: {
        [key: string]: any;
        isOpen: boolean;
    };
    default?: any;
}>>;
export declare const Menu: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: {
            mode?: import("./src/interface").MenuMode;
            disabled?: boolean;
            multiple?: boolean;
            theme?: import("./src/interface").MenuTheme;
            inlineCollapsed?: boolean;
            disabledOverflow?: boolean;
            forceSubMenuRender?: boolean;
            selectable?: boolean;
            inlineIndent?: number;
            subMenuOpenDelay?: number;
            subMenuCloseDelay?: number;
            triggerSubMenuAction?: import("./src/interface").TriggerSubMenuAction;
            key?: string | number | symbol;
            readonly items?: import("./src/interface").ItemType[];
            readonly id?: string;
            style?: unknown;
            ref?: import("vue").VNodeRef;
            ref_for?: boolean;
            ref_key?: string;
            onVnodeBeforeMount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeMounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeBeforeUpdate?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeUpdated?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeBeforeUnmount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeUnmounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            class?: unknown;
            readonly motion?: unknown;
            readonly prefixCls?: string;
            readonly onClick?: import("./src/interface").MenuClickEventHandler;
            readonly onSelect?: import("./src/interface").SelectEventHandler;
            readonly onDeselect?: import("./src/interface").SelectEventHandler;
            readonly tabindex?: string | number;
            readonly getPopupContainer?: (node: HTMLElement) => HTMLElement;
            readonly onBlur?: import("../..").FocusEventHandler;
            readonly onFocus?: import("../..").FocusEventHandler;
            readonly onMousedown?: import("../..").MouseEventHandler;
            readonly openKeys?: import("../..").Key[];
            readonly selectedKeys?: import("../..").Key[];
            readonly activeKey?: string;
            readonly role?: string;
            readonly builtinPlacements?: unknown;
            readonly expandIcon?: (p?: {
                [key: string]: any;
                isOpen: boolean;
            }) => any;
            readonly onOpenChange?: (keys: import("../..").Key[]) => void;
            readonly 'onUpdate:openKeys'?: (keys: import("../..").Key[]) => void;
            readonly 'onUpdate:selectedKeys'?: (keys: import("../..").Key[]) => void;
            readonly 'onUpdate:activeKey'?: (key: import("../..").Key) => void;
        };
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            expandIcon?: import("vue").Slot<{
                [key: string]: any;
                isOpen: boolean;
            }>;
            overflowedIndicator?: any;
            default: any;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>;
        $emit: (event: string, ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            id: StringConstructor;
            prefixCls: StringConstructor;
            items: import("vue").PropType<import("./src/interface").ItemType[]>;
            disabled: BooleanConstructor;
            inlineCollapsed: BooleanConstructor;
            disabledOverflow: BooleanConstructor;
            forceSubMenuRender: BooleanConstructor;
            openKeys: import("vue").PropType<import("../..").Key[]>;
            selectedKeys: import("vue").PropType<import("../..").Key[]>;
            activeKey: StringConstructor;
            selectable: {
                type: BooleanConstructor;
                default: boolean;
            };
            multiple: {
                type: BooleanConstructor;
                default: boolean;
            };
            tabindex: {
                type: (NumberConstructor | StringConstructor)[];
            };
            motion: import("vue").PropType<import("../..").CSSMotionProps>;
            role: StringConstructor;
            theme: {
                type: import("vue").PropType<import("./src/interface").MenuTheme>;
                default: string;
            };
            mode: {
                type: import("vue").PropType<import("./src/interface").MenuMode>;
                default: string;
            };
            inlineIndent: {
                type: NumberConstructor;
                default: number;
            };
            subMenuOpenDelay: {
                type: NumberConstructor;
                default: number;
            };
            subMenuCloseDelay: {
                type: NumberConstructor;
                default: number;
            };
            builtinPlacements: {
                type: import("vue").PropType<import("./src/interface").BuiltinPlacements>;
            };
            triggerSubMenuAction: {
                type: import("vue").PropType<import("./src/interface").TriggerSubMenuAction>;
                default: string;
            };
            getPopupContainer: import("vue").PropType<(node: HTMLElement) => HTMLElement>;
            expandIcon: import("vue").PropType<(p?: {
                [key: string]: any;
                isOpen: boolean;
            }) => any>;
            onOpenChange: import("vue").PropType<(keys: import("../..").Key[]) => void>;
            onSelect: import("vue").PropType<import("./src/interface").SelectEventHandler>;
            onDeselect: import("vue").PropType<import("./src/interface").SelectEventHandler>;
            onClick: import("vue").PropType<import("./src/interface").MenuClickEventHandler>;
            onFocus: import("vue").PropType<import("../..").FocusEventHandler>;
            onBlur: import("vue").PropType<import("../..").FocusEventHandler>;
            onMousedown: import("vue").PropType<import("../..").MouseEventHandler>;
            'onUpdate:openKeys': import("vue").PropType<(keys: import("../..").Key[]) => void>;
            'onUpdate:selectedKeys': import("vue").PropType<(keys: import("../..").Key[]) => void>;
            'onUpdate:activeKey': import("vue").PropType<(key: import("../..").Key) => void>;
        }>>, () => import("../..").VueNode, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
            mode: import("./src/interface").MenuMode;
            disabled: boolean;
            multiple: boolean;
            theme: import("./src/interface").MenuTheme;
            inlineCollapsed: boolean;
            disabledOverflow: boolean;
            forceSubMenuRender: boolean;
            selectable: boolean;
            inlineIndent: number;
            subMenuOpenDelay: number;
            subMenuCloseDelay: number;
            triggerSubMenuAction: import("./src/interface").TriggerSubMenuAction;
        }, {}, string, import("../..").CustomSlotsType<{
            expandIcon?: {
                [key: string]: any;
                isOpen: boolean;
            };
            overflowedIndicator?: any;
            default: any;
        }>> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
    } & Readonly<import("vue").ExtractPropTypes<{
        id: StringConstructor;
        prefixCls: StringConstructor;
        items: import("vue").PropType<import("./src/interface").ItemType[]>;
        disabled: BooleanConstructor;
        inlineCollapsed: BooleanConstructor;
        disabledOverflow: BooleanConstructor;
        forceSubMenuRender: BooleanConstructor;
        openKeys: import("vue").PropType<import("../..").Key[]>;
        selectedKeys: import("vue").PropType<import("../..").Key[]>;
        activeKey: StringConstructor;
        selectable: {
            type: BooleanConstructor;
            default: boolean;
        };
        multiple: {
            type: BooleanConstructor;
            default: boolean;
        };
        tabindex: {
            type: (NumberConstructor | StringConstructor)[];
        };
        motion: import("vue").PropType<import("../..").CSSMotionProps>;
        role: StringConstructor;
        theme: {
            type: import("vue").PropType<import("./src/interface").MenuTheme>;
            default: string;
        };
        mode: {
            type: import("vue").PropType<import("./src/interface").MenuMode>;
            default: string;
        };
        inlineIndent: {
            type: NumberConstructor;
            default: number;
        };
        subMenuOpenDelay: {
            type: NumberConstructor;
            default: number;
        };
        subMenuCloseDelay: {
            type: NumberConstructor;
            default: number;
        };
        builtinPlacements: {
            type: import("vue").PropType<import("./src/interface").BuiltinPlacements>;
        };
        triggerSubMenuAction: {
            type: import("vue").PropType<import("./src/interface").TriggerSubMenuAction>;
            default: string;
        };
        getPopupContainer: import("vue").PropType<(node: HTMLElement) => HTMLElement>;
        expandIcon: import("vue").PropType<(p?: {
            [key: string]: any;
            isOpen: boolean;
        }) => any>;
        onOpenChange: import("vue").PropType<(keys: import("../..").Key[]) => void>;
        onSelect: import("vue").PropType<import("./src/interface").SelectEventHandler>;
        onDeselect: import("vue").PropType<import("./src/interface").SelectEventHandler>;
        onClick: import("vue").PropType<import("./src/interface").MenuClickEventHandler>;
        onFocus: import("vue").PropType<import("../..").FocusEventHandler>;
        onBlur: import("vue").PropType<import("../..").FocusEventHandler>;
        onMousedown: import("vue").PropType<import("../..").MouseEventHandler>;
        'onUpdate:openKeys': import("vue").PropType<(keys: import("../..").Key[]) => void>;
        'onUpdate:selectedKeys': import("vue").PropType<(keys: import("../..").Key[]) => void>;
        'onUpdate:activeKey': import("vue").PropType<(key: import("../..").Key) => void>;
    }>> & import("vue").ShallowUnwrapRef<() => import("../..").VueNode> & {} & import("vue").ComponentCustomProperties & {};
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    id: StringConstructor;
    prefixCls: StringConstructor;
    items: import("vue").PropType<import("./src/interface").ItemType[]>;
    disabled: BooleanConstructor;
    inlineCollapsed: BooleanConstructor;
    disabledOverflow: BooleanConstructor;
    forceSubMenuRender: BooleanConstructor;
    openKeys: import("vue").PropType<import("../..").Key[]>;
    selectedKeys: import("vue").PropType<import("../..").Key[]>;
    activeKey: StringConstructor;
    selectable: {
        type: BooleanConstructor;
        default: boolean;
    };
    multiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    tabindex: {
        type: (NumberConstructor | StringConstructor)[];
    };
    motion: import("vue").PropType<import("../..").CSSMotionProps>;
    role: StringConstructor;
    theme: {
        type: import("vue").PropType<import("./src/interface").MenuTheme>;
        default: string;
    };
    mode: {
        type: import("vue").PropType<import("./src/interface").MenuMode>;
        default: string;
    };
    inlineIndent: {
        type: NumberConstructor;
        default: number;
    };
    subMenuOpenDelay: {
        type: NumberConstructor;
        default: number;
    };
    subMenuCloseDelay: {
        type: NumberConstructor;
        default: number;
    };
    builtinPlacements: {
        type: import("vue").PropType<import("./src/interface").BuiltinPlacements>;
    };
    triggerSubMenuAction: {
        type: import("vue").PropType<import("./src/interface").TriggerSubMenuAction>;
        default: string;
    };
    getPopupContainer: import("vue").PropType<(node: HTMLElement) => HTMLElement>;
    expandIcon: import("vue").PropType<(p?: {
        [key: string]: any;
        isOpen: boolean;
    }) => any>;
    onOpenChange: import("vue").PropType<(keys: import("../..").Key[]) => void>;
    onSelect: import("vue").PropType<import("./src/interface").SelectEventHandler>;
    onDeselect: import("vue").PropType<import("./src/interface").SelectEventHandler>;
    onClick: import("vue").PropType<import("./src/interface").MenuClickEventHandler>;
    onFocus: import("vue").PropType<import("../..").FocusEventHandler>;
    onBlur: import("vue").PropType<import("../..").FocusEventHandler>;
    onMousedown: import("vue").PropType<import("../..").MouseEventHandler>;
    'onUpdate:openKeys': import("vue").PropType<(keys: import("../..").Key[]) => void>;
    'onUpdate:selectedKeys': import("vue").PropType<(keys: import("../..").Key[]) => void>;
    'onUpdate:activeKey': import("vue").PropType<(key: import("../..").Key) => void>;
}>>, () => import("../..").VueNode, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    mode: import("./src/interface").MenuMode;
    disabled: boolean;
    multiple: boolean;
    theme: import("./src/interface").MenuTheme;
    inlineCollapsed: boolean;
    disabledOverflow: boolean;
    forceSubMenuRender: boolean;
    selectable: boolean;
    inlineIndent: number;
    subMenuOpenDelay: number;
    subMenuCloseDelay: number;
    triggerSubMenuAction: import("./src/interface").TriggerSubMenuAction;
}, {}, string, import("../..").CustomSlotsType<{
    expandIcon?: {
        [key: string]: any;
        isOpen: boolean;
    };
    overflowedIndicator?: any;
    default: any;
}>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
    Item: import("vue").DefineComponent<{
        id: StringConstructor;
        role: StringConstructor;
        disabled: BooleanConstructor;
        danger: BooleanConstructor;
        title: {
            type: (BooleanConstructor | StringConstructor)[];
            default: any;
        };
        icon: any;
        onMouseenter: import("vue").PropType<import("../..").MouseEventHandler>;
        onMouseleave: import("vue").PropType<import("../..").MouseEventHandler>;
        onClick: import("vue").PropType<import("../..").MouseEventHandler>;
        onKeydown: import("vue").PropType<import("../..").MouseEventHandler>;
        onFocus: import("vue").PropType<import("../..").MouseEventHandler>;
        originItemValue: {
            type: import("vue").PropType<import("./src/interface").ItemType>;
            default: import("./src/interface").ItemType;
        };
    }, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
        id: StringConstructor;
        role: StringConstructor;
        disabled: BooleanConstructor;
        danger: BooleanConstructor;
        title: {
            type: (BooleanConstructor | StringConstructor)[];
            default: any;
        };
        icon: any;
        onMouseenter: import("vue").PropType<import("../..").MouseEventHandler>;
        onMouseleave: import("vue").PropType<import("../..").MouseEventHandler>;
        onClick: import("vue").PropType<import("../..").MouseEventHandler>;
        onKeydown: import("vue").PropType<import("../..").MouseEventHandler>;
        onFocus: import("vue").PropType<import("../..").MouseEventHandler>;
        originItemValue: {
            type: import("vue").PropType<import("./src/interface").ItemType>;
            default: import("./src/interface").ItemType;
        };
    }>>, {
        disabled: boolean;
        icon: any;
        title: string | boolean;
        danger: boolean;
        originItemValue: import("./src/interface").ItemType;
    }, import("../..").CustomSlotsType<{
        icon?: any;
        title?: any;
        default?: any;
    }>>;
    SubMenu: import("vue").DefineComponent<{
        icon: any;
        title: any;
        disabled: BooleanConstructor;
        level: NumberConstructor;
        popupClassName: StringConstructor;
        popupOffset: import("vue").PropType<[number, number]>;
        internalPopupClose: BooleanConstructor;
        eventKey: StringConstructor;
        expandIcon: import("vue").PropType<(p?: {
            [key: string]: any;
            isOpen: boolean;
        }) => any>;
        theme: import("vue").PropType<import("./src/interface").MenuTheme>;
        onMouseenter: import("vue").PropType<import("../..").MouseEventHandler>;
        onMouseleave: import("vue").PropType<import("../..").MouseEventHandler>;
        onTitleClick: import("vue").PropType<(e: MouseEvent, key: import("../..").Key) => void>;
        originItemValue: {
            type: import("vue").PropType<import("./src/interface").ItemType>;
            default: import("./src/interface").ItemType;
        };
    }, () => any, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
        icon: any;
        title: any;
        disabled: BooleanConstructor;
        level: NumberConstructor;
        popupClassName: StringConstructor;
        popupOffset: import("vue").PropType<[number, number]>;
        internalPopupClose: BooleanConstructor;
        eventKey: StringConstructor;
        expandIcon: import("vue").PropType<(p?: {
            [key: string]: any;
            isOpen: boolean;
        }) => any>;
        theme: import("vue").PropType<import("./src/interface").MenuTheme>;
        onMouseenter: import("vue").PropType<import("../..").MouseEventHandler>;
        onMouseleave: import("vue").PropType<import("../..").MouseEventHandler>;
        onTitleClick: import("vue").PropType<(e: MouseEvent, key: import("../..").Key) => void>;
        originItemValue: {
            type: import("vue").PropType<import("./src/interface").ItemType>;
            default: import("./src/interface").ItemType;
        };
    }>>, {
        disabled: boolean;
        icon: any;
        title: any;
        internalPopupClose: boolean;
        originItemValue: import("./src/interface").ItemType;
    }, import("../..").CustomSlotsType<{
        icon?: any;
        title?: any;
        expandIcon?: {
            [key: string]: any;
            isOpen: boolean;
        };
        default?: any;
    }>>;
    Divider: import("vue").DefineComponent<{
        prefixCls: StringConstructor;
        dashed: BooleanConstructor;
    }, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
        prefixCls: StringConstructor;
        dashed: BooleanConstructor;
    }>>, {
        dashed: boolean;
    }, {}>;
    ItemGroup: import("vue").DefineComponent<{
        title: any;
        originItemValue: {
            type: import("vue").PropType<import("./src/interface").ItemType>;
            default: import("./src/interface").ItemType;
        };
    }, () => any, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
        title: any;
        originItemValue: {
            type: import("vue").PropType<import("./src/interface").ItemType>;
            default: import("./src/interface").ItemType;
        };
    }>>, {
        title: any;
        originItemValue: import("./src/interface").ItemType;
    }, import("../..").CustomSlotsType<{
        title?: any;
        default?: any;
    }>>;
    install(app: App): App<any>;
};
export declare const MenuItem: import("vue").DefineComponent<{
    id: StringConstructor;
    role: StringConstructor;
    disabled: BooleanConstructor;
    danger: BooleanConstructor;
    title: {
        type: (BooleanConstructor | StringConstructor)[];
        default: any;
    };
    icon: any;
    onMouseenter: import("vue").PropType<import("../..").MouseEventHandler>;
    onMouseleave: import("vue").PropType<import("../..").MouseEventHandler>;
    onClick: import("vue").PropType<import("../..").MouseEventHandler>;
    onKeydown: import("vue").PropType<import("../..").MouseEventHandler>;
    onFocus: import("vue").PropType<import("../..").MouseEventHandler>;
    originItemValue: {
        type: import("vue").PropType<import("./src/interface").ItemType>;
        default: import("./src/interface").ItemType;
    };
}, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    id: StringConstructor;
    role: StringConstructor;
    disabled: BooleanConstructor;
    danger: BooleanConstructor;
    title: {
        type: (BooleanConstructor | StringConstructor)[];
        default: any;
    };
    icon: any;
    onMouseenter: import("vue").PropType<import("../..").MouseEventHandler>;
    onMouseleave: import("vue").PropType<import("../..").MouseEventHandler>;
    onClick: import("vue").PropType<import("../..").MouseEventHandler>;
    onKeydown: import("vue").PropType<import("../..").MouseEventHandler>;
    onFocus: import("vue").PropType<import("../..").MouseEventHandler>;
    originItemValue: {
        type: import("vue").PropType<import("./src/interface").ItemType>;
        default: import("./src/interface").ItemType;
    };
}>>, {
    disabled: boolean;
    icon: any;
    title: string | boolean;
    danger: boolean;
    originItemValue: import("./src/interface").ItemType;
}, import("../..").CustomSlotsType<{
    icon?: any;
    title?: any;
    default?: any;
}>>;
export declare const SubMenu: import("vue").DefineComponent<{
    icon: any;
    title: any;
    disabled: BooleanConstructor;
    level: NumberConstructor;
    popupClassName: StringConstructor;
    popupOffset: import("vue").PropType<[number, number]>;
    internalPopupClose: BooleanConstructor;
    eventKey: StringConstructor;
    expandIcon: import("vue").PropType<(p?: {
        [key: string]: any;
        isOpen: boolean;
    }) => any>;
    theme: import("vue").PropType<import("./src/interface").MenuTheme>;
    onMouseenter: import("vue").PropType<import("../..").MouseEventHandler>;
    onMouseleave: import("vue").PropType<import("../..").MouseEventHandler>;
    onTitleClick: import("vue").PropType<(e: MouseEvent, key: import("../..").Key) => void>;
    originItemValue: {
        type: import("vue").PropType<import("./src/interface").ItemType>;
        default: import("./src/interface").ItemType;
    };
}, () => any, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    icon: any;
    title: any;
    disabled: BooleanConstructor;
    level: NumberConstructor;
    popupClassName: StringConstructor;
    popupOffset: import("vue").PropType<[number, number]>;
    internalPopupClose: BooleanConstructor;
    eventKey: StringConstructor;
    expandIcon: import("vue").PropType<(p?: {
        [key: string]: any;
        isOpen: boolean;
    }) => any>;
    theme: import("vue").PropType<import("./src/interface").MenuTheme>;
    onMouseenter: import("vue").PropType<import("../..").MouseEventHandler>;
    onMouseleave: import("vue").PropType<import("../..").MouseEventHandler>;
    onTitleClick: import("vue").PropType<(e: MouseEvent, key: import("../..").Key) => void>;
    originItemValue: {
        type: import("vue").PropType<import("./src/interface").ItemType>;
        default: import("./src/interface").ItemType;
    };
}>>, {
    disabled: boolean;
    icon: any;
    title: any;
    internalPopupClose: boolean;
    originItemValue: import("./src/interface").ItemType;
}, import("../..").CustomSlotsType<{
    icon?: any;
    title?: any;
    expandIcon?: {
        [key: string]: any;
        isOpen: boolean;
    };
    default?: any;
}>>;
export declare const MenuDivider: import("vue").DefineComponent<{
    prefixCls: StringConstructor;
    dashed: BooleanConstructor;
}, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    prefixCls: StringConstructor;
    dashed: BooleanConstructor;
}>>, {
    dashed: boolean;
}, {}>;
export declare const MenuItemGroup: import("vue").DefineComponent<{
    title: any;
    originItemValue: {
        type: import("vue").PropType<import("./src/interface").ItemType>;
        default: import("./src/interface").ItemType;
    };
}, () => any, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    title: any;
    originItemValue: {
        type: import("vue").PropType<import("./src/interface").ItemType>;
        default: import("./src/interface").ItemType;
    };
}>>, {
    title: any;
    originItemValue: import("./src/interface").ItemType;
}, import("../..").CustomSlotsType<{
    title?: any;
    default?: any;
}>>;
export declare const Item: import("vue").DefineComponent<{
    id: StringConstructor;
    role: StringConstructor;
    disabled: BooleanConstructor;
    danger: BooleanConstructor;
    title: {
        type: (BooleanConstructor | StringConstructor)[];
        default: any;
    };
    icon: any;
    onMouseenter: import("vue").PropType<import("../..").MouseEventHandler>;
    onMouseleave: import("vue").PropType<import("../..").MouseEventHandler>;
    onClick: import("vue").PropType<import("../..").MouseEventHandler>;
    onKeydown: import("vue").PropType<import("../..").MouseEventHandler>;
    onFocus: import("vue").PropType<import("../..").MouseEventHandler>;
    originItemValue: {
        type: import("vue").PropType<import("./src/interface").ItemType>;
        default: import("./src/interface").ItemType;
    };
}, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    id: StringConstructor;
    role: StringConstructor;
    disabled: BooleanConstructor;
    danger: BooleanConstructor;
    title: {
        type: (BooleanConstructor | StringConstructor)[];
        default: any;
    };
    icon: any;
    onMouseenter: import("vue").PropType<import("../..").MouseEventHandler>;
    onMouseleave: import("vue").PropType<import("../..").MouseEventHandler>;
    onClick: import("vue").PropType<import("../..").MouseEventHandler>;
    onKeydown: import("vue").PropType<import("../..").MouseEventHandler>;
    onFocus: import("vue").PropType<import("../..").MouseEventHandler>;
    originItemValue: {
        type: import("vue").PropType<import("./src/interface").ItemType>;
        default: import("./src/interface").ItemType;
    };
}>>, {
    disabled: boolean;
    icon: any;
    title: string | boolean;
    danger: boolean;
    originItemValue: import("./src/interface").ItemType;
}, import("../..").CustomSlotsType<{
    icon?: any;
    title?: any;
    default?: any;
}>>;
export declare const ItemGroup: import("vue").DefineComponent<{
    title: any;
    originItemValue: {
        type: import("vue").PropType<import("./src/interface").ItemType>;
        default: import("./src/interface").ItemType;
    };
}, () => any, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    title: any;
    originItemValue: {
        type: import("vue").PropType<import("./src/interface").ItemType>;
        default: import("./src/interface").ItemType;
    };
}>>, {
    title: any;
    originItemValue: import("./src/interface").ItemType;
}, import("../..").CustomSlotsType<{
    title?: any;
    default?: any;
}>>;
declare const _default: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: {
            mode?: import("./src/interface").MenuMode;
            disabled?: boolean;
            multiple?: boolean;
            theme?: import("./src/interface").MenuTheme;
            inlineCollapsed?: boolean;
            disabledOverflow?: boolean;
            forceSubMenuRender?: boolean;
            selectable?: boolean;
            inlineIndent?: number;
            subMenuOpenDelay?: number;
            subMenuCloseDelay?: number;
            triggerSubMenuAction?: import("./src/interface").TriggerSubMenuAction;
            key?: string | number | symbol;
            readonly items?: import("./src/interface").ItemType[];
            readonly id?: string;
            style?: unknown;
            ref?: import("vue").VNodeRef;
            ref_for?: boolean;
            ref_key?: string;
            onVnodeBeforeMount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeMounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeBeforeUpdate?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeUpdated?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeBeforeUnmount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeUnmounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            class?: unknown;
            readonly motion?: unknown;
            readonly prefixCls?: string;
            readonly onClick?: import("./src/interface").MenuClickEventHandler;
            readonly onSelect?: import("./src/interface").SelectEventHandler;
            readonly onDeselect?: import("./src/interface").SelectEventHandler;
            readonly tabindex?: string | number;
            readonly getPopupContainer?: (node: HTMLElement) => HTMLElement;
            readonly onBlur?: import("../..").FocusEventHandler;
            readonly onFocus?: import("../..").FocusEventHandler;
            readonly onMousedown?: import("../..").MouseEventHandler;
            readonly openKeys?: import("../..").Key[];
            readonly selectedKeys?: import("../..").Key[];
            readonly activeKey?: string;
            readonly role?: string;
            readonly builtinPlacements?: unknown;
            readonly expandIcon?: (p?: {
                [key: string]: any;
                isOpen: boolean;
            }) => any;
            readonly onOpenChange?: (keys: import("../..").Key[]) => void;
            readonly 'onUpdate:openKeys'?: (keys: import("../..").Key[]) => void;
            readonly 'onUpdate:selectedKeys'?: (keys: import("../..").Key[]) => void;
            readonly 'onUpdate:activeKey'?: (key: import("../..").Key) => void;
        };
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            expandIcon?: import("vue").Slot<{
                [key: string]: any;
                isOpen: boolean;
            }>;
            overflowedIndicator?: any;
            default: any;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>;
        $emit: (event: string, ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            id: StringConstructor;
            prefixCls: StringConstructor;
            items: import("vue").PropType<import("./src/interface").ItemType[]>;
            disabled: BooleanConstructor;
            inlineCollapsed: BooleanConstructor;
            disabledOverflow: BooleanConstructor;
            forceSubMenuRender: BooleanConstructor;
            openKeys: import("vue").PropType<import("../..").Key[]>;
            selectedKeys: import("vue").PropType<import("../..").Key[]>;
            activeKey: StringConstructor;
            selectable: {
                type: BooleanConstructor;
                default: boolean;
            };
            multiple: {
                type: BooleanConstructor;
                default: boolean;
            };
            tabindex: {
                type: (NumberConstructor | StringConstructor)[];
            };
            motion: import("vue").PropType<import("../..").CSSMotionProps>;
            role: StringConstructor;
            theme: {
                type: import("vue").PropType<import("./src/interface").MenuTheme>;
                default: string;
            };
            mode: {
                type: import("vue").PropType<import("./src/interface").MenuMode>;
                default: string;
            };
            inlineIndent: {
                type: NumberConstructor;
                default: number;
            };
            subMenuOpenDelay: {
                type: NumberConstructor;
                default: number;
            };
            subMenuCloseDelay: {
                type: NumberConstructor;
                default: number;
            };
            builtinPlacements: {
                type: import("vue").PropType<import("./src/interface").BuiltinPlacements>;
            };
            triggerSubMenuAction: {
                type: import("vue").PropType<import("./src/interface").TriggerSubMenuAction>;
                default: string;
            };
            getPopupContainer: import("vue").PropType<(node: HTMLElement) => HTMLElement>;
            expandIcon: import("vue").PropType<(p?: {
                [key: string]: any;
                isOpen: boolean;
            }) => any>;
            onOpenChange: import("vue").PropType<(keys: import("../..").Key[]) => void>;
            onSelect: import("vue").PropType<import("./src/interface").SelectEventHandler>;
            onDeselect: import("vue").PropType<import("./src/interface").SelectEventHandler>;
            onClick: import("vue").PropType<import("./src/interface").MenuClickEventHandler>;
            onFocus: import("vue").PropType<import("../..").FocusEventHandler>;
            onBlur: import("vue").PropType<import("../..").FocusEventHandler>;
            onMousedown: import("vue").PropType<import("../..").MouseEventHandler>;
            'onUpdate:openKeys': import("vue").PropType<(keys: import("../..").Key[]) => void>;
            'onUpdate:selectedKeys': import("vue").PropType<(keys: import("../..").Key[]) => void>;
            'onUpdate:activeKey': import("vue").PropType<(key: import("../..").Key) => void>;
        }>>, () => import("../..").VueNode, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
            mode: import("./src/interface").MenuMode;
            disabled: boolean;
            multiple: boolean;
            theme: import("./src/interface").MenuTheme;
            inlineCollapsed: boolean;
            disabledOverflow: boolean;
            forceSubMenuRender: boolean;
            selectable: boolean;
            inlineIndent: number;
            subMenuOpenDelay: number;
            subMenuCloseDelay: number;
            triggerSubMenuAction: import("./src/interface").TriggerSubMenuAction;
        }, {}, string, import("../..").CustomSlotsType<{
            expandIcon?: {
                [key: string]: any;
                isOpen: boolean;
            };
            overflowedIndicator?: any;
            default: any;
        }>> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
    } & Readonly<import("vue").ExtractPropTypes<{
        id: StringConstructor;
        prefixCls: StringConstructor;
        items: import("vue").PropType<import("./src/interface").ItemType[]>;
        disabled: BooleanConstructor;
        inlineCollapsed: BooleanConstructor;
        disabledOverflow: BooleanConstructor;
        forceSubMenuRender: BooleanConstructor;
        openKeys: import("vue").PropType<import("../..").Key[]>;
        selectedKeys: import("vue").PropType<import("../..").Key[]>;
        activeKey: StringConstructor;
        selectable: {
            type: BooleanConstructor;
            default: boolean;
        };
        multiple: {
            type: BooleanConstructor;
            default: boolean;
        };
        tabindex: {
            type: (NumberConstructor | StringConstructor)[];
        };
        motion: import("vue").PropType<import("../..").CSSMotionProps>;
        role: StringConstructor;
        theme: {
            type: import("vue").PropType<import("./src/interface").MenuTheme>;
            default: string;
        };
        mode: {
            type: import("vue").PropType<import("./src/interface").MenuMode>;
            default: string;
        };
        inlineIndent: {
            type: NumberConstructor;
            default: number;
        };
        subMenuOpenDelay: {
            type: NumberConstructor;
            default: number;
        };
        subMenuCloseDelay: {
            type: NumberConstructor;
            default: number;
        };
        builtinPlacements: {
            type: import("vue").PropType<import("./src/interface").BuiltinPlacements>;
        };
        triggerSubMenuAction: {
            type: import("vue").PropType<import("./src/interface").TriggerSubMenuAction>;
            default: string;
        };
        getPopupContainer: import("vue").PropType<(node: HTMLElement) => HTMLElement>;
        expandIcon: import("vue").PropType<(p?: {
            [key: string]: any;
            isOpen: boolean;
        }) => any>;
        onOpenChange: import("vue").PropType<(keys: import("../..").Key[]) => void>;
        onSelect: import("vue").PropType<import("./src/interface").SelectEventHandler>;
        onDeselect: import("vue").PropType<import("./src/interface").SelectEventHandler>;
        onClick: import("vue").PropType<import("./src/interface").MenuClickEventHandler>;
        onFocus: import("vue").PropType<import("../..").FocusEventHandler>;
        onBlur: import("vue").PropType<import("../..").FocusEventHandler>;
        onMousedown: import("vue").PropType<import("../..").MouseEventHandler>;
        'onUpdate:openKeys': import("vue").PropType<(keys: import("../..").Key[]) => void>;
        'onUpdate:selectedKeys': import("vue").PropType<(keys: import("../..").Key[]) => void>;
        'onUpdate:activeKey': import("vue").PropType<(key: import("../..").Key) => void>;
    }>> & import("vue").ShallowUnwrapRef<() => import("../..").VueNode> & {} & import("vue").ComponentCustomProperties & {};
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    id: StringConstructor;
    prefixCls: StringConstructor;
    items: import("vue").PropType<import("./src/interface").ItemType[]>;
    disabled: BooleanConstructor;
    inlineCollapsed: BooleanConstructor;
    disabledOverflow: BooleanConstructor;
    forceSubMenuRender: BooleanConstructor;
    openKeys: import("vue").PropType<import("../..").Key[]>;
    selectedKeys: import("vue").PropType<import("../..").Key[]>;
    activeKey: StringConstructor;
    selectable: {
        type: BooleanConstructor;
        default: boolean;
    };
    multiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    tabindex: {
        type: (NumberConstructor | StringConstructor)[];
    };
    motion: import("vue").PropType<import("../..").CSSMotionProps>;
    role: StringConstructor;
    theme: {
        type: import("vue").PropType<import("./src/interface").MenuTheme>;
        default: string;
    };
    mode: {
        type: import("vue").PropType<import("./src/interface").MenuMode>;
        default: string;
    };
    inlineIndent: {
        type: NumberConstructor;
        default: number;
    };
    subMenuOpenDelay: {
        type: NumberConstructor;
        default: number;
    };
    subMenuCloseDelay: {
        type: NumberConstructor;
        default: number;
    };
    builtinPlacements: {
        type: import("vue").PropType<import("./src/interface").BuiltinPlacements>;
    };
    triggerSubMenuAction: {
        type: import("vue").PropType<import("./src/interface").TriggerSubMenuAction>;
        default: string;
    };
    getPopupContainer: import("vue").PropType<(node: HTMLElement) => HTMLElement>;
    expandIcon: import("vue").PropType<(p?: {
        [key: string]: any;
        isOpen: boolean;
    }) => any>;
    onOpenChange: import("vue").PropType<(keys: import("../..").Key[]) => void>;
    onSelect: import("vue").PropType<import("./src/interface").SelectEventHandler>;
    onDeselect: import("vue").PropType<import("./src/interface").SelectEventHandler>;
    onClick: import("vue").PropType<import("./src/interface").MenuClickEventHandler>;
    onFocus: import("vue").PropType<import("../..").FocusEventHandler>;
    onBlur: import("vue").PropType<import("../..").FocusEventHandler>;
    onMousedown: import("vue").PropType<import("../..").MouseEventHandler>;
    'onUpdate:openKeys': import("vue").PropType<(keys: import("../..").Key[]) => void>;
    'onUpdate:selectedKeys': import("vue").PropType<(keys: import("../..").Key[]) => void>;
    'onUpdate:activeKey': import("vue").PropType<(key: import("../..").Key) => void>;
}>>, () => import("../..").VueNode, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    mode: import("./src/interface").MenuMode;
    disabled: boolean;
    multiple: boolean;
    theme: import("./src/interface").MenuTheme;
    inlineCollapsed: boolean;
    disabledOverflow: boolean;
    forceSubMenuRender: boolean;
    selectable: boolean;
    inlineIndent: number;
    subMenuOpenDelay: number;
    subMenuCloseDelay: number;
    triggerSubMenuAction: import("./src/interface").TriggerSubMenuAction;
}, {}, string, import("../..").CustomSlotsType<{
    expandIcon?: {
        [key: string]: any;
        isOpen: boolean;
    };
    overflowedIndicator?: any;
    default: any;
}>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
    Item: import("vue").DefineComponent<{
        id: StringConstructor;
        role: StringConstructor;
        disabled: BooleanConstructor;
        danger: BooleanConstructor;
        title: {
            type: (BooleanConstructor | StringConstructor)[];
            default: any;
        };
        icon: any;
        onMouseenter: import("vue").PropType<import("../..").MouseEventHandler>;
        onMouseleave: import("vue").PropType<import("../..").MouseEventHandler>;
        onClick: import("vue").PropType<import("../..").MouseEventHandler>;
        onKeydown: import("vue").PropType<import("../..").MouseEventHandler>;
        onFocus: import("vue").PropType<import("../..").MouseEventHandler>;
        originItemValue: {
            type: import("vue").PropType<import("./src/interface").ItemType>;
            default: import("./src/interface").ItemType;
        };
    }, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
        id: StringConstructor;
        role: StringConstructor;
        disabled: BooleanConstructor;
        danger: BooleanConstructor;
        title: {
            type: (BooleanConstructor | StringConstructor)[];
            default: any;
        };
        icon: any;
        onMouseenter: import("vue").PropType<import("../..").MouseEventHandler>;
        onMouseleave: import("vue").PropType<import("../..").MouseEventHandler>;
        onClick: import("vue").PropType<import("../..").MouseEventHandler>;
        onKeydown: import("vue").PropType<import("../..").MouseEventHandler>;
        onFocus: import("vue").PropType<import("../..").MouseEventHandler>;
        originItemValue: {
            type: import("vue").PropType<import("./src/interface").ItemType>;
            default: import("./src/interface").ItemType;
        };
    }>>, {
        disabled: boolean;
        icon: any;
        title: string | boolean;
        danger: boolean;
        originItemValue: import("./src/interface").ItemType;
    }, import("../..").CustomSlotsType<{
        icon?: any;
        title?: any;
        default?: any;
    }>>;
    SubMenu: import("vue").DefineComponent<{
        icon: any;
        title: any;
        disabled: BooleanConstructor;
        level: NumberConstructor;
        popupClassName: StringConstructor;
        popupOffset: import("vue").PropType<[number, number]>;
        internalPopupClose: BooleanConstructor;
        eventKey: StringConstructor;
        expandIcon: import("vue").PropType<(p?: {
            [key: string]: any;
            isOpen: boolean;
        }) => any>;
        theme: import("vue").PropType<import("./src/interface").MenuTheme>;
        onMouseenter: import("vue").PropType<import("../..").MouseEventHandler>;
        onMouseleave: import("vue").PropType<import("../..").MouseEventHandler>;
        onTitleClick: import("vue").PropType<(e: MouseEvent, key: import("../..").Key) => void>;
        originItemValue: {
            type: import("vue").PropType<import("./src/interface").ItemType>;
            default: import("./src/interface").ItemType;
        };
    }, () => any, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
        icon: any;
        title: any;
        disabled: BooleanConstructor;
        level: NumberConstructor;
        popupClassName: StringConstructor;
        popupOffset: import("vue").PropType<[number, number]>;
        internalPopupClose: BooleanConstructor;
        eventKey: StringConstructor;
        expandIcon: import("vue").PropType<(p?: {
            [key: string]: any;
            isOpen: boolean;
        }) => any>;
        theme: import("vue").PropType<import("./src/interface").MenuTheme>;
        onMouseenter: import("vue").PropType<import("../..").MouseEventHandler>;
        onMouseleave: import("vue").PropType<import("../..").MouseEventHandler>;
        onTitleClick: import("vue").PropType<(e: MouseEvent, key: import("../..").Key) => void>;
        originItemValue: {
            type: import("vue").PropType<import("./src/interface").ItemType>;
            default: import("./src/interface").ItemType;
        };
    }>>, {
        disabled: boolean;
        icon: any;
        title: any;
        internalPopupClose: boolean;
        originItemValue: import("./src/interface").ItemType;
    }, import("../..").CustomSlotsType<{
        icon?: any;
        title?: any;
        expandIcon?: {
            [key: string]: any;
            isOpen: boolean;
        };
        default?: any;
    }>>;
    Divider: import("vue").DefineComponent<{
        prefixCls: StringConstructor;
        dashed: BooleanConstructor;
    }, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
        prefixCls: StringConstructor;
        dashed: BooleanConstructor;
    }>>, {
        dashed: boolean;
    }, {}>;
    ItemGroup: import("vue").DefineComponent<{
        title: any;
        originItemValue: {
            type: import("vue").PropType<import("./src/interface").ItemType>;
            default: import("./src/interface").ItemType;
        };
    }, () => any, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
        title: any;
        originItemValue: {
            type: import("vue").PropType<import("./src/interface").ItemType>;
            default: import("./src/interface").ItemType;
        };
    }>>, {
        title: any;
        originItemValue: import("./src/interface").ItemType;
    }, import("../..").CustomSlotsType<{
        title?: any;
        default?: any;
    }>>;
    install(app: App<any>): App<any>;
} & Plugin & {
    readonly Item: typeof AMenuItem;
    readonly SubMenu: typeof ASubMenu;
    readonly Divider: typeof ADivider;
    readonly ItemGroup: typeof AItemGroup;
};
export default _default;
export * from './src/props';
export * from './src/interface';
export * from './src/OverrideContext';
