import { PropType } from 'vue';
import { pick } from '../../utils/core';
import { getPopperClass } from '../util';
import { MenuItem, MenuTheme, PopupMenuTheme, PopupColorful, MenuItemEvent } from '../types';

declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    /** 菜单数据 */
    items: PropType<MenuItem[]>;
    /** 是否是第一级菜单 */
    first: BooleanConstructor;
    /** 是否禁用折叠的 tooltip */
    tipDisabled: BooleanConstructor;
    /** 父级是否是分组菜单 */
    parentIsGroup: BooleanConstructor;
    /** 主题 */
    theme: PropType<MenuTheme>;
    /** 气泡菜单主题 */
    popTheme: PropType<PopupMenuTheme>;
    /** 是否彩色图标 */
    colorful: BooleanConstructor;
    /** 气泡菜单是否彩色图标 */
    popupColorful: PropType<PopupColorful>;
    /** 第一级气泡菜单类名 */
    firstPopClass: StringConstructor;
    /** 是否是 webkit 内核 */
    webkit: BooleanConstructor;
}>, {
    pick: typeof pick;
    ArrowDown: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
    ArrowRight: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
    getPopperClass: typeof getPopperClass;
    handleMenuItemClick: () => void;
    handleItemClick: MenuItemEvent;
    handleItemMouseenter: MenuItemEvent;
    handleItemMouseleave: MenuItemEvent;
    handleParentMouseenter: MenuItemEvent;
    handleParentMouseleave: MenuItemEvent;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    itemClick: (_item: MenuItem, _e: MouseEvent) => true;
    itemMouseenter: (_item: MenuItem, _e: MouseEvent) => true;
    itemMouseleave: (_item: MenuItem, _e: MouseEvent) => true;
    parentMouseenter: (_item: MenuItem, _e: MouseEvent) => true;
    parentMouseleave: (_item: MenuItem, _e: MouseEvent) => true;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    /** 菜单数据 */
    items: PropType<MenuItem[]>;
    /** 是否是第一级菜单 */
    first: BooleanConstructor;
    /** 是否禁用折叠的 tooltip */
    tipDisabled: BooleanConstructor;
    /** 父级是否是分组菜单 */
    parentIsGroup: BooleanConstructor;
    /** 主题 */
    theme: PropType<MenuTheme>;
    /** 气泡菜单主题 */
    popTheme: PropType<PopupMenuTheme>;
    /** 是否彩色图标 */
    colorful: BooleanConstructor;
    /** 气泡菜单是否彩色图标 */
    popupColorful: PropType<PopupColorful>;
    /** 第一级气泡菜单类名 */
    firstPopClass: StringConstructor;
    /** 是否是 webkit 内核 */
    webkit: BooleanConstructor;
}>> & Readonly<{
    onItemClick?: ((_item: MenuItem, _e: MouseEvent) => any) | undefined;
    onItemMouseenter?: ((_item: MenuItem, _e: MouseEvent) => any) | undefined;
    onItemMouseleave?: ((_item: MenuItem, _e: MouseEvent) => any) | undefined;
    onParentMouseenter?: ((_item: MenuItem, _e: MouseEvent) => any) | undefined;
    onParentMouseleave?: ((_item: MenuItem, _e: MouseEvent) => any) | undefined;
}>, {
    first: boolean;
    colorful: boolean;
    tipDisabled: boolean;
    parentIsGroup: boolean;
    webkit: boolean;
}, {}, {
    ElMenuItem: {
        new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
            readonly index: {
                readonly type: PropType<string | null>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            } & {
                readonly default: null;
            };
            readonly route: {
                readonly type: PropType<string | import('vue-router').RouteLocationAsRelativeGeneric | import('vue-router').RouteLocationAsPathGeneric>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            readonly disabled: BooleanConstructor;
        }>> & {
            onClick?: ((item: import('element-plus').MenuItemRegistered) => any) | undefined;
        }, {
            parentMenu: import('vue').ComputedRef<import('vue').ComponentInternalInstance>;
            rootMenu: import('element-plus').MenuProvider;
            active: import('vue').ComputedRef<boolean>;
            nsMenu: {
                namespace: import('vue').ComputedRef<string>;
                b: (blockSuffix?: string) => string;
                e: (element?: string) => string;
                m: (modifier?: string) => string;
                be: (blockSuffix?: string, element?: string) => string;
                em: (element?: string, modifier?: string) => string;
                bm: (blockSuffix?: string, modifier?: string) => string;
                bem: (blockSuffix?: string, element?: string, modifier?: string) => string;
                is: {
                    (name: string, state: boolean | undefined): string;
                    (name: string): string;
                };
                cssVar: (object: Record<string, string>) => Record<string, string>;
                cssVarName: (name: string) => string;
                cssVarBlock: (object: Record<string, string>) => Record<string, string>;
                cssVarBlockName: (name: string) => string;
            };
            nsMenuItem: {
                namespace: import('vue').ComputedRef<string>;
                b: (blockSuffix?: string) => string;
                e: (element?: string) => string;
                m: (modifier?: string) => string;
                be: (blockSuffix?: string, element?: string) => string;
                em: (element?: string, modifier?: string) => string;
                bm: (blockSuffix?: string, modifier?: string) => string;
                bem: (blockSuffix?: string, element?: string, modifier?: string) => string;
                is: {
                    (name: string, state: boolean | undefined): string;
                    (name: string): string;
                };
                cssVar: (object: Record<string, string>) => Record<string, string>;
                cssVarName: (name: string) => string;
                cssVarBlock: (object: Record<string, string>) => Record<string, string>;
                cssVarBlockName: (name: string) => string;
            };
            handleClick: () => void;
        }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
            click: (item: import('element-plus').MenuItemRegistered) => void;
        }, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {
            readonly disabled: boolean;
            readonly index: string | null;
        }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<import('vue').ExtractPropTypes<{
            readonly index: {
                readonly type: PropType<string | null>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            } & {
                readonly default: null;
            };
            readonly route: {
                readonly type: PropType<string | import('vue-router').RouteLocationAsRelativeGeneric | import('vue-router').RouteLocationAsPathGeneric>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            readonly disabled: BooleanConstructor;
        }>> & {
            onClick?: ((item: import('element-plus').MenuItemRegistered) => any) | undefined;
        }, {
            parentMenu: import('vue').ComputedRef<import('vue').ComponentInternalInstance>;
            rootMenu: import('element-plus').MenuProvider;
            active: import('vue').ComputedRef<boolean>;
            nsMenu: {
                namespace: import('vue').ComputedRef<string>;
                b: (blockSuffix?: string) => string;
                e: (element?: string) => string;
                m: (modifier?: string) => string;
                be: (blockSuffix?: string, element?: string) => string;
                em: (element?: string, modifier?: string) => string;
                bm: (blockSuffix?: string, modifier?: string) => string;
                bem: (blockSuffix?: string, element?: string, modifier?: string) => string;
                is: {
                    (name: string, state: boolean | undefined): string;
                    (name: string): string;
                };
                cssVar: (object: Record<string, string>) => Record<string, string>;
                cssVarName: (name: string) => string;
                cssVarBlock: (object: Record<string, string>) => Record<string, string>;
                cssVarBlockName: (name: string) => string;
            };
            nsMenuItem: {
                namespace: import('vue').ComputedRef<string>;
                b: (blockSuffix?: string) => string;
                e: (element?: string) => string;
                m: (modifier?: string) => string;
                be: (blockSuffix?: string, element?: string) => string;
                em: (element?: string, modifier?: string) => string;
                bm: (blockSuffix?: string, modifier?: string) => string;
                bem: (blockSuffix?: string, element?: string, modifier?: string) => string;
                is: {
                    (name: string, state: boolean | undefined): string;
                    (name: string): string;
                };
                cssVar: (object: Record<string, string>) => Record<string, string>;
                cssVarName: (name: string) => string;
                cssVarBlock: (object: Record<string, string>) => Record<string, string>;
                cssVarBlockName: (name: string) => string;
            };
            handleClick: () => void;
        }, {}, {}, {}, {
            readonly disabled: boolean;
            readonly index: string | null;
        }>;
        __isFragment?: never;
        __isTeleport?: never;
        __isSuspense?: never;
    } & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
        readonly index: {
            readonly type: PropType<string | null>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: null;
        };
        readonly route: {
            readonly type: PropType<string | import('vue-router').RouteLocationAsRelativeGeneric | import('vue-router').RouteLocationAsPathGeneric>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        readonly disabled: BooleanConstructor;
    }>> & {
        onClick?: ((item: import('element-plus').MenuItemRegistered) => any) | undefined;
    }, {
        parentMenu: import('vue').ComputedRef<import('vue').ComponentInternalInstance>;
        rootMenu: import('element-plus').MenuProvider;
        active: import('vue').ComputedRef<boolean>;
        nsMenu: {
            namespace: import('vue').ComputedRef<string>;
            b: (blockSuffix?: string) => string;
            e: (element?: string) => string;
            m: (modifier?: string) => string;
            be: (blockSuffix?: string, element?: string) => string;
            em: (element?: string, modifier?: string) => string;
            bm: (blockSuffix?: string, modifier?: string) => string;
            bem: (blockSuffix?: string, element?: string, modifier?: string) => string;
            is: {
                (name: string, state: boolean | undefined): string;
                (name: string): string;
            };
            cssVar: (object: Record<string, string>) => Record<string, string>;
            cssVarName: (name: string) => string;
            cssVarBlock: (object: Record<string, string>) => Record<string, string>;
            cssVarBlockName: (name: string) => string;
        };
        nsMenuItem: {
            namespace: import('vue').ComputedRef<string>;
            b: (blockSuffix?: string) => string;
            e: (element?: string) => string;
            m: (modifier?: string) => string;
            be: (blockSuffix?: string, element?: string) => string;
            em: (element?: string, modifier?: string) => string;
            bm: (blockSuffix?: string, modifier?: string) => string;
            bem: (blockSuffix?: string, element?: string, modifier?: string) => string;
            is: {
                (name: string, state: boolean | undefined): string;
                (name: string): string;
            };
            cssVar: (object: Record<string, string>) => Record<string, string>;
            cssVarName: (name: string) => string;
            cssVarBlock: (object: Record<string, string>) => Record<string, string>;
            cssVarBlockName: (name: string) => string;
        };
        handleClick: () => void;
    }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
        click: (item: import('element-plus').MenuItemRegistered) => void;
    }, string, {
        readonly disabled: boolean;
        readonly index: string | null;
    }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
        $slots: {
            title?(_: {}): any;
            title?(_: {}): any;
            default?(_: {}): any;
            default?(_: {}): any;
        };
    }) & import('vue').Plugin;
    ElSubMenu: {
        new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
            readonly index: {
                readonly type: PropType<string>;
                readonly required: true;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            readonly showTimeout: NumberConstructor;
            readonly hideTimeout: NumberConstructor;
            readonly popperClass: StringConstructor;
            readonly disabled: BooleanConstructor;
            readonly teleported: {
                readonly type: PropType<boolean>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            } & {
                readonly default: undefined;
            };
            readonly popperOffset: NumberConstructor;
            readonly expandCloseIcon: {
                readonly type: PropType<string | import('vue').Component>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            readonly expandOpenIcon: {
                readonly type: PropType<string | import('vue').Component>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            readonly collapseCloseIcon: {
                readonly type: PropType<string | import('vue').Component>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            readonly collapseOpenIcon: {
                readonly type: PropType<string | import('vue').Component>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
        }>>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
            [key: string]: any;
        }>, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, Record<string, any>, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {
            readonly disabled: boolean;
            readonly teleported: boolean;
        }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<import('vue').ExtractPropTypes<{
            readonly index: {
                readonly type: PropType<string>;
                readonly required: true;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            readonly showTimeout: NumberConstructor;
            readonly hideTimeout: NumberConstructor;
            readonly popperClass: StringConstructor;
            readonly disabled: BooleanConstructor;
            readonly teleported: {
                readonly type: PropType<boolean>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            } & {
                readonly default: undefined;
            };
            readonly popperOffset: NumberConstructor;
            readonly expandCloseIcon: {
                readonly type: PropType<string | import('vue').Component>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            readonly expandOpenIcon: {
                readonly type: PropType<string | import('vue').Component>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            readonly collapseCloseIcon: {
                readonly type: PropType<string | import('vue').Component>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            readonly collapseOpenIcon: {
                readonly type: PropType<string | import('vue').Component>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
        }>>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
            [key: string]: any;
        }>, {}, {}, {}, {
            readonly disabled: boolean;
            readonly teleported: boolean;
        }>;
        __isFragment?: never;
        __isTeleport?: never;
        __isSuspense?: never;
    } & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
        readonly index: {
            readonly type: PropType<string>;
            readonly required: true;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        readonly showTimeout: NumberConstructor;
        readonly hideTimeout: NumberConstructor;
        readonly popperClass: StringConstructor;
        readonly disabled: BooleanConstructor;
        readonly teleported: {
            readonly type: PropType<boolean>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: undefined;
        };
        readonly popperOffset: NumberConstructor;
        readonly expandCloseIcon: {
            readonly type: PropType<string | import('vue').Component>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        readonly expandOpenIcon: {
            readonly type: PropType<string | import('vue').Component>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        readonly collapseCloseIcon: {
            readonly type: PropType<string | import('vue').Component>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        readonly collapseOpenIcon: {
            readonly type: PropType<string | import('vue').Component>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
    }>>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
        [key: string]: any;
    }>, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, Record<string, any>, string, {
        readonly disabled: boolean;
        readonly teleported: boolean;
    }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & import('vue').Plugin;
    ElMenuItemGroup: {
        new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
            readonly title: StringConstructor;
        }>>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, Record<string, any>, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<import('vue').ExtractPropTypes<{
            readonly title: StringConstructor;
        }>>, {}, {}, {}, {}, {}>;
        __isFragment?: never;
        __isTeleport?: never;
        __isSuspense?: never;
    } & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
        readonly title: StringConstructor;
    }>>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, Record<string, any>, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
        $slots: {
            title?(_: {}): any;
            default?(_: {}): any;
        };
    }) & import('vue').Plugin;
    ItemTitle: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
        item: {
            type: PropType<MenuItem>;
            required: true;
        };
        showTitle: {
            type: BooleanConstructor;
            default: boolean;
        };
        showLink: BooleanConstructor;
    }>, {
        isExternalLink: typeof import('../../utils/core').isExternalLink;
        handleItemClick: MenuItemEvent;
        handleItemMouseenter: MenuItemEvent;
        handleItemMouseleave: MenuItemEvent;
    }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
        itemClick: (_item: MenuItem, _e: MouseEvent) => true;
        itemMouseenter: (_item: MenuItem, _e: MouseEvent) => true;
        itemMouseleave: (_item: MenuItem, _e: MouseEvent) => true;
    }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
        item: {
            type: PropType<MenuItem>;
            required: true;
        };
        showTitle: {
            type: BooleanConstructor;
            default: boolean;
        };
        showLink: BooleanConstructor;
    }>> & Readonly<{
        onItemClick?: ((_item: MenuItem, _e: MouseEvent) => any) | undefined;
        onItemMouseenter?: ((_item: MenuItem, _e: MouseEvent) => any) | undefined;
        onItemMouseleave?: ((_item: MenuItem, _e: MouseEvent) => any) | undefined;
    }>, {
        showLink: boolean;
        showTitle: boolean;
    }, {}, {
        ElIcon: {
            new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
                readonly size: {
                    readonly type: PropType<string | number>;
                    readonly required: false;
                    readonly validator: ((val: unknown) => boolean) | undefined;
                    __epPropKey: true;
                };
                readonly color: {
                    readonly type: PropType<string>;
                    readonly required: false;
                    readonly validator: ((val: unknown) => boolean) | undefined;
                    __epPropKey: true;
                };
            }>>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, Record<string, any>, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
                P: {};
                B: {};
                D: {};
                C: {};
                M: {};
                Defaults: {};
            }, Readonly<import('vue').ExtractPropTypes<{
                readonly size: {
                    readonly type: PropType<string | number>;
                    readonly required: false;
                    readonly validator: ((val: unknown) => boolean) | undefined;
                    __epPropKey: true;
                };
                readonly color: {
                    readonly type: PropType<string>;
                    readonly required: false;
                    readonly validator: ((val: unknown) => boolean) | undefined;
                    __epPropKey: true;
                };
            }>>, {}, {}, {}, {}, {}>;
            __isFragment?: never;
            __isTeleport?: never;
            __isSuspense?: never;
        } & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
            readonly size: {
                readonly type: PropType<string | number>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            readonly color: {
                readonly type: PropType<string>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
        }>>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, Record<string, any>, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
            $slots: {
                default?(_: {}): any;
            };
        }) & import('vue').Plugin;
        ElBadge: {
            new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
                readonly value: {
                    readonly type: PropType<string | number>;
                    readonly required: false;
                    readonly validator: ((val: unknown) => boolean) | undefined;
                    __epPropKey: true;
                } & {
                    readonly default: "";
                };
                readonly max: {
                    readonly type: PropType<number>;
                    readonly required: false;
                    readonly validator: ((val: unknown) => boolean) | undefined;
                    __epPropKey: true;
                } & {
                    readonly default: 99;
                };
                readonly isDot: BooleanConstructor;
                readonly hidden: BooleanConstructor;
                readonly type: {
                    readonly type: PropType<"success" | "primary" | "warning" | "info" | "danger">;
                    readonly required: false;
                    readonly validator: ((val: unknown) => boolean) | undefined;
                    __epPropKey: true;
                } & {
                    readonly default: "danger";
                };
                readonly showZero: {
                    readonly type: PropType<boolean>;
                    readonly required: false;
                    readonly validator: ((val: unknown) => boolean) | undefined;
                    __epPropKey: true;
                } & {
                    readonly default: true;
                };
                readonly color: StringConstructor;
                readonly badgeStyle: {
                    readonly type: PropType<import('vue').StyleValue>;
                    readonly required: false;
                    readonly validator: ((val: unknown) => boolean) | undefined;
                    __epPropKey: true;
                };
                readonly offset: {
                    readonly type: PropType<[number, number]>;
                    readonly required: false;
                    readonly validator: ((val: unknown) => boolean) | undefined;
                    __epPropKey: true;
                } & {
                    readonly default: readonly [0, 0];
                };
                readonly badgeClass: {
                    readonly type: PropType<string>;
                    readonly required: false;
                    readonly validator: ((val: unknown) => boolean) | undefined;
                    __epPropKey: true;
                };
            }>>, {
                content: import('vue').ComputedRef<string>;
            }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, Record<string, any>, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {
                readonly hidden: boolean;
                readonly offset: [number, number];
                readonly value: string | number;
                readonly type: "success" | "primary" | "warning" | "info" | "danger";
                readonly max: number;
                readonly showZero: boolean;
                readonly isDot: boolean;
            }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
                P: {};
                B: {};
                D: {};
                C: {};
                M: {};
                Defaults: {};
            }, Readonly<import('vue').ExtractPropTypes<{
                readonly value: {
                    readonly type: PropType<string | number>;
                    readonly required: false;
                    readonly validator: ((val: unknown) => boolean) | undefined;
                    __epPropKey: true;
                } & {
                    readonly default: "";
                };
                readonly max: {
                    readonly type: PropType<number>;
                    readonly required: false;
                    readonly validator: ((val: unknown) => boolean) | undefined;
                    __epPropKey: true;
                } & {
                    readonly default: 99;
                };
                readonly isDot: BooleanConstructor;
                readonly hidden: BooleanConstructor;
                readonly type: {
                    readonly type: PropType<"success" | "primary" | "warning" | "info" | "danger">;
                    readonly required: false;
                    readonly validator: ((val: unknown) => boolean) | undefined;
                    __epPropKey: true;
                } & {
                    readonly default: "danger";
                };
                readonly showZero: {
                    readonly type: PropType<boolean>;
                    readonly required: false;
                    readonly validator: ((val: unknown) => boolean) | undefined;
                    __epPropKey: true;
                } & {
                    readonly default: true;
                };
                readonly color: StringConstructor;
                readonly badgeStyle: {
                    readonly type: PropType<import('vue').StyleValue>;
                    readonly required: false;
                    readonly validator: ((val: unknown) => boolean) | undefined;
                    __epPropKey: true;
                };
                readonly offset: {
                    readonly type: PropType<[number, number]>;
                    readonly required: false;
                    readonly validator: ((val: unknown) => boolean) | undefined;
                    __epPropKey: true;
                } & {
                    readonly default: readonly [0, 0];
                };
                readonly badgeClass: {
                    readonly type: PropType<string>;
                    readonly required: false;
                    readonly validator: ((val: unknown) => boolean) | undefined;
                    __epPropKey: true;
                };
            }>>, {
                content: import('vue').ComputedRef<string>;
            }, {}, {}, {}, {
                readonly hidden: boolean;
                readonly offset: [number, number];
                readonly value: string | number;
                readonly type: "success" | "primary" | "warning" | "info" | "danger";
                readonly max: number;
                readonly showZero: boolean;
                readonly isDot: boolean;
            }>;
            __isFragment?: never;
            __isTeleport?: never;
            __isSuspense?: never;
        } & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
            readonly value: {
                readonly type: PropType<string | number>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            } & {
                readonly default: "";
            };
            readonly max: {
                readonly type: PropType<number>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            } & {
                readonly default: 99;
            };
            readonly isDot: BooleanConstructor;
            readonly hidden: BooleanConstructor;
            readonly type: {
                readonly type: PropType<"success" | "primary" | "warning" | "info" | "danger">;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            } & {
                readonly default: "danger";
            };
            readonly showZero: {
                readonly type: PropType<boolean>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            } & {
                readonly default: true;
            };
            readonly color: StringConstructor;
            readonly badgeStyle: {
                readonly type: PropType<import('vue').StyleValue>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            readonly offset: {
                readonly type: PropType<[number, number]>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            } & {
                readonly default: readonly [0, 0];
            };
            readonly badgeClass: {
                readonly type: PropType<string>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
        }>>, {
            content: import('vue').ComputedRef<string>;
        }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, Record<string, any>, string, {
            readonly hidden: boolean;
            readonly offset: [number, number];
            readonly value: string | number;
            readonly type: "success" | "primary" | "warning" | "info" | "danger";
            readonly max: number;
            readonly showZero: boolean;
            readonly isDot: boolean;
        }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
            $slots: {
                default?(_: {}): any;
                content?(_: {
                    value: string;
                }): any;
            };
        }) & import('vue').Plugin;
    }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default _default;
