import type { PropType } from 'vue';
import type { TypeHeadMenuProps, TypeMenuItemProps, TypeMenuProps } from './type';
export declare const MenuProps: {
    collapsed: BooleanConstructor;
    expanded: {
        type: PropType<import("./type").MenuValue[]>;
    };
    defaultExpanded: {
        type: PropType<import("./type").MenuValue[]>;
    };
    expandMutex: BooleanConstructor;
    expandType: {
        type: PropType<"popup" | "normal">;
        default: "popup" | "normal";
        validator(val: TypeMenuProps['expandType']): boolean;
    };
    logo: {
        type: PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    operations: {
        type: PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    theme: {
        type: PropType<"dark" | "light">;
        default: "dark" | "light";
        validator(val: TypeMenuProps['theme']): boolean;
    };
    value: {
        type: PropType<import("./type").MenuValue>;
    };
    defaultValue: {
        type: PropType<import("./type").MenuValue>;
    };
    width: {
        type: PropType<string | number | (string | number)[]>;
        default: string;
    };
    onChange: PropType<(value: import("./type").MenuValue) => void>;
    onExpand: PropType<(value: import("./type").MenuValue[]) => void>;
};
export declare const MenuItemProps: {
    content: {
        type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    default: {
        type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    disabled: BooleanConstructor;
    href: {
        type: StringConstructor;
        default: string;
    };
    icon: {
        type: PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    replace: BooleanConstructor;
    router: {
        type: PropType<Record<string, any>>;
    };
    target: {
        type: PropType<"_self" | "_blank" | "_parent" | "_top">;
        validator(val: TypeMenuItemProps['target']): boolean;
    };
    to: {
        type: PropType<import("./type").MenuRoute>;
    };
    value: {
        type: PropType<import("./type").MenuValue>;
    };
    onClick: PropType<(context: {
        e: MouseEvent;
    }) => void>;
};
export declare const MenuGroupProps: {
    title: {
        type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
};
export declare const HeadMenuProps: {
    expanded: {
        type: PropType<import("./type").MenuValue[]>;
    };
    defaultExpanded: {
        type: PropType<import("./type").MenuValue[]>;
    };
    expandType: {
        type: PropType<"popup" | "normal">;
        default: "popup" | "normal";
        validator(val: TypeHeadMenuProps['expandType']): boolean;
    };
    logo: {
        type: PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    operations: {
        type: PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    theme: {
        type: PropType<"dark" | "light">;
        default: "dark" | "light";
        validator(val: TypeHeadMenuProps['theme']): boolean;
    };
    value: {
        type: PropType<import("./type").MenuValue>;
    };
    defaultValue: {
        type: PropType<import("./type").MenuValue>;
    };
    onChange: PropType<(value: import("./type").MenuValue) => void>;
    onExpand: PropType<(value: import("./type").MenuValue[]) => void>;
};
export declare const SubMenuProps: {
    content: {
        type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    default: {
        type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    disabled: BooleanConstructor;
    icon: {
        type: PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    title: {
        type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    value: {
        type: PropType<import("./type").MenuValue>;
    };
};
declare const _default: {
    MenuProps: {
        collapsed: BooleanConstructor;
        expanded: {
            type: PropType<import("./type").MenuValue[]>;
        };
        defaultExpanded: {
            type: PropType<import("./type").MenuValue[]>;
        };
        expandMutex: BooleanConstructor;
        expandType: {
            type: PropType<"popup" | "normal">;
            default: "popup" | "normal";
            validator(val: "popup" | "normal"): boolean;
        };
        logo: {
            type: PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
        };
        operations: {
            type: PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
        };
        theme: {
            type: PropType<"dark" | "light">;
            default: "dark" | "light";
            validator(val: "dark" | "light"): boolean;
        };
        value: {
            type: PropType<import("./type").MenuValue>;
        };
        defaultValue: {
            type: PropType<import("./type").MenuValue>;
        };
        width: {
            type: PropType<string | number | (string | number)[]>;
            default: string;
        };
        onChange: PropType<(value: import("./type").MenuValue) => void>;
        onExpand: PropType<(value: import("./type").MenuValue[]) => void>;
    };
    MenuItemProps: {
        content: {
            type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        };
        default: {
            type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        };
        disabled: BooleanConstructor;
        href: {
            type: StringConstructor;
            default: string;
        };
        icon: {
            type: PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
        };
        replace: BooleanConstructor;
        router: {
            type: PropType<Record<string, any>>;
        };
        target: {
            type: PropType<"_self" | "_blank" | "_parent" | "_top">;
            validator(val: "_self" | "_blank" | "_parent" | "_top"): boolean;
        };
        to: {
            type: PropType<import("./type").MenuRoute>;
        };
        value: {
            type: PropType<import("./type").MenuValue>;
        };
        onClick: PropType<(context: {
            e: MouseEvent;
        }) => void>;
    };
    MenuGroupProps: {
        title: {
            type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        };
    };
    SubMenuProps: {
        content: {
            type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        };
        default: {
            type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        };
        disabled: BooleanConstructor;
        icon: {
            type: PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
        };
        title: {
            type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        };
        value: {
            type: PropType<import("./type").MenuValue>;
        };
    };
};
export default _default;
