/// <reference types="node" />
import { Props } from './types/submenu';
declare const _sfc_main: {
    name: string;
    props: {
        /**
         * 菜单项的唯一标识，必填
         *
         * @type {String | NUmber}
         */
        name: {
            type: (NumberConstructor | StringConstructor)[];
            required: boolean;
        };
        /**
         * 禁用
         *
         * @type {Boolean}
         */
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
    };
    setup(props: Props): {
        prefixCls: string;
        reference: import("vue").Ref<HTMLDivElement>;
        dropDown: import("vue").Ref<any>;
        data: {
            opened: boolean;
            dropWidth: number;
            timeout: {
                hasRef: () => boolean;
                refresh: () => NodeJS.Timeout;
                [Symbol.toPrimitive]: () => number;
                ref: () => NodeJS.Timeout;
                unref: () => NodeJS.Timeout;
            };
            childSubmenuList: {
                uid: number;
                submenu: {
                    data: {
                        opened: boolean;
                        active: string | number | boolean;
                    };
                    name: number;
                    activeName: (status: string | number | boolean) => void;
                };
            }[];
            active: string | number | boolean;
        };
        Menu: import("./types/menu").MenuContext;
        wrapperClasses: import("vue").ComputedRef<(string | {
            [x: string]: string | number | boolean;
        })[]>;
        titleStyle: import("vue").ComputedRef<{
            paddingLeft?: string;
        }>;
        dropDownStyle: import("vue").ComputedRef<{
            minWidth: string;
        }>;
        iconClasses: import("vue").ComputedRef<(string | {
            [x: string]: boolean;
        })[]>;
        activeName: (status: boolean | string | number) => void;
        handleTitleClick: () => void;
        handleMouseenter: () => void;
        handleMouseleave: () => void;
        handleMenuItemSelect: (name: any) => void;
    };
    components: {
        CollapseTransition: (props: any, context: any) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>;
        DropDown: {
            name: string;
            emits: string[];
            props: {
                transfer: {
                    type: BooleanConstructor;
                    default(): any;
                };
                transitionName: {
                    type: StringConstructor;
                    default: string;
                };
                placement: {
                    type: StringConstructor;
                    default: string;
                };
                visible: {
                    type: BooleanConstructor;
                };
                styles: {
                    type: ObjectConstructor;
                    default: () => void;
                };
                classes: {
                    type: ObjectConstructor;
                    default: () => void;
                };
                className: {
                    type: StringConstructor;
                };
            };
            setup(props: import("./types/drop-down").Props, { emit }: {
                emit: any;
            }): {
                dropDown: import("vue").Ref<HTMLDivElement>;
                data: {
                    width: string;
                    zIndex: number;
                    popper: any;
                    popperStatus: boolean;
                };
                wrapperClasses: import("vue").ComputedRef<any>;
                wrapperStyles: import("vue").ComputedRef<{
                    minWidth?: string;
                }>;
                update: () => void;
                destroy: () => void;
                handleMouseenter: (event: MouseEvent) => void;
                handleMouseleave: (event: MouseEvent) => void;
                handleClick: (event: MouseEvent) => void;
            };
        };
        IvueIcon: import("vue").DefineComponent<{
            svgSrc: {
                type: StringConstructor;
            };
            order: {
                type: NumberConstructor;
            };
        }, {
            styles: import("vue").ComputedRef<{
                order: number;
            }>;
            handleSvgLoaded: () => void;
        }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "on-svg-loaded"[], "on-svg-loaded", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
            svgSrc: {
                type: StringConstructor;
            };
            order: {
                type: NumberConstructor;
            };
        }>> & {
            "onOn-svg-loaded"?: (...args: any[]) => any;
        }, {}>;
    };
};
export default _sfc_main;
