import { TdMenuProps, TdHeadMenuProps, TdSubmenuProps, TdMenuItemProps } 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: {
            width?: string | number | (string | number)[];
            value?: import("./type").MenuValue;
            expanded?: import("./type").MenuValue[];
            modelValue?: import("./type").MenuValue;
            theme?: "dark" | "light";
            defaultExpanded?: import("./type").MenuValue[];
            expandType?: "normal" | "popup";
            collapsed?: boolean;
            expandMutex?: boolean;
            key?: string | number | symbol;
            style?: unknown;
            readonly onChange?: (value: import("./type").MenuValue) => void;
            class?: unknown;
            ref?: import("vue").VNodeRef;
            ref_for?: boolean;
            ref_key?: string;
            readonly defaultValue?: import("./type").MenuValue;
            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)[];
            readonly logo?: (h: typeof import("vue").h) => import("..").SlotReturnValue;
            readonly operations?: (h: typeof import("vue").h) => import("..").SlotReturnValue;
            readonly onExpand?: (value: import("./type").MenuValue[]) => void;
            readonly onCollapsed?: Function;
        };
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot<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<{
            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[]>;
            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[];
            modelValue: import("./type").MenuValue;
            theme: "dark" | "light";
            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[]>;
        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[]>;
    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[];
    modelValue: import("./type").MenuValue;
    theme: "dark" | "light";
    defaultExpanded: import("./type").MenuValue[];
    expandType: "normal" | "popup";
    collapsed: boolean;
    expandMutex: boolean;
}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin<any[]>;
export declare const HeadMenu: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: {
            value?: import("./type").MenuValue;
            expanded?: import("./type").MenuValue[];
            modelValue?: import("./type").MenuValue;
            theme?: "dark" | "light";
            defaultExpanded?: import("./type").MenuValue[];
            expandType?: "normal" | "popup";
            key?: string | number | symbol;
            style?: unknown;
            readonly onChange?: (value: import("./type").MenuValue) => void;
            class?: unknown;
            ref?: import("vue").VNodeRef;
            ref_for?: boolean;
            ref_key?: string;
            readonly defaultValue?: import("./type").MenuValue;
            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)[];
            readonly logo?: (h: typeof import("vue").h) => import("..").SlotReturnValue;
            readonly operations?: (h: typeof import("vue").h) => import("..").SlotReturnValue;
            readonly onExpand?: (value: import("./type").MenuValue[]) => void;
        };
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot<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<{
            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[];
            modelValue: import("./type").MenuValue;
            theme: "dark" | "light";
            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[];
    modelValue: import("./type").MenuValue;
    theme: "dark" | "light";
    defaultExpanded: import("./type").MenuValue[];
    expandType: "normal" | "popup";
}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin<any[]>;
export declare const Submenu: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: {
            disabled?: boolean;
            readonly default?: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            key?: string | number | symbol;
            readonly content?: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            readonly value?: import("./type").MenuValue;
            style?: unknown;
            readonly title?: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            readonly icon?: (h: typeof import("vue").h) => import("..").SlotReturnValue;
            class?: 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)[];
            readonly popupProps?: unknown;
        };
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot<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<{
            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>;
            };
            popupProps: {
                type: import("vue").PropType<import("..").TdPopupProps>;
            };
            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;
            })[]>;
            isOpen: import("vue").ComputedRef<boolean>;
            transitionClass: import("vue").ComputedRef<string>;
            arrowClass: import("vue").ComputedRef<{
                [x: string]: boolean;
            }[]>;
            overlayInnerClassName: import("vue").ComputedRef<import("..").ClassName[]>;
            overlayClassName: import("vue").ComputedRef<import("..").ClassName[]>;
            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<any>;
            }>[]): 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>;
        };
        popupProps: {
            type: import("vue").PropType<import("..").TdPopupProps>;
        };
        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;
        })[]>;
        isOpen: import("vue").ComputedRef<boolean>;
        transitionClass: import("vue").ComputedRef<string>;
        arrowClass: import("vue").ComputedRef<{
            [x: string]: boolean;
        }[]>;
        overlayInnerClassName: import("vue").ComputedRef<import("..").ClassName[]>;
        overlayClassName: import("vue").ComputedRef<import("..").ClassName[]>;
        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<any>;
        }>[]): 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>;
    };
    popupProps: {
        type: import("vue").PropType<import("..").TdPopupProps>;
    };
    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;
    })[]>;
    isOpen: import("vue").ComputedRef<boolean>;
    transitionClass: import("vue").ComputedRef<string>;
    arrowClass: import("vue").ComputedRef<{
        [x: string]: boolean;
    }[]>;
    overlayInnerClassName: import("vue").ComputedRef<import("..").ClassName[]>;
    overlayClassName: import("vue").ComputedRef<import("..").ClassName[]>;
    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<any>;
    }>[]): 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").Plugin<any[]>;
export declare const MenuItem: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: {
            replace?: boolean;
            disabled?: boolean;
            href?: string;
            routerLink?: boolean;
            readonly default?: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            key?: string | number | symbol;
            readonly content?: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            readonly value?: import("./type").MenuValue;
            style?: unknown;
            readonly target?: "_self" | "_blank" | "_parent" | "_top";
            readonly icon?: (h: typeof import("vue").h) => import("..").SlotReturnValue;
            onClick?: ((context: {
                e: MouseEvent;
                value: import("./type").MenuValue;
            }) => void) & ((...args: any[]) => any);
            class?: unknown;
            readonly to?: 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)[];
            readonly router?: unknown;
        };
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot<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: "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>>;
            };
            routerLink: BooleanConstructor;
            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;
                value: import("./type").MenuValue;
            }) => void>;
        }>> & {
            onClick?: (...args: any[]) => any;
        }, {
            classPrefix: import("vue").ComputedRef<string>;
            menu: import("./const").TdMenuInterface;
            active: import("vue").ComputedRef<boolean>;
            collapsed: 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;
            routerLink: 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;
        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>>;
        };
        routerLink: BooleanConstructor;
        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;
            value: import("./type").MenuValue;
        }) => void>;
    }>> & {
        onClick?: (...args: any[]) => any;
    } & import("vue").ShallowUnwrapRef<{
        classPrefix: import("vue").ComputedRef<string>;
        menu: import("./const").TdMenuInterface;
        active: import("vue").ComputedRef<boolean>;
        collapsed: 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>>;
    };
    routerLink: BooleanConstructor;
    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;
        value: import("./type").MenuValue;
    }) => void>;
}>> & {
    onClick?: (...args: any[]) => any;
}, {
    classPrefix: import("vue").ComputedRef<string>;
    menu: import("./const").TdMenuInterface;
    active: import("vue").ComputedRef<boolean>;
    collapsed: 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;
    routerLink: boolean;
}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin<any[]>;
export declare const MenuGroup: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: {
            key?: string | number | symbol;
            style?: unknown;
            readonly title?: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            class?: 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)[];
        };
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot<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<{
            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").Plugin<any[]>;
