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/types/vue").ExtendedVue<import("vue").default, unknown, {
    updateData(this: any, propName: string, v: any, ...args: any[]): any;
}, unknown, {
    [x: string]: any;
}> & import("vue").PluginObject<import("vue/types/vue").ExtendedVue<import("vue").default, unknown, {
    updateData(this: any, propName: string, v: any, ...args: any[]): any;
}, unknown, {
    [x: string]: any;
}>>;
export declare const HeadMenu: import("vue/types/vue").ExtendedVue<import("vue").default, unknown, {
    updateData(this: any, propName: string, v: any, ...args: any[]): any;
}, unknown, {
    [x: string]: any;
}> & import("vue").PluginObject<import("vue/types/vue").ExtendedVue<import("vue").default, unknown, {
    updateData(this: any, propName: string, v: any, ...args: any[]): any;
}, unknown, {
    [x: string]: any;
}>>;
export declare const Submenu: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    mode: import("@vue/composition-api").Ref<string>;
    isHead: boolean;
    isNested: 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;
    })[]>;
    arrowClass: import("@vue/composition-api").ComputedRef<{
        [x: string]: boolean;
    }[]>;
    popupClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    submenuClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    rippleColor: import("@vue/composition-api").ComputedRef<"#E7E7E7" | "#383838">;
    handleMouseEnter: () => void;
    handleMouseLeave: () => void;
    handleSubmenuItemClick: () => void;
}> & import("@vue/composition-api").Data, {
    renderHeadSubmenu(): JSX.Element[];
    renderSubmenu(): 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>;
    };
    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>;
    };
    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;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    mode: import("@vue/composition-api").Ref<string>;
    isHead: boolean;
    isNested: 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;
    })[]>;
    arrowClass: import("@vue/composition-api").ComputedRef<{
        [x: string]: boolean;
    }[]>;
    popupClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    submenuClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    rippleColor: import("@vue/composition-api").ComputedRef<"#E7E7E7" | "#383838">;
    handleMouseEnter: () => void;
    handleMouseLeave: () => void;
    handleSubmenuItemClick: () => void;
}>, import("@vue/composition-api").Data, {}, {
    renderHeadSubmenu(): JSX.Element[];
    renderSubmenu(): 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;
}, {
    disabled: boolean;
}, true>) & import("vue").PluginObject<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    mode: import("@vue/composition-api").Ref<string>;
    isHead: boolean;
    isNested: 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;
    })[]>;
    arrowClass: import("@vue/composition-api").ComputedRef<{
        [x: string]: boolean;
    }[]>;
    popupClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    submenuClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    rippleColor: import("@vue/composition-api").ComputedRef<"#E7E7E7" | "#383838">;
    handleMouseEnter: () => void;
    handleMouseLeave: () => void;
    handleSubmenuItemClick: () => void;
}> & import("@vue/composition-api").Data, {
    renderHeadSubmenu(): JSX.Element[];
    renderSubmenu(): 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>;
    };
    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>;
    };
    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;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    mode: import("@vue/composition-api").Ref<string>;
    isHead: boolean;
    isNested: 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;
    })[]>;
    arrowClass: import("@vue/composition-api").ComputedRef<{
        [x: string]: boolean;
    }[]>;
    popupClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    submenuClass: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    rippleColor: import("@vue/composition-api").ComputedRef<"#E7E7E7" | "#383838">;
    handleMouseEnter: () => void;
    handleMouseLeave: () => void;
    handleSubmenuItemClick: () => void;
}>, import("@vue/composition-api").Data, {}, {
    renderHeadSubmenu(): JSX.Element[];
    renderSubmenu(): 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;
}, {
    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>;
    classes: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    handleClick: () => void;
}> & 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>>;
    };
    target: {
        type: import("vue").PropType<"_self" | "_blank" | "_parent" | "_top">;
        validator(val: "_self" | "_blank" | "_parent" | "_top"): boolean;
    };
    to: {
        type: import("vue").PropType<import("./type").MenuRoute>;
    };
    value: {
        type: import("vue").PropType<import("./type").MenuValue>;
    };
    onClick: import("vue").PropType<(context: {
        e: MouseEvent;
    }) => void>;
}, 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>>;
    };
    target: {
        type: import("vue").PropType<"_self" | "_blank" | "_parent" | "_top">;
        validator(val: "_self" | "_blank" | "_parent" | "_top"): boolean;
    };
    to: {
        type: import("vue").PropType<import("./type").MenuRoute>;
    };
    value: {
        type: import("vue").PropType<import("./type").MenuValue>;
    };
    onClick: import("vue").PropType<(context: {
        e: MouseEvent;
    }) => void>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    replace: boolean;
    disabled: boolean;
    href: string;
} & {
    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;
    icon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    onClick?: (context: {
        e: MouseEvent;
    }) => void;
    router?: unknown;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    menu: import("./const").TdMenuInterface;
    active: import("@vue/composition-api").ComputedRef<boolean>;
    classes: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    handleClick: () => void;
}>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, {
    replace: boolean;
    disabled: boolean;
    href: string;
} & {
    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;
    icon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    onClick?: (context: {
        e: MouseEvent;
    }) => void;
    router?: unknown;
}, {
    replace: boolean;
    disabled: boolean;
    href: string;
}, 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>;
    classes: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    handleClick: () => void;
}> & 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>>;
    };
    target: {
        type: import("vue").PropType<"_self" | "_blank" | "_parent" | "_top">;
        validator(val: "_self" | "_blank" | "_parent" | "_top"): boolean;
    };
    to: {
        type: import("vue").PropType<import("./type").MenuRoute>;
    };
    value: {
        type: import("vue").PropType<import("./type").MenuValue>;
    };
    onClick: import("vue").PropType<(context: {
        e: MouseEvent;
    }) => void>;
}, 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>>;
    };
    target: {
        type: import("vue").PropType<"_self" | "_blank" | "_parent" | "_top">;
        validator(val: "_self" | "_blank" | "_parent" | "_top"): boolean;
    };
    to: {
        type: import("vue").PropType<import("./type").MenuRoute>;
    };
    value: {
        type: import("vue").PropType<import("./type").MenuValue>;
    };
    onClick: import("vue").PropType<(context: {
        e: MouseEvent;
    }) => void>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    replace: boolean;
    disabled: boolean;
    href: string;
} & {
    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;
    icon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    onClick?: (context: {
        e: MouseEvent;
    }) => void;
    router?: unknown;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    menu: import("./const").TdMenuInterface;
    active: import("@vue/composition-api").ComputedRef<boolean>;
    classes: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    handleClick: () => void;
}>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, {
    replace: boolean;
    disabled: boolean;
    href: string;
} & {
    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;
    icon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    onClick?: (context: {
        e: MouseEvent;
    }) => void;
    router?: unknown;
}, {
    replace: boolean;
    disabled: boolean;
    href: string;
}, true>)>;
export declare const MenuGroup: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<import("@vue/composition-api").Data> & 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<import("@vue/composition-api").Data>, 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<import("@vue/composition-api").Data> & 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<import("@vue/composition-api").Data>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, {} & {
    title?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
}, {}, true>)>;
