import { MenuItem as ArcoMenuItem, MenuItemGroup as ArcoMenuItemGroup, SubMenu as ArcoSubMenu } from '@tuoyuan/arco';
export declare const Menu: {
    new (...args: any[]): {
        $: import('vue').ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            mode: "horizontal" | "vertical" | "pop" | "popButton";
        }> & Omit<Readonly<{
            theme?: unknown;
            mode?: unknown;
        } & {
            mode: "horizontal" | "vertical" | "pop" | "popButton";
        } & {
            theme?: "dark" | "light" | undefined;
        }> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "mode">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import('vue').Slot | undefined;
        }>;
        $root: import('vue').ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import('vue').ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null;
        $parent: import('vue').ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import('vue').ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null;
        $emit: (event: string, ...args: any[]) => void;
        $el: any;
        $options: import('vue').ComponentOptionsBase<Readonly<{
            theme?: unknown;
            mode?: unknown;
        } & {
            mode: "horizontal" | "vertical" | "pop" | "popButton";
        } & {
            theme?: "dark" | "light" | undefined;
        }>, () => JSX.Element, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, Record<string, any>, string, {
            mode: "horizontal" | "vertical" | "pop" | "popButton";
        }> & {
            beforeCreate?: ((() => void) | (() => void)[]) | undefined;
            created?: ((() => void) | (() => void)[]) | undefined;
            beforeMount?: ((() => void) | (() => void)[]) | undefined;
            mounted?: ((() => void) | (() => void)[]) | undefined;
            beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
            updated?: ((() => void) | (() => void)[]) | undefined;
            activated?: ((() => void) | (() => void)[]) | undefined;
            deactivated?: ((() => void) | (() => void)[]) | undefined;
            beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
            beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
            destroyed?: ((() => void) | (() => void)[]) | undefined;
            unmounted?: ((() => void) | (() => void)[]) | undefined;
            renderTracked?: (((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[]) | undefined;
            renderTriggered?: (((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[]) | undefined;
            errorCaptured?: (((err: unknown, instance: import('vue').ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import('vue').ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import('vue').ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void)[]) | undefined;
        };
        $forceUpdate: () => void;
        $nextTick: typeof import('vue').nextTick;
        $watch(source: string | Function, cb: Function, options?: import('vue').WatchOptions<boolean> | undefined): import('vue').WatchStopHandle;
    } & Readonly<{
        theme?: unknown;
        mode?: unknown;
    } & {
        mode: "horizontal" | "vertical" | "pop" | "popButton";
    } & {
        theme?: "dark" | "light" | undefined;
    }> & import('vue').ShallowUnwrapRef<() => JSX.Element> & {} & {} & import('vue').ComponentCustomProperties;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & import('vue').ComponentOptionsBase<Readonly<{
    theme?: unknown;
    mode?: unknown;
} & {
    mode: "horizontal" | "vertical" | "pop" | "popButton";
} & {
    theme?: "dark" | "light" | undefined;
}>, () => JSX.Element, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, Record<string, any>, string, {
    mode: "horizontal" | "vertical" | "pop" | "popButton";
}, {}, string, {}, {}, {}, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & {
    Item: import('vue').DefineComponent<{
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
    }, {
        menuContext: Partial<Readonly<Pick<import('@tuoyuan/arco/es/menu/interface').InternalMenuProps, "tooltipProps" | "mode" | "triggerProps" | "theme" | "popupMaxHeight" | "levelIndent" | "autoScrollIntoView" | "scrollConfig" | "inTrigger"> & {
            selectedKeys: string[];
            openKeys: string[];
            prefixCls: string;
            collapsed: boolean;
            expandIconDown?: (() => import('vue').VNodeTypes) | undefined;
            expandIconRight?: (() => import('vue').VNodeTypes) | undefined;
            onSubMenuClick?: ((key: string, level: number) => void) | undefined;
            onMenuItemClick?: ((key: string) => void) | undefined;
        }>>;
        level: import('vue').ComputedRef<number>;
        isSelected: import('vue').ComputedRef<boolean>;
        refItemElement: import('vue').Ref<HTMLDivElement | undefined>;
        onClick(e: MouseEvent): void;
    }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "click"[], "click", import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, Readonly<{
        disabled?: unknown;
    } & {
        disabled: boolean;
    } & {}> & {
        onClick?: ((...args: any[]) => any) | undefined;
    }, {
        disabled: boolean;
    }>;
    ItemGroup: import('vue').DefineComponent<{
        title: {
            type: StringConstructor;
        };
    }, {
        prefixCls: import('vue').ComputedRef<string | undefined>;
        classNames: import('vue').ComputedRef<string[]>;
        level: import('vue').ComputedRef<number>;
    }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, Record<string, any>, string, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, Readonly<{
        title?: unknown;
    } & {} & {
        title?: string | undefined;
    }>, {}>;
    SubMenu: import('vue').DefineComponent<{
        title: {
            type: StringConstructor;
        };
        selectable: {
            type: BooleanConstructor;
        };
        popup: {
            type: import('vue').PropType<boolean | ((level: number) => boolean)>;
            default: boolean;
        };
        popupMaxHeight: {
            type: import('vue').PropType<number | boolean>;
            default: undefined;
        };
    }, {
        subMenuKeys: import('vue').ComputedRef<string[]>;
        menuItemKeys: import('vue').ComputedRef<string[]>;
        isChildrenSelected: import('vue').ComputedRef<boolean>;
        props: Readonly<{
            title: string | undefined;
            popup: boolean | ((level: number) => boolean);
            selectable: boolean;
            popupMaxHeight: number | boolean | undefined;
        }>;
        attrs: {
            [x: string]: unknown;
        };
        computedKey: import('vue').ComputedRef<string>;
        computedPopup: import('vue').ComputedRef<boolean>;
        expandIconDown: import('vue').Ref<(() => import('vue').VNodeTypes) | undefined>;
        expandIconRight: import('vue').Ref<(() => import('vue').VNodeTypes) | undefined>;
    }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, Record<string, any>, string, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, Readonly<{
        title?: unknown;
        selectable?: unknown;
        popup?: unknown;
        popupMaxHeight?: unknown;
    } & {
        popup: boolean | ((level: number) => boolean);
        selectable: boolean;
    } & {
        title?: string | undefined;
        popupMaxHeight?: number | boolean | undefined;
    }>, {
        popup: boolean | ((level: number) => boolean);
        selectable: boolean;
        popupMaxHeight: number | boolean;
    }>;
    install: (app: import('vue').App, options?: import('@tuoyuan/arco/es/_utils/types').ArcoOptions | undefined) => void;
};
export default Menu;
export { ArcoMenuItem as MenuItem, ArcoMenuItemGroup as MenuItemGroup, ArcoSubMenu as SubMenu };
