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: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    styles: import("@vue/composition-api").ComputedRef<{
        height: string;
        width: string;
    }>;
    menuClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    innerClasses: import("@vue/composition-api").ComputedRef<string[]>;
    activeValue: import("@vue/composition-api").Ref<import("./type").MenuValue>;
    activeValues: import("@vue/composition-api").Ref<any[]>;
    expandValues: import("@vue/composition-api").Ref<import("./type").MenuValue[]>;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}> & import("@vue/composition-api").Data, {}, {}, {
    collapsed: BooleanConstructor;
    expanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    defaultExpanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    expandMutex: BooleanConstructor;
    expandType: {
        type: import("vue").PropType<"normal" | "popup">;
        default: "normal" | "popup";
        validator(val: "normal" | "popup"): boolean;
    };
    logo: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    operations: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    theme: {
        type: import("vue").PropType<"dark" | "light">;
        default: "dark" | "light";
        validator(val: "dark" | "light"): boolean;
    };
    value: {
        type: import("vue").PropType<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/composition-api").ExtractPropTypes<{
    collapsed: BooleanConstructor;
    expanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    defaultExpanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    expandMutex: BooleanConstructor;
    expandType: {
        type: import("vue").PropType<"normal" | "popup">;
        default: "normal" | "popup";
        validator(val: "normal" | "popup"): boolean;
    };
    logo: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    operations: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    theme: {
        type: import("vue").PropType<"dark" | "light">;
        default: "dark" | "light";
        validator(val: "dark" | "light"): boolean;
    };
    value: {
        type: import("vue").PropType<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>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    width: string | number | (string | number)[];
    theme: "dark" | "light";
    expandType: "normal" | "popup";
    collapsed: boolean;
    expandMutex: boolean;
} & {
    value?: import("./type").MenuValue;
    expanded?: import("./type").MenuValue[];
    onChange?: (value: import("./type").MenuValue) => void;
    defaultValue?: import("./type").MenuValue;
    defaultExpanded?: import("./type").MenuValue[];
    logo?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    operations?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    onExpand?: (value: import("./type").MenuValue[]) => void;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    styles: import("@vue/composition-api").ComputedRef<{
        height: string;
        width: string;
    }>;
    menuClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    innerClasses: import("@vue/composition-api").ComputedRef<string[]>;
    activeValue: import("@vue/composition-api").Ref<import("./type").MenuValue>;
    activeValues: import("@vue/composition-api").Ref<any[]>;
    expandValues: import("@vue/composition-api").Ref<import("./type").MenuValue[]>;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, {
    width: string | number | (string | number)[];
    theme: "dark" | "light";
    expandType: "normal" | "popup";
    collapsed: boolean;
    expandMutex: boolean;
} & {
    value?: import("./type").MenuValue;
    expanded?: import("./type").MenuValue[];
    onChange?: (value: import("./type").MenuValue) => void;
    defaultValue?: import("./type").MenuValue;
    defaultExpanded?: import("./type").MenuValue[];
    logo?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    operations?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    onExpand?: (value: import("./type").MenuValue[]) => void;
}, {
    width: string | number | (string | number)[];
    theme: "dark" | "light";
    expandType: "normal" | "popup";
    collapsed: boolean;
    expandMutex: boolean;
}, true>) & import("vue").PluginObject<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    styles: import("@vue/composition-api").ComputedRef<{
        height: string;
        width: string;
    }>;
    menuClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    innerClasses: import("@vue/composition-api").ComputedRef<string[]>;
    activeValue: import("@vue/composition-api").Ref<import("./type").MenuValue>;
    activeValues: import("@vue/composition-api").Ref<any[]>;
    expandValues: import("@vue/composition-api").Ref<import("./type").MenuValue[]>;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}> & import("@vue/composition-api").Data, {}, {}, {
    collapsed: BooleanConstructor;
    expanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    defaultExpanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    expandMutex: BooleanConstructor;
    expandType: {
        type: import("vue").PropType<"normal" | "popup">;
        default: "normal" | "popup";
        validator(val: "normal" | "popup"): boolean;
    };
    logo: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    operations: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    theme: {
        type: import("vue").PropType<"dark" | "light">;
        default: "dark" | "light";
        validator(val: "dark" | "light"): boolean;
    };
    value: {
        type: import("vue").PropType<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/composition-api").ExtractPropTypes<{
    collapsed: BooleanConstructor;
    expanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    defaultExpanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    expandMutex: BooleanConstructor;
    expandType: {
        type: import("vue").PropType<"normal" | "popup">;
        default: "normal" | "popup";
        validator(val: "normal" | "popup"): boolean;
    };
    logo: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    operations: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    theme: {
        type: import("vue").PropType<"dark" | "light">;
        default: "dark" | "light";
        validator(val: "dark" | "light"): boolean;
    };
    value: {
        type: import("vue").PropType<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>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    width: string | number | (string | number)[];
    theme: "dark" | "light";
    expandType: "normal" | "popup";
    collapsed: boolean;
    expandMutex: boolean;
} & {
    value?: import("./type").MenuValue;
    expanded?: import("./type").MenuValue[];
    onChange?: (value: import("./type").MenuValue) => void;
    defaultValue?: import("./type").MenuValue;
    defaultExpanded?: import("./type").MenuValue[];
    logo?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    operations?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    onExpand?: (value: import("./type").MenuValue[]) => void;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    styles: import("@vue/composition-api").ComputedRef<{
        height: string;
        width: string;
    }>;
    menuClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    innerClasses: import("@vue/composition-api").ComputedRef<string[]>;
    activeValue: import("@vue/composition-api").Ref<import("./type").MenuValue>;
    activeValues: import("@vue/composition-api").Ref<any[]>;
    expandValues: import("@vue/composition-api").Ref<import("./type").MenuValue[]>;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, {
    width: string | number | (string | number)[];
    theme: "dark" | "light";
    expandType: "normal" | "popup";
    collapsed: boolean;
    expandMutex: boolean;
} & {
    value?: import("./type").MenuValue;
    expanded?: import("./type").MenuValue[];
    onChange?: (value: import("./type").MenuValue) => void;
    defaultValue?: import("./type").MenuValue;
    defaultExpanded?: import("./type").MenuValue[];
    logo?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    operations?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    onExpand?: (value: import("./type").MenuValue[]) => void;
}, {
    width: string | number | (string | number)[];
    theme: "dark" | "light";
    expandType: "normal" | "popup";
    collapsed: boolean;
    expandMutex: boolean;
}, true>)> & import("vue").PluginObject<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    styles: import("@vue/composition-api").ComputedRef<{
        height: string;
        width: string;
    }>;
    menuClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    innerClasses: import("@vue/composition-api").ComputedRef<string[]>;
    activeValue: import("@vue/composition-api").Ref<import("./type").MenuValue>;
    activeValues: import("@vue/composition-api").Ref<any[]>;
    expandValues: import("@vue/composition-api").Ref<import("./type").MenuValue[]>;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}> & import("@vue/composition-api").Data, {}, {}, {
    collapsed: BooleanConstructor;
    expanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    defaultExpanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    expandMutex: BooleanConstructor;
    expandType: {
        type: import("vue").PropType<"normal" | "popup">;
        default: "normal" | "popup";
        validator(val: "normal" | "popup"): boolean;
    };
    logo: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    operations: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    theme: {
        type: import("vue").PropType<"dark" | "light">;
        default: "dark" | "light";
        validator(val: "dark" | "light"): boolean;
    };
    value: {
        type: import("vue").PropType<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/composition-api").ExtractPropTypes<{
    collapsed: BooleanConstructor;
    expanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    defaultExpanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    expandMutex: BooleanConstructor;
    expandType: {
        type: import("vue").PropType<"normal" | "popup">;
        default: "normal" | "popup";
        validator(val: "normal" | "popup"): boolean;
    };
    logo: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    operations: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    theme: {
        type: import("vue").PropType<"dark" | "light">;
        default: "dark" | "light";
        validator(val: "dark" | "light"): boolean;
    };
    value: {
        type: import("vue").PropType<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>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    width: string | number | (string | number)[];
    theme: "dark" | "light";
    expandType: "normal" | "popup";
    collapsed: boolean;
    expandMutex: boolean;
} & {
    value?: import("./type").MenuValue;
    expanded?: import("./type").MenuValue[];
    onChange?: (value: import("./type").MenuValue) => void;
    defaultValue?: import("./type").MenuValue;
    defaultExpanded?: import("./type").MenuValue[];
    logo?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    operations?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    onExpand?: (value: import("./type").MenuValue[]) => void;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    styles: import("@vue/composition-api").ComputedRef<{
        height: string;
        width: string;
    }>;
    menuClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    innerClasses: import("@vue/composition-api").ComputedRef<string[]>;
    activeValue: import("@vue/composition-api").Ref<import("./type").MenuValue>;
    activeValues: import("@vue/composition-api").Ref<any[]>;
    expandValues: import("@vue/composition-api").Ref<import("./type").MenuValue[]>;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, {
    width: string | number | (string | number)[];
    theme: "dark" | "light";
    expandType: "normal" | "popup";
    collapsed: boolean;
    expandMutex: boolean;
} & {
    value?: import("./type").MenuValue;
    expanded?: import("./type").MenuValue[];
    onChange?: (value: import("./type").MenuValue) => void;
    defaultValue?: import("./type").MenuValue;
    defaultExpanded?: import("./type").MenuValue[];
    logo?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    operations?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    onExpand?: (value: import("./type").MenuValue[]) => void;
}, {
    width: string | number | (string | number)[];
    theme: "dark" | "light";
    expandType: "normal" | "popup";
    collapsed: boolean;
    expandMutex: boolean;
}, true>) & import("vue").PluginObject<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    styles: import("@vue/composition-api").ComputedRef<{
        height: string;
        width: string;
    }>;
    menuClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    innerClasses: import("@vue/composition-api").ComputedRef<string[]>;
    activeValue: import("@vue/composition-api").Ref<import("./type").MenuValue>;
    activeValues: import("@vue/composition-api").Ref<any[]>;
    expandValues: import("@vue/composition-api").Ref<import("./type").MenuValue[]>;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}> & import("@vue/composition-api").Data, {}, {}, {
    collapsed: BooleanConstructor;
    expanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    defaultExpanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    expandMutex: BooleanConstructor;
    expandType: {
        type: import("vue").PropType<"normal" | "popup">;
        default: "normal" | "popup";
        validator(val: "normal" | "popup"): boolean;
    };
    logo: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    operations: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    theme: {
        type: import("vue").PropType<"dark" | "light">;
        default: "dark" | "light";
        validator(val: "dark" | "light"): boolean;
    };
    value: {
        type: import("vue").PropType<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/composition-api").ExtractPropTypes<{
    collapsed: BooleanConstructor;
    expanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    defaultExpanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    expandMutex: BooleanConstructor;
    expandType: {
        type: import("vue").PropType<"normal" | "popup">;
        default: "normal" | "popup";
        validator(val: "normal" | "popup"): boolean;
    };
    logo: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    operations: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    theme: {
        type: import("vue").PropType<"dark" | "light">;
        default: "dark" | "light";
        validator(val: "dark" | "light"): boolean;
    };
    value: {
        type: import("vue").PropType<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>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    width: string | number | (string | number)[];
    theme: "dark" | "light";
    expandType: "normal" | "popup";
    collapsed: boolean;
    expandMutex: boolean;
} & {
    value?: import("./type").MenuValue;
    expanded?: import("./type").MenuValue[];
    onChange?: (value: import("./type").MenuValue) => void;
    defaultValue?: import("./type").MenuValue;
    defaultExpanded?: import("./type").MenuValue[];
    logo?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    operations?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    onExpand?: (value: import("./type").MenuValue[]) => void;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    styles: import("@vue/composition-api").ComputedRef<{
        height: string;
        width: string;
    }>;
    menuClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    innerClasses: import("@vue/composition-api").ComputedRef<string[]>;
    activeValue: import("@vue/composition-api").Ref<import("./type").MenuValue>;
    activeValues: import("@vue/composition-api").Ref<any[]>;
    expandValues: import("@vue/composition-api").Ref<import("./type").MenuValue[]>;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, {
    width: string | number | (string | number)[];
    theme: "dark" | "light";
    expandType: "normal" | "popup";
    collapsed: boolean;
    expandMutex: boolean;
} & {
    value?: import("./type").MenuValue;
    expanded?: import("./type").MenuValue[];
    onChange?: (value: import("./type").MenuValue) => void;
    defaultValue?: import("./type").MenuValue;
    defaultExpanded?: import("./type").MenuValue[];
    logo?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    operations?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    onExpand?: (value: import("./type").MenuValue[]) => void;
}, {
    width: string | number | (string | number)[];
    theme: "dark" | "light";
    expandType: "normal" | "popup";
    collapsed: boolean;
    expandMutex: boolean;
}, true>)>>;
export declare const HeadMenu: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    mode: import("@vue/composition-api").Ref<"normal" | "popup">;
    menuClass: import("@vue/composition-api").ComputedRef<string[]>;
    expandValues: import("@vue/composition-api").Ref<import("./type").MenuValue[]>;
    activeValue: import("@vue/composition-api").Ref<import("./type").MenuValue>;
    activeValues: import("@vue/composition-api").Ref<any[]>;
    submenu: any[];
    handleTabChange: (value: import("./type").MenuValue) => void;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}> & import("@vue/composition-api").Data, {
    renderNormalSubmenu(node: import("./v-menu").VMenuData[], depth: number): JSX.Element;
}, {}, {
    expanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    defaultExpanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    expandType: {
        type: import("vue").PropType<"normal" | "popup">;
        default: "normal" | "popup";
        validator(val: "normal" | "popup"): boolean;
    };
    logo: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    operations: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    theme: {
        type: import("vue").PropType<"dark" | "light">;
        default: "dark" | "light";
        validator(val: "dark" | "light"): boolean;
    };
    value: {
        type: import("vue").PropType<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/composition-api").ExtractPropTypes<{
    expanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    defaultExpanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    expandType: {
        type: import("vue").PropType<"normal" | "popup">;
        default: "normal" | "popup";
        validator(val: "normal" | "popup"): boolean;
    };
    logo: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    operations: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    theme: {
        type: import("vue").PropType<"dark" | "light">;
        default: "dark" | "light";
        validator(val: "dark" | "light"): boolean;
    };
    value: {
        type: import("vue").PropType<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>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    theme: "dark" | "light";
    expandType: "normal" | "popup";
} & {
    value?: import("./type").MenuValue;
    expanded?: import("./type").MenuValue[];
    onChange?: (value: import("./type").MenuValue) => void;
    defaultValue?: import("./type").MenuValue;
    defaultExpanded?: import("./type").MenuValue[];
    logo?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    operations?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    onExpand?: (value: import("./type").MenuValue[]) => void;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    mode: import("@vue/composition-api").Ref<"normal" | "popup">;
    menuClass: import("@vue/composition-api").ComputedRef<string[]>;
    expandValues: import("@vue/composition-api").Ref<import("./type").MenuValue[]>;
    activeValue: import("@vue/composition-api").Ref<import("./type").MenuValue>;
    activeValues: import("@vue/composition-api").Ref<any[]>;
    submenu: any[];
    handleTabChange: (value: import("./type").MenuValue) => void;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}>, import("@vue/composition-api").Data, {}, {
    renderNormalSubmenu(node: import("./v-menu").VMenuData[], depth: number): JSX.Element;
}, {}, {}, {}, {
    theme: "dark" | "light";
    expandType: "normal" | "popup";
} & {
    value?: import("./type").MenuValue;
    expanded?: import("./type").MenuValue[];
    onChange?: (value: import("./type").MenuValue) => void;
    defaultValue?: import("./type").MenuValue;
    defaultExpanded?: import("./type").MenuValue[];
    logo?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    operations?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    onExpand?: (value: import("./type").MenuValue[]) => void;
}, {
    theme: "dark" | "light";
    expandType: "normal" | "popup";
}, true>) & import("vue").PluginObject<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    mode: import("@vue/composition-api").Ref<"normal" | "popup">;
    menuClass: import("@vue/composition-api").ComputedRef<string[]>;
    expandValues: import("@vue/composition-api").Ref<import("./type").MenuValue[]>;
    activeValue: import("@vue/composition-api").Ref<import("./type").MenuValue>;
    activeValues: import("@vue/composition-api").Ref<any[]>;
    submenu: any[];
    handleTabChange: (value: import("./type").MenuValue) => void;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}> & import("@vue/composition-api").Data, {
    renderNormalSubmenu(node: import("./v-menu").VMenuData[], depth: number): JSX.Element;
}, {}, {
    expanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    defaultExpanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    expandType: {
        type: import("vue").PropType<"normal" | "popup">;
        default: "normal" | "popup";
        validator(val: "normal" | "popup"): boolean;
    };
    logo: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    operations: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    theme: {
        type: import("vue").PropType<"dark" | "light">;
        default: "dark" | "light";
        validator(val: "dark" | "light"): boolean;
    };
    value: {
        type: import("vue").PropType<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/composition-api").ExtractPropTypes<{
    expanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    defaultExpanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    expandType: {
        type: import("vue").PropType<"normal" | "popup">;
        default: "normal" | "popup";
        validator(val: "normal" | "popup"): boolean;
    };
    logo: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    operations: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    theme: {
        type: import("vue").PropType<"dark" | "light">;
        default: "dark" | "light";
        validator(val: "dark" | "light"): boolean;
    };
    value: {
        type: import("vue").PropType<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>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    theme: "dark" | "light";
    expandType: "normal" | "popup";
} & {
    value?: import("./type").MenuValue;
    expanded?: import("./type").MenuValue[];
    onChange?: (value: import("./type").MenuValue) => void;
    defaultValue?: import("./type").MenuValue;
    defaultExpanded?: import("./type").MenuValue[];
    logo?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    operations?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    onExpand?: (value: import("./type").MenuValue[]) => void;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    mode: import("@vue/composition-api").Ref<"normal" | "popup">;
    menuClass: import("@vue/composition-api").ComputedRef<string[]>;
    expandValues: import("@vue/composition-api").Ref<import("./type").MenuValue[]>;
    activeValue: import("@vue/composition-api").Ref<import("./type").MenuValue>;
    activeValues: import("@vue/composition-api").Ref<any[]>;
    submenu: any[];
    handleTabChange: (value: import("./type").MenuValue) => void;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}>, import("@vue/composition-api").Data, {}, {
    renderNormalSubmenu(node: import("./v-menu").VMenuData[], depth: number): JSX.Element;
}, {}, {}, {}, {
    theme: "dark" | "light";
    expandType: "normal" | "popup";
} & {
    value?: import("./type").MenuValue;
    expanded?: import("./type").MenuValue[];
    onChange?: (value: import("./type").MenuValue) => void;
    defaultValue?: import("./type").MenuValue;
    defaultExpanded?: import("./type").MenuValue[];
    logo?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    operations?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    onExpand?: (value: import("./type").MenuValue[]) => void;
}, {
    theme: "dark" | "light";
    expandType: "normal" | "popup";
}, true>)> & import("vue").PluginObject<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    mode: import("@vue/composition-api").Ref<"normal" | "popup">;
    menuClass: import("@vue/composition-api").ComputedRef<string[]>;
    expandValues: import("@vue/composition-api").Ref<import("./type").MenuValue[]>;
    activeValue: import("@vue/composition-api").Ref<import("./type").MenuValue>;
    activeValues: import("@vue/composition-api").Ref<any[]>;
    submenu: any[];
    handleTabChange: (value: import("./type").MenuValue) => void;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}> & import("@vue/composition-api").Data, {
    renderNormalSubmenu(node: import("./v-menu").VMenuData[], depth: number): JSX.Element;
}, {}, {
    expanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    defaultExpanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    expandType: {
        type: import("vue").PropType<"normal" | "popup">;
        default: "normal" | "popup";
        validator(val: "normal" | "popup"): boolean;
    };
    logo: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    operations: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    theme: {
        type: import("vue").PropType<"dark" | "light">;
        default: "dark" | "light";
        validator(val: "dark" | "light"): boolean;
    };
    value: {
        type: import("vue").PropType<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/composition-api").ExtractPropTypes<{
    expanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    defaultExpanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    expandType: {
        type: import("vue").PropType<"normal" | "popup">;
        default: "normal" | "popup";
        validator(val: "normal" | "popup"): boolean;
    };
    logo: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    operations: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    theme: {
        type: import("vue").PropType<"dark" | "light">;
        default: "dark" | "light";
        validator(val: "dark" | "light"): boolean;
    };
    value: {
        type: import("vue").PropType<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>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    theme: "dark" | "light";
    expandType: "normal" | "popup";
} & {
    value?: import("./type").MenuValue;
    expanded?: import("./type").MenuValue[];
    onChange?: (value: import("./type").MenuValue) => void;
    defaultValue?: import("./type").MenuValue;
    defaultExpanded?: import("./type").MenuValue[];
    logo?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    operations?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    onExpand?: (value: import("./type").MenuValue[]) => void;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    mode: import("@vue/composition-api").Ref<"normal" | "popup">;
    menuClass: import("@vue/composition-api").ComputedRef<string[]>;
    expandValues: import("@vue/composition-api").Ref<import("./type").MenuValue[]>;
    activeValue: import("@vue/composition-api").Ref<import("./type").MenuValue>;
    activeValues: import("@vue/composition-api").Ref<any[]>;
    submenu: any[];
    handleTabChange: (value: import("./type").MenuValue) => void;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}>, import("@vue/composition-api").Data, {}, {
    renderNormalSubmenu(node: import("./v-menu").VMenuData[], depth: number): JSX.Element;
}, {}, {}, {}, {
    theme: "dark" | "light";
    expandType: "normal" | "popup";
} & {
    value?: import("./type").MenuValue;
    expanded?: import("./type").MenuValue[];
    onChange?: (value: import("./type").MenuValue) => void;
    defaultValue?: import("./type").MenuValue;
    defaultExpanded?: import("./type").MenuValue[];
    logo?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    operations?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    onExpand?: (value: import("./type").MenuValue[]) => void;
}, {
    theme: "dark" | "light";
    expandType: "normal" | "popup";
}, true>) & import("vue").PluginObject<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    mode: import("@vue/composition-api").Ref<"normal" | "popup">;
    menuClass: import("@vue/composition-api").ComputedRef<string[]>;
    expandValues: import("@vue/composition-api").Ref<import("./type").MenuValue[]>;
    activeValue: import("@vue/composition-api").Ref<import("./type").MenuValue>;
    activeValues: import("@vue/composition-api").Ref<any[]>;
    submenu: any[];
    handleTabChange: (value: import("./type").MenuValue) => void;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}> & import("@vue/composition-api").Data, {
    renderNormalSubmenu(node: import("./v-menu").VMenuData[], depth: number): JSX.Element;
}, {}, {
    expanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    defaultExpanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    expandType: {
        type: import("vue").PropType<"normal" | "popup">;
        default: "normal" | "popup";
        validator(val: "normal" | "popup"): boolean;
    };
    logo: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    operations: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    theme: {
        type: import("vue").PropType<"dark" | "light">;
        default: "dark" | "light";
        validator(val: "dark" | "light"): boolean;
    };
    value: {
        type: import("vue").PropType<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/composition-api").ExtractPropTypes<{
    expanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    defaultExpanded: {
        type: import("vue").PropType<import("./type").MenuValue[]>;
    };
    expandType: {
        type: import("vue").PropType<"normal" | "popup">;
        default: "normal" | "popup";
        validator(val: "normal" | "popup"): boolean;
    };
    logo: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    operations: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    theme: {
        type: import("vue").PropType<"dark" | "light">;
        default: "dark" | "light";
        validator(val: "dark" | "light"): boolean;
    };
    value: {
        type: import("vue").PropType<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>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    theme: "dark" | "light";
    expandType: "normal" | "popup";
} & {
    value?: import("./type").MenuValue;
    expanded?: import("./type").MenuValue[];
    onChange?: (value: import("./type").MenuValue) => void;
    defaultValue?: import("./type").MenuValue;
    defaultExpanded?: import("./type").MenuValue[];
    logo?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    operations?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    onExpand?: (value: import("./type").MenuValue[]) => void;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    mode: import("@vue/composition-api").Ref<"normal" | "popup">;
    menuClass: import("@vue/composition-api").ComputedRef<string[]>;
    expandValues: import("@vue/composition-api").Ref<import("./type").MenuValue[]>;
    activeValue: import("@vue/composition-api").Ref<import("./type").MenuValue>;
    activeValues: import("@vue/composition-api").Ref<any[]>;
    submenu: any[];
    handleTabChange: (value: import("./type").MenuValue) => void;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}>, import("@vue/composition-api").Data, {}, {
    renderNormalSubmenu(node: import("./v-menu").VMenuData[], depth: number): JSX.Element;
}, {}, {}, {}, {
    theme: "dark" | "light";
    expandType: "normal" | "popup";
} & {
    value?: import("./type").MenuValue;
    expanded?: import("./type").MenuValue[];
    onChange?: (value: import("./type").MenuValue) => void;
    defaultValue?: import("./type").MenuValue;
    defaultExpanded?: import("./type").MenuValue[];
    logo?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    operations?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    onExpand?: (value: import("./type").MenuValue[]) => void;
}, {
    theme: "dark" | "light";
    expandType: "normal" | "popup";
}, true>)>>;
export declare const Submenu: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    theme: import("@vue/composition-api").Ref<string>;
    mode: import("@vue/composition-api").Ref<string>;
    isHead: boolean;
    isNested: import("@vue/composition-api").Ref<boolean>;
    popupVisible: import("@vue/composition-api").Ref<boolean>;
    classes: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    subClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    isOpen: import("@vue/composition-api").ComputedRef<boolean>;
    transitionClass: import("@vue/composition-api").ComputedRef<string>;
    arrowClass: import("@vue/composition-api").ComputedRef<{
        [x: string]: boolean;
    }[]>;
    overlayInnerClassName: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    overlayClassName: import("@vue/composition-api").ComputedRef<import("..").ClassName[]>;
    submenuClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    rippleColor: import("@vue/composition-api").ComputedRef<"#E7E7E7" | "#383838">;
    popupWrapperRef: import("@vue/composition-api").Ref<HTMLElement>;
    handleEnterPopup: () => void;
    handleMouseEnter: () => void;
    handleMouseLeave: (e: MouseEvent) => void;
    handleMouseLeavePopup: (e: any) => void;
    handleSubmenuItemClick: () => void;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}> & import("@vue/composition-api").Data, {
    renderPopup(triggerElement: ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)[]): JSX.Element;
    renderHeadSubmenu(): JSX.Element | JSX.Element[];
    renderSubmenu(): JSX.Element | JSX.Element[];
}, {}, {
    content: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    default: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    disabled: BooleanConstructor;
    icon: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    popupProps: {
        type: import("vue").PropType<import("..").TdPopupProps>;
    };
    title: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    value: {
        type: import("vue").PropType<import("./type").MenuValue>;
    };
}, import("@vue/composition-api").ExtractPropTypes<{
    content: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    default: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    disabled: BooleanConstructor;
    icon: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    popupProps: {
        type: import("vue").PropType<import("..").TdPopupProps>;
    };
    title: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    value: {
        type: import("vue").PropType<import("./type").MenuValue>;
    };
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    disabled: boolean;
} & {
    default?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    content?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    value?: import("./type").MenuValue;
    title?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    icon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    popupProps?: unknown;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    theme: import("@vue/composition-api").Ref<string>;
    mode: import("@vue/composition-api").Ref<string>;
    isHead: boolean;
    isNested: import("@vue/composition-api").Ref<boolean>;
    popupVisible: import("@vue/composition-api").Ref<boolean>;
    classes: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    subClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    isOpen: import("@vue/composition-api").ComputedRef<boolean>;
    transitionClass: import("@vue/composition-api").ComputedRef<string>;
    arrowClass: import("@vue/composition-api").ComputedRef<{
        [x: string]: boolean;
    }[]>;
    overlayInnerClassName: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    overlayClassName: import("@vue/composition-api").ComputedRef<import("..").ClassName[]>;
    submenuClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    rippleColor: import("@vue/composition-api").ComputedRef<"#E7E7E7" | "#383838">;
    popupWrapperRef: import("@vue/composition-api").Ref<HTMLElement>;
    handleEnterPopup: () => void;
    handleMouseEnter: () => void;
    handleMouseLeave: (e: MouseEvent) => void;
    handleMouseLeavePopup: (e: any) => void;
    handleSubmenuItemClick: () => void;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}>, import("@vue/composition-api").Data, {}, {
    renderPopup(triggerElement: ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)[]): JSX.Element;
    renderHeadSubmenu(): JSX.Element | JSX.Element[];
    renderSubmenu(): JSX.Element | JSX.Element[];
}, {}, {}, {}, {
    disabled: boolean;
} & {
    default?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    content?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    value?: import("./type").MenuValue;
    title?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    icon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    popupProps?: unknown;
}, {
    disabled: boolean;
}, true>) & import("vue").PluginObject<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    theme: import("@vue/composition-api").Ref<string>;
    mode: import("@vue/composition-api").Ref<string>;
    isHead: boolean;
    isNested: import("@vue/composition-api").Ref<boolean>;
    popupVisible: import("@vue/composition-api").Ref<boolean>;
    classes: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    subClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    isOpen: import("@vue/composition-api").ComputedRef<boolean>;
    transitionClass: import("@vue/composition-api").ComputedRef<string>;
    arrowClass: import("@vue/composition-api").ComputedRef<{
        [x: string]: boolean;
    }[]>;
    overlayInnerClassName: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    overlayClassName: import("@vue/composition-api").ComputedRef<import("..").ClassName[]>;
    submenuClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    rippleColor: import("@vue/composition-api").ComputedRef<"#E7E7E7" | "#383838">;
    popupWrapperRef: import("@vue/composition-api").Ref<HTMLElement>;
    handleEnterPopup: () => void;
    handleMouseEnter: () => void;
    handleMouseLeave: (e: MouseEvent) => void;
    handleMouseLeavePopup: (e: any) => void;
    handleSubmenuItemClick: () => void;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}> & import("@vue/composition-api").Data, {
    renderPopup(triggerElement: ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)[]): JSX.Element;
    renderHeadSubmenu(): JSX.Element | JSX.Element[];
    renderSubmenu(): JSX.Element | JSX.Element[];
}, {}, {
    content: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    default: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    disabled: BooleanConstructor;
    icon: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    popupProps: {
        type: import("vue").PropType<import("..").TdPopupProps>;
    };
    title: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    value: {
        type: import("vue").PropType<import("./type").MenuValue>;
    };
}, import("@vue/composition-api").ExtractPropTypes<{
    content: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    default: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    disabled: BooleanConstructor;
    icon: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    popupProps: {
        type: import("vue").PropType<import("..").TdPopupProps>;
    };
    title: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    value: {
        type: import("vue").PropType<import("./type").MenuValue>;
    };
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    disabled: boolean;
} & {
    default?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    content?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    value?: import("./type").MenuValue;
    title?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    icon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    popupProps?: unknown;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    theme: import("@vue/composition-api").Ref<string>;
    mode: import("@vue/composition-api").Ref<string>;
    isHead: boolean;
    isNested: import("@vue/composition-api").Ref<boolean>;
    popupVisible: import("@vue/composition-api").Ref<boolean>;
    classes: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    subClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    isOpen: import("@vue/composition-api").ComputedRef<boolean>;
    transitionClass: import("@vue/composition-api").ComputedRef<string>;
    arrowClass: import("@vue/composition-api").ComputedRef<{
        [x: string]: boolean;
    }[]>;
    overlayInnerClassName: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    overlayClassName: import("@vue/composition-api").ComputedRef<import("..").ClassName[]>;
    submenuClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    rippleColor: import("@vue/composition-api").ComputedRef<"#E7E7E7" | "#383838">;
    popupWrapperRef: import("@vue/composition-api").Ref<HTMLElement>;
    handleEnterPopup: () => void;
    handleMouseEnter: () => void;
    handleMouseLeave: (e: MouseEvent) => void;
    handleMouseLeavePopup: (e: any) => void;
    handleSubmenuItemClick: () => void;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}>, import("@vue/composition-api").Data, {}, {
    renderPopup(triggerElement: ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)[]): JSX.Element;
    renderHeadSubmenu(): JSX.Element | JSX.Element[];
    renderSubmenu(): JSX.Element | JSX.Element[];
}, {}, {}, {}, {
    disabled: boolean;
} & {
    default?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    content?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    value?: import("./type").MenuValue;
    title?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    icon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    popupProps?: unknown;
}, {
    disabled: boolean;
}, true>)>;
export declare const MenuItem: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    menu: import("./const").TdMenuInterface;
    active: import("@vue/composition-api").ComputedRef<boolean>;
    collapsed: import("@vue/composition-api").ComputedRef<boolean>;
    classes: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    handleClick: (e: MouseEvent) => void;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}> & import("@vue/composition-api").Data, {}, {}, {
    content: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    default: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    disabled: BooleanConstructor;
    href: {
        type: StringConstructor;
        default: string;
    };
    icon: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    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>;
}, import("@vue/composition-api").ExtractPropTypes<{
    content: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    default: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    disabled: BooleanConstructor;
    href: {
        type: StringConstructor;
        default: string;
    };
    icon: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    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>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    replace: boolean;
    disabled: boolean;
    href: string;
    routerLink: boolean;
} & {
    default?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    content?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    value?: import("./type").MenuValue;
    target?: "_self" | "_blank" | "_parent" | "_top";
    to?: unknown;
    onClick?: (context: {
        e: MouseEvent;
        value: import("./type").MenuValue;
    }) => void;
    icon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    router?: unknown;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    menu: import("./const").TdMenuInterface;
    active: import("@vue/composition-api").ComputedRef<boolean>;
    collapsed: import("@vue/composition-api").ComputedRef<boolean>;
    classes: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    handleClick: (e: MouseEvent) => void;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, {
    replace: boolean;
    disabled: boolean;
    href: string;
    routerLink: boolean;
} & {
    default?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    content?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    value?: import("./type").MenuValue;
    target?: "_self" | "_blank" | "_parent" | "_top";
    to?: unknown;
    onClick?: (context: {
        e: MouseEvent;
        value: import("./type").MenuValue;
    }) => void;
    icon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    router?: unknown;
}, {
    replace: boolean;
    disabled: boolean;
    href: string;
    routerLink: boolean;
}, true>) & import("vue").PluginObject<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    menu: import("./const").TdMenuInterface;
    active: import("@vue/composition-api").ComputedRef<boolean>;
    collapsed: import("@vue/composition-api").ComputedRef<boolean>;
    classes: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    handleClick: (e: MouseEvent) => void;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}> & import("@vue/composition-api").Data, {}, {}, {
    content: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    default: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    disabled: BooleanConstructor;
    href: {
        type: StringConstructor;
        default: string;
    };
    icon: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    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>;
}, import("@vue/composition-api").ExtractPropTypes<{
    content: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    default: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    disabled: BooleanConstructor;
    href: {
        type: StringConstructor;
        default: string;
    };
    icon: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    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>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    replace: boolean;
    disabled: boolean;
    href: string;
    routerLink: boolean;
} & {
    default?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    content?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    value?: import("./type").MenuValue;
    target?: "_self" | "_blank" | "_parent" | "_top";
    to?: unknown;
    onClick?: (context: {
        e: MouseEvent;
        value: import("./type").MenuValue;
    }) => void;
    icon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    router?: unknown;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    menu: import("./const").TdMenuInterface;
    active: import("@vue/composition-api").ComputedRef<boolean>;
    collapsed: import("@vue/composition-api").ComputedRef<boolean>;
    classes: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    handleClick: (e: MouseEvent) => void;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, {
    replace: boolean;
    disabled: boolean;
    href: string;
    routerLink: boolean;
} & {
    default?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    content?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    value?: import("./type").MenuValue;
    target?: "_self" | "_blank" | "_parent" | "_top";
    to?: unknown;
    onClick?: (context: {
        e: MouseEvent;
        value: import("./type").MenuValue;
    }) => void;
    icon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    router?: unknown;
}, {
    replace: boolean;
    disabled: boolean;
    href: string;
    routerLink: boolean;
}, true>)>;
export declare const MenuGroup: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}> & import("@vue/composition-api").Data, {}, {}, {
    title: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
}, import("@vue/composition-api").ExtractPropTypes<{
    title: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{} & {
    title?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
}, import("@vue/composition-api").ShallowUnwrapRef<{
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, {} & {
    title?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
}, {}, true>) & import("vue").PluginObject<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}> & import("@vue/composition-api").Data, {}, {}, {
    title: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
}, import("@vue/composition-api").ExtractPropTypes<{
    title: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{} & {
    title?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
}, import("@vue/composition-api").ShallowUnwrapRef<{
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
}>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, {} & {
    title?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
}, {}, true>)>;
