import type { TdHeadMenuProps, TdMenuItemProps, TdMenuProps, TdSubmenuProps } from './type';
import './style';
export * from './type';
export declare type MenuProps = TdMenuProps;
export declare type HeadMenuProps = TdHeadMenuProps;
export declare type SubmenuProps = TdSubmenuProps;
export declare type MenuItemProps = TdMenuItemProps;
export declare const Menu: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            width: string | number | (string | number)[];
            value: import("./type").MenuValue;
            expanded: import("./type").MenuValue[];
            theme: "dark" | "light";
            modelValue: import("./type").MenuValue;
            defaultExpanded: import("./type").MenuValue[];
            expandType: "normal" | "popup";
            collapsed: boolean;
            expandMutex: boolean;
        }> & Omit<Readonly<import("vue").ExtractPropTypes<{
            onCollapsed: FunctionConstructor;
            collapsed: BooleanConstructor;
            expanded: {
                type: import("vue").PropType<import("./type").MenuValue[]>;
                default: any;
            };
            defaultExpanded: {
                type: import("vue").PropType<import("./type").MenuValue[]>;
                default: any[];
            };
            expandMutex: BooleanConstructor;
            expandType: {
                type: import("vue").PropType<"normal" | "popup">;
                default: "normal" | "popup";
                validator(val: "normal" | "popup"): boolean;
            };
            logo: {
                type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
            };
            operations: {
                type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
            };
            theme: {
                type: import("vue").PropType<"dark" | "light">;
                default: "dark" | "light";
                validator(val: "dark" | "light"): boolean;
            };
            value: {
                type: import("vue").PropType<import("./type").MenuValue>;
                default: import("./type").MenuValue;
            };
            modelValue: {
                type: import("vue").PropType<import("./type").MenuValue>;
                default: import("./type").MenuValue;
            };
            defaultValue: {
                type: import("vue").PropType<import("./type").MenuValue>;
            };
            width: {
                type: import("vue").PropType<string | number | (string | number)[]>;
                default: string;
            };
            onChange: import("vue").PropType<(value: import("./type").MenuValue) => void>;
            onExpand: import("vue").PropType<(value: import("./type").MenuValue[]) => void>;
        }>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "width" | "value" | "expanded" | "theme" | "modelValue" | "defaultExpanded" | "expandType" | "collapsed" | "expandMutex">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot;
        }>;
        $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<{
            onCollapsed: FunctionConstructor;
            collapsed: BooleanConstructor;
            expanded: {
                type: import("vue").PropType<import("./type").MenuValue[]>;
                default: any;
            };
            defaultExpanded: {
                type: import("vue").PropType<import("./type").MenuValue[]>;
                default: any[];
            };
            expandMutex: BooleanConstructor;
            expandType: {
                type: import("vue").PropType<"normal" | "popup">;
                default: "normal" | "popup";
                validator(val: "normal" | "popup"): boolean;
            };
            logo: {
                type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
            };
            operations: {
                type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
            };
            theme: {
                type: import("vue").PropType<"dark" | "light">;
                default: "dark" | "light";
                validator(val: "dark" | "light"): boolean;
            };
            value: {
                type: import("vue").PropType<import("./type").MenuValue>;
                default: import("./type").MenuValue;
            };
            modelValue: {
                type: import("vue").PropType<import("./type").MenuValue>;
                default: import("./type").MenuValue;
            };
            defaultValue: {
                type: import("vue").PropType<import("./type").MenuValue>;
            };
            width: {
                type: import("vue").PropType<string | number | (string | number)[]>;
                default: string;
            };
            onChange: import("vue").PropType<(value: import("./type").MenuValue) => void>;
            onExpand: import("vue").PropType<(value: import("./type").MenuValue[]) => void>;
        }>>, {
            styles: import("vue").ComputedRef<{
                height: string;
                width: string;
            }>;
            classPrefix: import("vue").ComputedRef<string>;
            menuClass: import("vue").ComputedRef<(string | {
                [x: string]: boolean;
            })[]>;
            innerClasses: import("vue").ComputedRef<(string | {
                [x: string]: boolean;
            })[]>;
            activeValue: import("vue").Ref<import("./type").MenuValue>;
            activeValues: import("vue").Ref<any[]>;
            expandValues: import("vue").Ref<import("./type").MenuValue[]>;
        }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
            width: string | number | (string | number)[];
            value: import("./type").MenuValue;
            expanded: import("./type").MenuValue[];
            theme: "dark" | "light";
            modelValue: import("./type").MenuValue;
            defaultExpanded: import("./type").MenuValue[];
            expandType: "normal" | "popup";
            collapsed: boolean;
            expandMutex: boolean;
        }, {}, string> & {
            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<{
        onCollapsed: FunctionConstructor;
        collapsed: BooleanConstructor;
        expanded: {
            type: import("vue").PropType<import("./type").MenuValue[]>;
            default: any;
        };
        defaultExpanded: {
            type: import("vue").PropType<import("./type").MenuValue[]>;
            default: any[];
        };
        expandMutex: BooleanConstructor;
        expandType: {
            type: import("vue").PropType<"normal" | "popup">;
            default: "normal" | "popup";
            validator(val: "normal" | "popup"): boolean;
        };
        logo: {
            type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
        };
        operations: {
            type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
        };
        theme: {
            type: import("vue").PropType<"dark" | "light">;
            default: "dark" | "light";
            validator(val: "dark" | "light"): boolean;
        };
        value: {
            type: import("vue").PropType<import("./type").MenuValue>;
            default: import("./type").MenuValue;
        };
        modelValue: {
            type: import("vue").PropType<import("./type").MenuValue>;
            default: import("./type").MenuValue;
        };
        defaultValue: {
            type: import("vue").PropType<import("./type").MenuValue>;
        };
        width: {
            type: import("vue").PropType<string | number | (string | number)[]>;
            default: string;
        };
        onChange: import("vue").PropType<(value: import("./type").MenuValue) => void>;
        onExpand: import("vue").PropType<(value: import("./type").MenuValue[]) => void>;
    }>> & import("vue").ShallowUnwrapRef<{
        styles: import("vue").ComputedRef<{
            height: string;
            width: string;
        }>;
        classPrefix: import("vue").ComputedRef<string>;
        menuClass: import("vue").ComputedRef<(string | {
            [x: string]: boolean;
        })[]>;
        innerClasses: import("vue").ComputedRef<(string | {
            [x: string]: boolean;
        })[]>;
        activeValue: import("vue").Ref<import("./type").MenuValue>;
        activeValues: import("vue").Ref<any[]>;
        expandValues: import("vue").Ref<import("./type").MenuValue[]>;
    }> & {} & import("vue").ComponentCustomProperties & {};
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    onCollapsed: FunctionConstructor;
    collapsed: BooleanConstructor;
    expanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
        default: any;
    };
    defaultExpanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
        default: any[];
    };
    expandMutex: BooleanConstructor;
    expandType: {
        type: import("vue").PropType<"normal" | "popup">;
        default: "normal" | "popup";
        validator(val: "normal" | "popup"): boolean;
    };
    logo: {
        type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
    };
    operations: {
        type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
    };
    theme: {
        type: import("vue").PropType<"dark" | "light">;
        default: "dark" | "light";
        validator(val: "dark" | "light"): boolean;
    };
    value: {
        type: import("vue").PropType<import("./type").MenuValue>;
        default: import("./type").MenuValue;
    };
    modelValue: {
        type: import("vue").PropType<import("./type").MenuValue>;
        default: import("./type").MenuValue;
    };
    defaultValue: {
        type: import("vue").PropType<import("./type").MenuValue>;
    };
    width: {
        type: import("vue").PropType<string | number | (string | number)[]>;
        default: string;
    };
    onChange: import("vue").PropType<(value: import("./type").MenuValue) => void>;
    onExpand: import("vue").PropType<(value: import("./type").MenuValue[]) => void>;
}>>, {
    styles: import("vue").ComputedRef<{
        height: string;
        width: string;
    }>;
    classPrefix: import("vue").ComputedRef<string>;
    menuClass: import("vue").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    innerClasses: import("vue").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    activeValue: import("vue").Ref<import("./type").MenuValue>;
    activeValues: import("vue").Ref<any[]>;
    expandValues: import("vue").Ref<import("./type").MenuValue[]>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    width: string | number | (string | number)[];
    value: import("./type").MenuValue;
    expanded: import("./type").MenuValue[];
    theme: "dark" | "light";
    modelValue: import("./type").MenuValue;
    defaultExpanded: import("./type").MenuValue[];
    expandType: "normal" | "popup";
    collapsed: boolean;
    expandMutex: boolean;
}, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("@vue/runtime-core").Plugin<any[]>;
export declare const HeadMenu: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            value: import("./type").MenuValue;
            expanded: import("./type").MenuValue[];
            theme: "dark" | "light";
            modelValue: import("./type").MenuValue;
            defaultExpanded: import("./type").MenuValue[];
            expandType: "normal" | "popup";
        }> & Omit<Readonly<import("vue").ExtractPropTypes<{
            expanded: {
                type: import("vue").PropType<import("./type").MenuValue[]>;
                default: any;
            };
            defaultExpanded: {
                type: import("vue").PropType<import("./type").MenuValue[]>;
                default: any[];
            };
            expandType: {
                type: import("vue").PropType<"normal" | "popup">;
                default: "normal" | "popup";
                validator(val: "normal" | "popup"): boolean;
            };
            logo: {
                type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
            };
            operations: {
                type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
            };
            theme: {
                type: import("vue").PropType<"dark" | "light">;
                default: "dark" | "light";
                validator(val: "dark" | "light"): boolean;
            };
            value: {
                type: import("vue").PropType<import("./type").MenuValue>;
                default: import("./type").MenuValue;
            };
            modelValue: {
                type: import("vue").PropType<import("./type").MenuValue>;
                default: import("./type").MenuValue;
            };
            defaultValue: {
                type: import("vue").PropType<import("./type").MenuValue>;
            };
            onChange: import("vue").PropType<(value: import("./type").MenuValue) => void>;
            onExpand: import("vue").PropType<(value: import("./type").MenuValue[]) => void>;
        }>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "value" | "expanded" | "theme" | "modelValue" | "defaultExpanded" | "expandType">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot;
        }>;
        $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<{
            expanded: {
                type: import("vue").PropType<import("./type").MenuValue[]>;
                default: any;
            };
            defaultExpanded: {
                type: import("vue").PropType<import("./type").MenuValue[]>;
                default: any[];
            };
            expandType: {
                type: import("vue").PropType<"normal" | "popup">;
                default: "normal" | "popup";
                validator(val: "normal" | "popup"): boolean;
            };
            logo: {
                type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
            };
            operations: {
                type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
            };
            theme: {
                type: import("vue").PropType<"dark" | "light">;
                default: "dark" | "light";
                validator(val: "dark" | "light"): boolean;
            };
            value: {
                type: import("vue").PropType<import("./type").MenuValue>;
                default: import("./type").MenuValue;
            };
            modelValue: {
                type: import("vue").PropType<import("./type").MenuValue>;
                default: import("./type").MenuValue;
            };
            defaultValue: {
                type: import("vue").PropType<import("./type").MenuValue>;
            };
            onChange: import("vue").PropType<(value: import("./type").MenuValue) => void>;
            onExpand: import("vue").PropType<(value: import("./type").MenuValue[]) => void>;
        }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
            value: import("./type").MenuValue;
            expanded: import("./type").MenuValue[];
            theme: "dark" | "light";
            modelValue: import("./type").MenuValue;
            defaultExpanded: import("./type").MenuValue[];
            expandType: "normal" | "popup";
        }, {}, string> & {
            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<{
        expanded: {
            type: import("vue").PropType<import("./type").MenuValue[]>;
            default: any;
        };
        defaultExpanded: {
            type: import("vue").PropType<import("./type").MenuValue[]>;
            default: any[];
        };
        expandType: {
            type: import("vue").PropType<"normal" | "popup">;
            default: "normal" | "popup";
            validator(val: "normal" | "popup"): boolean;
        };
        logo: {
            type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
        };
        operations: {
            type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
        };
        theme: {
            type: import("vue").PropType<"dark" | "light">;
            default: "dark" | "light";
            validator(val: "dark" | "light"): boolean;
        };
        value: {
            type: import("vue").PropType<import("./type").MenuValue>;
            default: import("./type").MenuValue;
        };
        modelValue: {
            type: import("vue").PropType<import("./type").MenuValue>;
            default: import("./type").MenuValue;
        };
        defaultValue: {
            type: import("vue").PropType<import("./type").MenuValue>;
        };
        onChange: import("vue").PropType<(value: import("./type").MenuValue) => void>;
        onExpand: import("vue").PropType<(value: import("./type").MenuValue[]) => void>;
    }>> & import("vue").ShallowUnwrapRef<() => JSX.Element> & {} & import("vue").ComponentCustomProperties & {};
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    expanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
        default: any;
    };
    defaultExpanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
        default: any[];
    };
    expandType: {
        type: import("vue").PropType<"normal" | "popup">;
        default: "normal" | "popup";
        validator(val: "normal" | "popup"): boolean;
    };
    logo: {
        type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
    };
    operations: {
        type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
    };
    theme: {
        type: import("vue").PropType<"dark" | "light">;
        default: "dark" | "light";
        validator(val: "dark" | "light"): boolean;
    };
    value: {
        type: import("vue").PropType<import("./type").MenuValue>;
        default: import("./type").MenuValue;
    };
    modelValue: {
        type: import("vue").PropType<import("./type").MenuValue>;
        default: import("./type").MenuValue;
    };
    defaultValue: {
        type: import("vue").PropType<import("./type").MenuValue>;
    };
    onChange: import("vue").PropType<(value: import("./type").MenuValue) => void>;
    onExpand: import("vue").PropType<(value: import("./type").MenuValue[]) => void>;
}>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    value: import("./type").MenuValue;
    expanded: import("./type").MenuValue[];
    theme: "dark" | "light";
    modelValue: import("./type").MenuValue;
    defaultExpanded: import("./type").MenuValue[];
    expandType: "normal" | "popup";
}, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("@vue/runtime-core").Plugin<any[]>;
export declare const Submenu: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            disabled: boolean;
        }> & Omit<Readonly<import("vue").ExtractPropTypes<{
            content: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            default: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            disabled: BooleanConstructor;
            icon: {
                type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
            };
            title: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            value: {
                type: import("vue").PropType<import("./type").MenuValue>;
            };
        }>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot;
        }>;
        $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<{
            content: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            default: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            disabled: BooleanConstructor;
            icon: {
                type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
            };
            title: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            value: {
                type: import("vue").PropType<import("./type").MenuValue>;
            };
        }>>, {
            classPrefix: import("vue").ComputedRef<string>;
            menuItems: import("vue").Ref<any[]>;
            mode: import("vue").ComputedRef<unknown>;
            theme: import("vue").Ref<string>;
            isHead: boolean;
            isNested: import("vue").Ref<boolean>;
            classes: import("vue").ComputedRef<(string | {
                [x: string]: boolean;
            })[]>;
            subClass: import("vue").ComputedRef<(string | {
                [x: string]: boolean;
            })[]>;
            arrowClass: import("vue").ComputedRef<{
                [x: string]: boolean;
            }[]>;
            popupClass: import("vue").ComputedRef<(string | {
                [x: string]: boolean;
            })[]>;
            submenuClass: import("vue").ComputedRef<(string | {
                [x: string]: boolean;
            })[]>;
            submenuRef: import("vue").Ref<HTMLElement>;
            popupWrapperRef: import("vue").Ref<HTMLElement>;
            popupVisible: import("vue").Ref<boolean>;
            isCursorInPopup: import("vue").Ref<boolean>;
            handleEnterPopup: () => void;
            handleMouseEnter: () => void;
            handleMouseLeave: (e: MouseEvent) => void;
            handleMouseLeavePopup: (e: any) => void;
            handleSubmenuItemClick: () => void;
        }, unknown, {}, {
            renderPopup(triggerElement: Readonly<{
                [name: string]: import("vue").Slot;
            }>[]): JSX.Element;
            renderHeadSubmenu(): JSX.Element | JSX.Element[];
            renderSubmenu(): JSX.Element | JSX.Element[];
        }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
            disabled: boolean;
        }, {}, string> & {
            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<{
        content: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        };
        default: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        };
        disabled: BooleanConstructor;
        icon: {
            type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
        };
        title: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        };
        value: {
            type: import("vue").PropType<import("./type").MenuValue>;
        };
    }>> & import("vue").ShallowUnwrapRef<{
        classPrefix: import("vue").ComputedRef<string>;
        menuItems: import("vue").Ref<any[]>;
        mode: import("vue").ComputedRef<unknown>;
        theme: import("vue").Ref<string>;
        isHead: boolean;
        isNested: import("vue").Ref<boolean>;
        classes: import("vue").ComputedRef<(string | {
            [x: string]: boolean;
        })[]>;
        subClass: import("vue").ComputedRef<(string | {
            [x: string]: boolean;
        })[]>;
        arrowClass: import("vue").ComputedRef<{
            [x: string]: boolean;
        }[]>;
        popupClass: import("vue").ComputedRef<(string | {
            [x: string]: boolean;
        })[]>;
        submenuClass: import("vue").ComputedRef<(string | {
            [x: string]: boolean;
        })[]>;
        submenuRef: import("vue").Ref<HTMLElement>;
        popupWrapperRef: import("vue").Ref<HTMLElement>;
        popupVisible: import("vue").Ref<boolean>;
        isCursorInPopup: import("vue").Ref<boolean>;
        handleEnterPopup: () => void;
        handleMouseEnter: () => void;
        handleMouseLeave: (e: MouseEvent) => void;
        handleMouseLeavePopup: (e: any) => void;
        handleSubmenuItemClick: () => void;
    }> & {} & {
        renderPopup(triggerElement: Readonly<{
            [name: string]: import("vue").Slot;
        }>[]): JSX.Element;
        renderHeadSubmenu(): JSX.Element | JSX.Element[];
        renderSubmenu(): JSX.Element | JSX.Element[];
    } & import("vue").ComponentCustomProperties & {};
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    content: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
    };
    default: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
    };
    disabled: BooleanConstructor;
    icon: {
        type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
    };
    title: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
    };
    value: {
        type: import("vue").PropType<import("./type").MenuValue>;
    };
}>>, {
    classPrefix: import("vue").ComputedRef<string>;
    menuItems: import("vue").Ref<any[]>;
    mode: import("vue").ComputedRef<unknown>;
    theme: import("vue").Ref<string>;
    isHead: boolean;
    isNested: import("vue").Ref<boolean>;
    classes: import("vue").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    subClass: import("vue").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    arrowClass: import("vue").ComputedRef<{
        [x: string]: boolean;
    }[]>;
    popupClass: import("vue").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    submenuClass: import("vue").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    submenuRef: import("vue").Ref<HTMLElement>;
    popupWrapperRef: import("vue").Ref<HTMLElement>;
    popupVisible: import("vue").Ref<boolean>;
    isCursorInPopup: import("vue").Ref<boolean>;
    handleEnterPopup: () => void;
    handleMouseEnter: () => void;
    handleMouseLeave: (e: MouseEvent) => void;
    handleMouseLeavePopup: (e: any) => void;
    handleSubmenuItemClick: () => void;
}, unknown, {}, {
    renderPopup(triggerElement: Readonly<{
        [name: string]: import("vue").Slot;
    }>[]): JSX.Element;
    renderHeadSubmenu(): JSX.Element | JSX.Element[];
    renderSubmenu(): JSX.Element | JSX.Element[];
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    disabled: boolean;
}, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("@vue/runtime-core").Plugin<any[]>;
export declare const MenuItem: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            replace: boolean;
            disabled: boolean;
            href: string;
        }> & Omit<Readonly<import("vue").ExtractPropTypes<{
            content: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            default: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            disabled: BooleanConstructor;
            href: {
                type: StringConstructor;
                default: string;
            };
            icon: {
                type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
            };
            replace: BooleanConstructor;
            router: {
                type: import("vue").PropType<Record<string, any>>;
            };
            target: {
                type: import("vue").PropType<"_self" | "_blank" | "_parent" | "_top">;
                validator(val: "_self" | "_blank" | "_parent" | "_top"): boolean;
            };
            to: {
                type: import("vue").PropType<import("./type").MenuRoute>;
            };
            value: {
                type: import("vue").PropType<import("./type").MenuValue>;
            };
            onClick: import("vue").PropType<(context: {
                e: MouseEvent;
            }) => void>;
        }>> & {
            onClick?: (...args: any[]) => any;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "replace" | "disabled" | "href">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot;
        }>;
        $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: "click", ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            content: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            default: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            disabled: BooleanConstructor;
            href: {
                type: StringConstructor;
                default: string;
            };
            icon: {
                type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
            };
            replace: BooleanConstructor;
            router: {
                type: import("vue").PropType<Record<string, any>>;
            };
            target: {
                type: import("vue").PropType<"_self" | "_blank" | "_parent" | "_top">;
                validator(val: "_self" | "_blank" | "_parent" | "_top"): boolean;
            };
            to: {
                type: import("vue").PropType<import("./type").MenuRoute>;
            };
            value: {
                type: import("vue").PropType<import("./type").MenuValue>;
            };
            onClick: import("vue").PropType<(context: {
                e: MouseEvent;
            }) => void>;
        }>> & {
            onClick?: (...args: any[]) => any;
        }, {
            classPrefix: import("vue").ComputedRef<string>;
            menu: import("./const").TdMenuInterface;
            active: import("vue").ComputedRef<boolean>;
            classes: import("vue").ComputedRef<(string | {
                [x: string]: boolean;
            })[]>;
            itemRef: import("vue").Ref<HTMLElement>;
            href: import("vue").Ref<string>;
            target: string | import("vue").Ref<"_self" | "_blank" | "_parent" | "_top">;
        }, unknown, {}, {
            handleClick(e: MouseEvent): void;
        }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], string, {
            replace: boolean;
            disabled: boolean;
            href: string;
        }, {}, string> & {
            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<{
        content: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        };
        default: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        };
        disabled: BooleanConstructor;
        href: {
            type: StringConstructor;
            default: string;
        };
        icon: {
            type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
        };
        replace: BooleanConstructor;
        router: {
            type: import("vue").PropType<Record<string, any>>;
        };
        target: {
            type: import("vue").PropType<"_self" | "_blank" | "_parent" | "_top">;
            validator(val: "_self" | "_blank" | "_parent" | "_top"): boolean;
        };
        to: {
            type: import("vue").PropType<import("./type").MenuRoute>;
        };
        value: {
            type: import("vue").PropType<import("./type").MenuValue>;
        };
        onClick: import("vue").PropType<(context: {
            e: MouseEvent;
        }) => void>;
    }>> & {
        onClick?: (...args: any[]) => any;
    } & import("vue").ShallowUnwrapRef<{
        classPrefix: import("vue").ComputedRef<string>;
        menu: import("./const").TdMenuInterface;
        active: import("vue").ComputedRef<boolean>;
        classes: import("vue").ComputedRef<(string | {
            [x: string]: boolean;
        })[]>;
        itemRef: import("vue").Ref<HTMLElement>;
        href: import("vue").Ref<string>;
        target: string | import("vue").Ref<"_self" | "_blank" | "_parent" | "_top">;
    }> & {} & {
        handleClick(e: MouseEvent): void;
    } & import("vue").ComponentCustomProperties & {};
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    content: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
    };
    default: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
    };
    disabled: BooleanConstructor;
    href: {
        type: StringConstructor;
        default: string;
    };
    icon: {
        type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
    };
    replace: BooleanConstructor;
    router: {
        type: import("vue").PropType<Record<string, any>>;
    };
    target: {
        type: import("vue").PropType<"_self" | "_blank" | "_parent" | "_top">;
        validator(val: "_self" | "_blank" | "_parent" | "_top"): boolean;
    };
    to: {
        type: import("vue").PropType<import("./type").MenuRoute>;
    };
    value: {
        type: import("vue").PropType<import("./type").MenuValue>;
    };
    onClick: import("vue").PropType<(context: {
        e: MouseEvent;
    }) => void>;
}>> & {
    onClick?: (...args: any[]) => any;
}, {
    classPrefix: import("vue").ComputedRef<string>;
    menu: import("./const").TdMenuInterface;
    active: import("vue").ComputedRef<boolean>;
    classes: import("vue").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    itemRef: import("vue").Ref<HTMLElement>;
    href: import("vue").Ref<string>;
    target: string | import("vue").Ref<"_self" | "_blank" | "_parent" | "_top">;
}, unknown, {}, {
    handleClick(e: MouseEvent): void;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", {
    replace: boolean;
    disabled: boolean;
    href: string;
}, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("@vue/runtime-core").Plugin<any[]>;
export declare const MenuGroup: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{}> & Omit<Readonly<import("vue").ExtractPropTypes<{
            title: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
        }>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot;
        }>;
        $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<{
            title: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
        }>>, {
            classPrefix: import("vue").ComputedRef<string>;
        }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string> & {
            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<{
        title: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        };
    }>> & import("vue").ShallowUnwrapRef<{
        classPrefix: import("vue").ComputedRef<string>;
    }> & {} & import("vue").ComponentCustomProperties & {};
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    title: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
    };
}>>, {
    classPrefix: import("vue").ComputedRef<string>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("@vue/runtime-core").Plugin<any[]>;
