import type { GenerateStyle } from '@antdv/pro-provider';
import type { Key, VueNode } from '@antdv/pro-utils';
import type { AvatarProps } from 'ant-design-vue';
import type { CSSProperties, ExtractPropTypes, Ref, VNode } from 'vue';
import type { WithFalse } from '../../typing';
import type { AppItemProps, AppListProps } from '../AppsLogoComponents/types';
import type { SiderMenuProps } from './interface';
import type { SiderMenuToken } from './style/stylish';
export type HeaderRenderKey = 'menuHeaderRender' | 'headerTitleRender';
export declare function renderLogoAndTitle(props: SiderMenuProps, renderKey?: HeaderRenderKey): VueNode;
export declare const siderMenuProps: {
    readonly onCollapse: import("@antdv/pro-utils").VueTypeValidateDef<(collapsed: boolean) => void, import("@antdv/pro-utils").ValidatorFunction<(collapsed: boolean) => void>> & {
        required: true;
    };
    readonly motion: import("vue").PropType<import("ant-design-vue/es/_util/transition").CSSMotionProps>;
    readonly colorPrimary: import("@antdv/pro-utils").VueTypeValidateDef<string, import("@antdv/pro-utils").ValidatorFunction<string>>;
    readonly className: StringConstructor;
    readonly style: import("@antdv/pro-utils").VueTypeValidateDef<CSSProperties, import("@antdv/pro-utils").ValidatorFunction<CSSProperties>>;
    readonly prefixCls: StringConstructor;
    readonly layout: import("@antdv/pro-utils").VueTypeDef<"top" | "side" | "mix">;
    readonly menu: import("@antdv/pro-utils").VueTypeValidateDef<{
        locale?: boolean;
        hideMenuWhenCollapsed?: boolean;
        collapsedShowTitle?: boolean;
        collapsedShowGroupTitle?: boolean;
        defaultOpenAll?: boolean;
        ignoreFlatMenu?: boolean;
        loading?: boolean;
        onLoadingChange?: (loading?: boolean) => void;
        params?: Record<string, any>;
        request?: (params: Record<string, any>, defaultMenuData: import("../../typing").MenuDataItem[]) => Promise<import("../../typing").MenuDataItem[]>;
        type?: "sub" | "group";
        autoClose?: false;
    }, import("@antdv/pro-utils").ValidatorFunction<{
        locale?: boolean;
        hideMenuWhenCollapsed?: boolean;
        collapsedShowTitle?: boolean;
        collapsedShowGroupTitle?: boolean;
        defaultOpenAll?: boolean;
        ignoreFlatMenu?: boolean;
        loading?: boolean;
        onLoadingChange?: (loading?: boolean) => void;
        params?: Record<string, any>;
        request?: (params: Record<string, any>, defaultMenuData: import("../../typing").MenuDataItem[]) => Promise<import("../../typing").MenuDataItem[]>;
        type?: "sub" | "group";
        autoClose?: false;
    }>>;
    readonly multiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    readonly disabled: BooleanConstructor;
    readonly title: import("@antdv/pro-utils").VueTypeDef<WithFalse<string>> & {
        default: WithFalse<string>;
    };
    readonly onFocus: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
    readonly onBlur: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
    readonly onClick: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").MenuClickEventHandler>;
    readonly onMousedown: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
    readonly onSelect: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").SelectEventHandler>;
    readonly getPopupContainer: import("vue").PropType<(node: HTMLElement) => HTMLElement>;
    readonly id: StringConstructor;
    readonly items: import("vue").PropType<import("ant-design-vue").ItemType[]>;
    readonly inlineCollapsed: BooleanConstructor;
    readonly disabledOverflow: BooleanConstructor;
    readonly forceSubMenuRender: BooleanConstructor;
    readonly openKeys: import("@antdv/pro-utils").VueTypeDef<false | Key[]> & {
        default: false | (() => Key[]);
    };
    readonly selectedKeys: import("vue").PropType<import("ant-design-vue/es/_util/type").Key[]>;
    readonly activeKey: StringConstructor;
    readonly selectable: {
        type: BooleanConstructor;
        default: boolean;
    };
    readonly tabindex: {
        type: (StringConstructor | NumberConstructor)[];
    };
    readonly role: StringConstructor;
    readonly theme: {
        type: import("vue").PropType<import("ant-design-vue").MenuTheme>;
        default: string;
    };
    readonly mode: import("@antdv/pro-utils").VueTypeDef<import("./BaseMenu").MenuMode>;
    readonly inlineIndent: {
        type: NumberConstructor;
        default: number;
    };
    readonly subMenuOpenDelay: {
        type: NumberConstructor;
        default: number;
    };
    readonly subMenuCloseDelay: {
        type: NumberConstructor;
        default: number;
    };
    readonly builtinPlacements: {
        type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").BuiltinPlacements>;
    };
    readonly triggerSubMenuAction: {
        type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").TriggerSubMenuAction>;
        default: string;
    };
    readonly expandIcon: import("vue").PropType<(p?: {
        [key: string]: any;
        isOpen: boolean;
    }) => any>;
    readonly onDeselect: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").SelectEventHandler>;
    readonly 'onUpdate:openKeys': import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
    readonly 'onUpdate:selectedKeys': import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
    readonly 'onUpdate:activeKey': import("vue").PropType<(key: import("ant-design-vue/es/_util/type").Key) => void>;
    readonly formatMessage: import("@antdv/pro-utils").VueTypeValidateDef<(message: import("../../typing").MessageDescriptor) => string, import("@antdv/pro-utils").ValidatorFunction<(message: import("../../typing").MessageDescriptor) => string>>;
    readonly route: import("@antdv/pro-utils").VueTypeValidateDef<import("../../typing").Route, import("@antdv/pro-utils").ValidatorFunction<import("../../typing").Route>>;
    readonly location: import("@antdv/pro-utils").VueTypeValidateDef<{
        pathname?: string;
    }, import("@antdv/pro-utils").ValidatorFunction<{
        pathname?: string;
    }>>;
    readonly computedMatch: import("@antdv/pro-utils").VueTypeValidateDef<import("../../typing").match<any>, import("@antdv/pro-utils").ValidatorFunction<import("../../typing").match<any>>>;
    readonly navTheme: import("@antdv/pro-utils").VueTypeDef<"light" | "realDark">;
    readonly contentWidth: import("@antdv/pro-utils").VueTypeDef<import("../../defaultSettings").ContentWidth>;
    readonly fixedHeader: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>> & {
        default: boolean;
    };
    readonly fixSiderbar: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>> & {
        default: boolean;
    };
    readonly iconfontUrl: import("@antdv/pro-utils").VueTypeValidateDef<string, import("@antdv/pro-utils").ValidatorFunction<string>>;
    readonly colorWeak: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>>;
    readonly splitMenus: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>>;
    readonly suppressSiderWhenMenuEmpty: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>>;
    readonly siderMenuType: import("@antdv/pro-utils").VueTypeDef<"sub" | "group">;
    readonly defaultCollapsed: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>>;
    readonly collapsed: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>> & {
        default: boolean;
    };
    readonly isMobile: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>> & {
        default: boolean;
    };
    readonly menuData: import("@antdv/pro-utils").VueTypeValidateDef<import("../../typing").MenuDataItem[], import("@antdv/pro-utils").ValidatorFunction<import("../../typing").MenuDataItem[]>>;
    readonly handleOpenChange: import("@antdv/pro-utils").VueTypeValidateDef<(openKeys: Key[]) => void, import("@antdv/pro-utils").ValidatorFunction<(openKeys: Key[]) => void>>;
    readonly iconPrefixes: StringConstructor;
    readonly menuProps: import("@antdv/pro-utils").VueTypeValidateDef<Partial<ExtractPropTypes<{
        id: StringConstructor;
        prefixCls: StringConstructor;
        items: import("vue").PropType<import("ant-design-vue").ItemType[]>;
        disabled: BooleanConstructor;
        inlineCollapsed: BooleanConstructor;
        disabledOverflow: BooleanConstructor;
        forceSubMenuRender: BooleanConstructor;
        openKeys: import("vue").PropType<import("ant-design-vue/es/_util/type").Key[]>;
        selectedKeys: import("vue").PropType<import("ant-design-vue/es/_util/type").Key[]>;
        activeKey: StringConstructor;
        selectable: {
            type: BooleanConstructor;
            default: boolean;
        };
        multiple: {
            type: BooleanConstructor;
            default: boolean;
        };
        tabindex: {
            type: (StringConstructor | NumberConstructor)[];
        };
        motion: import("vue").PropType<import("ant-design-vue/es/_util/transition").CSSMotionProps>;
        role: StringConstructor;
        theme: {
            type: import("vue").PropType<import("ant-design-vue").MenuTheme>;
            default: string;
        };
        mode: {
            type: import("vue").PropType<import("ant-design-vue").MenuMode>;
            default: string;
        };
        inlineIndent: {
            type: NumberConstructor;
            default: number;
        };
        subMenuOpenDelay: {
            type: NumberConstructor;
            default: number;
        };
        subMenuCloseDelay: {
            type: NumberConstructor;
            default: number;
        };
        builtinPlacements: {
            type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").BuiltinPlacements>;
        };
        triggerSubMenuAction: {
            type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").TriggerSubMenuAction>;
            default: string;
        };
        getPopupContainer: import("vue").PropType<(node: HTMLElement) => HTMLElement>;
        expandIcon: import("vue").PropType<(p?: {
            [key: string]: any;
            isOpen: boolean;
        }) => any>;
        onOpenChange: import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
        onSelect: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").SelectEventHandler>;
        onDeselect: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").SelectEventHandler>;
        onClick: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").MenuClickEventHandler>;
        onFocus: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
        onBlur: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
        onMousedown: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
        'onUpdate:openKeys': import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
        'onUpdate:selectedKeys': import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
        'onUpdate:activeKey': import("vue").PropType<(key: import("ant-design-vue/es/_util/type").Key) => void>;
    }>> & {
        style?: CSSProperties;
    }, import("@antdv/pro-utils").ValidatorFunction<Partial<ExtractPropTypes<{
        id: StringConstructor;
        prefixCls: StringConstructor;
        items: import("vue").PropType<import("ant-design-vue").ItemType[]>;
        disabled: BooleanConstructor;
        inlineCollapsed: BooleanConstructor;
        disabledOverflow: BooleanConstructor;
        forceSubMenuRender: BooleanConstructor;
        openKeys: import("vue").PropType<import("ant-design-vue/es/_util/type").Key[]>;
        selectedKeys: import("vue").PropType<import("ant-design-vue/es/_util/type").Key[]>;
        activeKey: StringConstructor;
        selectable: {
            type: BooleanConstructor;
            default: boolean;
        };
        multiple: {
            type: BooleanConstructor;
            default: boolean;
        };
        tabindex: {
            type: (StringConstructor | NumberConstructor)[];
        };
        motion: import("vue").PropType<import("ant-design-vue/es/_util/transition").CSSMotionProps>;
        role: StringConstructor;
        theme: {
            type: import("vue").PropType<import("ant-design-vue").MenuTheme>;
            default: string;
        };
        mode: {
            type: import("vue").PropType<import("ant-design-vue").MenuMode>;
            default: string;
        };
        inlineIndent: {
            type: NumberConstructor;
            default: number;
        };
        subMenuOpenDelay: {
            type: NumberConstructor;
            default: number;
        };
        subMenuCloseDelay: {
            type: NumberConstructor;
            default: number;
        };
        builtinPlacements: {
            type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").BuiltinPlacements>;
        };
        triggerSubMenuAction: {
            type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").TriggerSubMenuAction>;
            default: string;
        };
        getPopupContainer: import("vue").PropType<(node: HTMLElement) => HTMLElement>;
        expandIcon: import("vue").PropType<(p?: {
            [key: string]: any;
            isOpen: boolean;
        }) => any>;
        onOpenChange: import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
        onSelect: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").SelectEventHandler>;
        onDeselect: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").SelectEventHandler>;
        onClick: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").MenuClickEventHandler>;
        onFocus: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
        onBlur: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
        onMousedown: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
        'onUpdate:openKeys': import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
        'onUpdate:selectedKeys': import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
        'onUpdate:activeKey': import("vue").PropType<(key: import("ant-design-vue/es/_util/type").Key) => void>;
    }>> & {
        style?: CSSProperties;
    }>>;
    readonly subMenuItemRender: import("@antdv/pro-utils").VueTypeDef<WithFalse<(item: import("../../typing").MenuDataItem & {
        isUrl: boolean;
    }, defaultDom: VNode, menuProps: import("./BaseMenu").BaseMenuProps) => VNode>> & {
        default: WithFalse<(item: import("../../typing").MenuDataItem & {
            isUrl: boolean;
        }, defaultDom: VNode, menuProps: import("./BaseMenu").BaseMenuProps) => VNode>;
    };
    readonly menuItemRender: import("@antdv/pro-utils").VueTypeDef<false | ((item: import("../../typing").MenuDataItem & {
        isUrl: boolean;
        onClick: () => void;
    }, defaultDom: VNode, menuProps: import("./BaseMenu").BaseMenuProps & Partial<PrivateSiderMenuProps>) => VNode)> & {
        default: false | ((item: import("../../typing").MenuDataItem & {
            isUrl: boolean;
            onClick: () => void;
        }, defaultDom: VNode, menuProps: import("./BaseMenu").BaseMenuProps & Partial<PrivateSiderMenuProps>) => VNode);
    };
    readonly postMenuData: import("@antdv/pro-utils").VueTypeValidateDef<(menusData?: import("../../typing").MenuDataItem[]) => import("../../typing").MenuDataItem[], import("@antdv/pro-utils").ValidatorFunction<(menusData?: import("../../typing").MenuDataItem[]) => import("../../typing").MenuDataItem[]>>;
    readonly logo: import("@antdv/pro-utils").VueTypeValidateDef<VueNode, import("@antdv/pro-utils").ValidatorFunction<VueNode>>;
    readonly appList: import("@antdv/pro-utils").VueTypeValidateDef<AppItemProps[], import("@antdv/pro-utils").ValidatorFunction<AppItemProps[]>>;
    readonly appListRender: import("@antdv/pro-utils").VueTypeValidateDef<(props: AppListProps, defaultDom: VNode) => VueNode, import("@antdv/pro-utils").ValidatorFunction<(props: AppListProps, defaultDom: VNode) => VueNode>>;
    readonly itemClick: import("@antdv/pro-utils").VueTypeValidateDef<(item: AppItemProps, popoverRef?: Ref<HTMLSpanElement | null>) => void, import("@antdv/pro-utils").ValidatorFunction<(item: AppItemProps, popoverRef?: Ref<HTMLSpanElement | null>) => void>>;
    readonly siderWidth: import("@antdv/pro-utils").VueTypeValidateDef<number, import("@antdv/pro-utils").ValidatorFunction<number>>;
    readonly avatarProps: import("@antdv/pro-utils").VueTypeDef<WithFalse<Partial<ExtractPropTypes<{
        prefixCls: StringConstructor;
        shape: {
            type: import("vue").PropType<"circle" | "square">;
            default: string;
        };
        size: {
            type: import("vue").PropType<import("ant-design-vue/es/avatar").AvatarSize>;
            default: () => import("ant-design-vue/es/avatar").AvatarSize;
        };
        src: StringConstructor;
        srcset: StringConstructor;
        icon: import("vue-types").VueTypeValidableDef<any>;
        alt: StringConstructor;
        gap: NumberConstructor;
        draggable: {
            type: BooleanConstructor;
            default: any;
        };
        crossOrigin: import("vue").PropType<"" | "anonymous" | "use-credentials">;
        loadError: {
            type: import("vue").PropType<() => boolean>;
        };
    }>> & {
        title?: VueNode;
        render?: (avatarProps: AvatarProps, defaultDom: VNode, props: SiderMenuProps) => VueNode;
    }>> & {
        default: false | (() => Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            shape: {
                type: import("vue").PropType<"circle" | "square">;
                default: string;
            };
            size: {
                type: import("vue").PropType<import("ant-design-vue/es/avatar").AvatarSize>;
                default: () => import("ant-design-vue/es/avatar").AvatarSize;
            };
            src: StringConstructor;
            srcset: StringConstructor;
            icon: import("vue-types").VueTypeValidableDef<any>;
            alt: StringConstructor;
            gap: NumberConstructor;
            draggable: {
                type: BooleanConstructor;
                default: any;
            };
            crossOrigin: import("vue").PropType<"" | "anonymous" | "use-credentials">;
            loadError: {
                type: import("vue").PropType<() => boolean>;
            };
        }>> & {
            title?: VueNode;
            render?: (avatarProps: Partial<ExtractPropTypes<{
                prefixCls: StringConstructor;
                shape: {
                    type: import("vue").PropType<"circle" | "square">;
                    default: string;
                };
                size: {
                    type: import("vue").PropType<import("ant-design-vue/es/avatar").AvatarSize>;
                    default: () => import("ant-design-vue/es/avatar").AvatarSize;
                };
                src: StringConstructor;
                srcset: StringConstructor;
                icon: import("vue-types").VueTypeValidableDef<any>;
                alt: StringConstructor;
                gap: NumberConstructor;
                draggable: {
                    type: BooleanConstructor;
                    default: any;
                };
                crossOrigin: import("vue").PropType<"" | "anonymous" | "use-credentials">;
                loadError: {
                    type: import("vue").PropType<() => boolean>;
                };
            }>>, defaultDom: VNode, props: SiderMenuProps) => VueNode;
        });
    };
    readonly actionsRender: import("@antdv/pro-utils").VueTypeDef<WithFalse<(props: any) => VueNode[] | VueNode>> & {
        default: WithFalse<(props: any) => VueNode[] | VueNode>;
    };
    readonly menuHeaderRender: import("@antdv/pro-utils").VueTypeDef<WithFalse<(logo: VueNode, title: VueNode, props?: SiderMenuProps) => VueNode>> & {
        default: WithFalse<(logo: VueNode, title: VueNode, props?: SiderMenuProps) => VueNode>;
    };
    readonly menuFooterRender: import("@antdv/pro-utils").VueTypeDef<WithFalse<(props?: SiderMenuProps) => VueNode>> & {
        default: WithFalse<(props?: SiderMenuProps) => VueNode>;
    };
    readonly menuContentRender: import("@antdv/pro-utils").VueTypeDef<WithFalse<(props: SiderMenuProps, defaultDom: VueNode) => VueNode>> & {
        default: WithFalse<(props: SiderMenuProps, defaultDom: VueNode) => VueNode>;
    };
    readonly menuExtraRender: import("@antdv/pro-utils").VueTypeDef<WithFalse<(props: SiderMenuProps) => VueNode>>;
    readonly collapsedButtonRender: import("@antdv/pro-utils").VueTypeDef<WithFalse<(collapsed?: boolean, defaultDom?: VNode) => VueNode>> & {
        default: WithFalse<(collapsed?: boolean, defaultDom?: VNode) => VueNode>;
    };
    readonly breakpoint: import("@antdv/pro-utils").VueTypeDef<string | false | undefined> & {
        default: string | false | undefined;
    };
    readonly onMenuHeaderClick: import("@antdv/pro-utils").VueTypeValidateDef<(e: MouseEvent) => void, import("@antdv/pro-utils").ValidatorFunction<(e: MouseEvent) => void>>;
    readonly links: import("@antdv/pro-utils").VueTypeValidateDef<VueNode[], import("@antdv/pro-utils").ValidatorFunction<VueNode[]>>;
    readonly onOpenChange: import("@antdv/pro-utils").VueTypeValidateDef<(openKeys: WithFalse<Key[]>) => void, import("@antdv/pro-utils").ValidatorFunction<(openKeys: WithFalse<Key[]>) => void>>;
    readonly getContainer: import("@antdv/pro-utils").VueTypeValidateDef<false, import("@antdv/pro-utils").ValidatorFunction<false>>;
    readonly logoStyle: import("@antdv/pro-utils").VueTypeValidateDef<CSSProperties, import("@antdv/pro-utils").ValidatorFunction<CSSProperties>>;
    readonly hide: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>>;
};
export declare function privateSiderMenuProps(): {
    readonly matchMenuKeys: import("@antdv/pro-utils").VueTypeValidateDef<string[], import("@antdv/pro-utils").ValidatorFunction<string[]>> & {
        required: true;
    };
    readonly originCollapsed: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>> & {
        default: boolean;
    };
    readonly menuRenderType: import("@antdv/pro-utils").VueTypeDef<"sider" | "header">;
    readonly stylish: import("@antdv/pro-utils").VueTypeValidateDef<GenerateStyle<SiderMenuToken>, import("@antdv/pro-utils").ValidatorFunction<GenerateStyle<SiderMenuToken>>>;
};
export type PrivateSiderMenuProps = ExtractPropTypes<ReturnType<typeof privateSiderMenuProps>>;
declare const SiderMenu: import("vue").DefineComponent<ExtractPropTypes<{
    matchMenuKeys: import("@antdv/pro-utils").VueTypeValidateDef<string[], import("@antdv/pro-utils").ValidatorFunction<string[]>> & {
        required: true;
    };
    originCollapsed: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>> & {
        default: boolean;
    };
    menuRenderType: import("@antdv/pro-utils").VueTypeDef<"sider" | "header">;
    stylish: import("@antdv/pro-utils").VueTypeValidateDef<GenerateStyle<SiderMenuToken>, import("@antdv/pro-utils").ValidatorFunction<GenerateStyle<SiderMenuToken>>>;
    onCollapse: import("@antdv/pro-utils").VueTypeValidateDef<(collapsed: boolean) => void, import("@antdv/pro-utils").ValidatorFunction<(collapsed: boolean) => void>> & {
        required: true;
    };
    motion: import("vue").PropType<import("ant-design-vue/es/_util/transition").CSSMotionProps>;
    colorPrimary: import("@antdv/pro-utils").VueTypeValidateDef<string, import("@antdv/pro-utils").ValidatorFunction<string>>;
    className: StringConstructor;
    style: import("@antdv/pro-utils").VueTypeValidateDef<CSSProperties, import("@antdv/pro-utils").ValidatorFunction<CSSProperties>>;
    prefixCls: StringConstructor;
    layout: import("@antdv/pro-utils").VueTypeDef<"top" | "side" | "mix">;
    menu: import("@antdv/pro-utils").VueTypeValidateDef<{
        locale?: boolean;
        hideMenuWhenCollapsed?: boolean;
        collapsedShowTitle?: boolean;
        collapsedShowGroupTitle?: boolean;
        defaultOpenAll?: boolean;
        ignoreFlatMenu?: boolean;
        loading?: boolean;
        onLoadingChange?: (loading?: boolean) => void;
        params?: Record<string, any>;
        request?: (params: Record<string, any>, defaultMenuData: import("../../typing").MenuDataItem[]) => Promise<import("../../typing").MenuDataItem[]>;
        type?: "sub" | "group";
        autoClose?: false;
    }, import("@antdv/pro-utils").ValidatorFunction<{
        locale?: boolean;
        hideMenuWhenCollapsed?: boolean;
        collapsedShowTitle?: boolean;
        collapsedShowGroupTitle?: boolean;
        defaultOpenAll?: boolean;
        ignoreFlatMenu?: boolean;
        loading?: boolean;
        onLoadingChange?: (loading?: boolean) => void;
        params?: Record<string, any>;
        request?: (params: Record<string, any>, defaultMenuData: import("../../typing").MenuDataItem[]) => Promise<import("../../typing").MenuDataItem[]>;
        type?: "sub" | "group";
        autoClose?: false;
    }>>;
    multiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    disabled: BooleanConstructor;
    title: import("@antdv/pro-utils").VueTypeDef<WithFalse<string>> & {
        default: WithFalse<string>;
    };
    onFocus: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
    onBlur: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
    onClick: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").MenuClickEventHandler>;
    onMousedown: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
    onSelect: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").SelectEventHandler>;
    getPopupContainer: import("vue").PropType<(node: HTMLElement) => HTMLElement>;
    id: StringConstructor;
    items: import("vue").PropType<import("ant-design-vue").ItemType[]>;
    inlineCollapsed: BooleanConstructor;
    disabledOverflow: BooleanConstructor;
    forceSubMenuRender: BooleanConstructor;
    openKeys: import("@antdv/pro-utils").VueTypeDef<false | Key[]> & {
        default: false | (() => Key[]);
    };
    selectedKeys: import("vue").PropType<import("ant-design-vue/es/_util/type").Key[]>;
    activeKey: StringConstructor;
    selectable: {
        type: BooleanConstructor;
        default: boolean;
    };
    tabindex: {
        type: (StringConstructor | NumberConstructor)[];
    };
    role: StringConstructor;
    theme: {
        type: import("vue").PropType<import("ant-design-vue").MenuTheme>;
        default: string;
    };
    mode: import("@antdv/pro-utils").VueTypeDef<import("./BaseMenu").MenuMode>;
    inlineIndent: {
        type: NumberConstructor;
        default: number;
    };
    subMenuOpenDelay: {
        type: NumberConstructor;
        default: number;
    };
    subMenuCloseDelay: {
        type: NumberConstructor;
        default: number;
    };
    builtinPlacements: {
        type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").BuiltinPlacements>;
    };
    triggerSubMenuAction: {
        type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").TriggerSubMenuAction>;
        default: string;
    };
    expandIcon: import("vue").PropType<(p?: {
        [key: string]: any;
        isOpen: boolean;
    }) => any>;
    onDeselect: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").SelectEventHandler>;
    'onUpdate:openKeys': import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
    'onUpdate:selectedKeys': import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
    'onUpdate:activeKey': import("vue").PropType<(key: import("ant-design-vue/es/_util/type").Key) => void>;
    formatMessage: import("@antdv/pro-utils").VueTypeValidateDef<(message: import("../../typing").MessageDescriptor) => string, import("@antdv/pro-utils").ValidatorFunction<(message: import("../../typing").MessageDescriptor) => string>>;
    route: import("@antdv/pro-utils").VueTypeValidateDef<import("../../typing").Route, import("@antdv/pro-utils").ValidatorFunction<import("../../typing").Route>>;
    location: import("@antdv/pro-utils").VueTypeValidateDef<{
        pathname?: string;
    }, import("@antdv/pro-utils").ValidatorFunction<{
        pathname?: string;
    }>>;
    computedMatch: import("@antdv/pro-utils").VueTypeValidateDef<import("../../typing").match<any>, import("@antdv/pro-utils").ValidatorFunction<import("../../typing").match<any>>>;
    navTheme: import("@antdv/pro-utils").VueTypeDef<"light" | "realDark">;
    contentWidth: import("@antdv/pro-utils").VueTypeDef<import("../../defaultSettings").ContentWidth>;
    fixedHeader: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>> & {
        default: boolean;
    };
    fixSiderbar: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>> & {
        default: boolean;
    };
    iconfontUrl: import("@antdv/pro-utils").VueTypeValidateDef<string, import("@antdv/pro-utils").ValidatorFunction<string>>;
    colorWeak: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>>;
    splitMenus: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>>;
    suppressSiderWhenMenuEmpty: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>>;
    siderMenuType: import("@antdv/pro-utils").VueTypeDef<"sub" | "group">;
    defaultCollapsed: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>>;
    collapsed: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>> & {
        default: boolean;
    };
    isMobile: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>> & {
        default: boolean;
    };
    menuData: import("@antdv/pro-utils").VueTypeValidateDef<import("../../typing").MenuDataItem[], import("@antdv/pro-utils").ValidatorFunction<import("../../typing").MenuDataItem[]>>;
    handleOpenChange: import("@antdv/pro-utils").VueTypeValidateDef<(openKeys: Key[]) => void, import("@antdv/pro-utils").ValidatorFunction<(openKeys: Key[]) => void>>;
    iconPrefixes: StringConstructor;
    menuProps: import("@antdv/pro-utils").VueTypeValidateDef<Partial<ExtractPropTypes<{
        id: StringConstructor;
        prefixCls: StringConstructor;
        items: import("vue").PropType<import("ant-design-vue").ItemType[]>;
        disabled: BooleanConstructor;
        inlineCollapsed: BooleanConstructor;
        disabledOverflow: BooleanConstructor;
        forceSubMenuRender: BooleanConstructor;
        openKeys: import("vue").PropType<import("ant-design-vue/es/_util/type").Key[]>;
        selectedKeys: import("vue").PropType<import("ant-design-vue/es/_util/type").Key[]>;
        activeKey: StringConstructor;
        selectable: {
            type: BooleanConstructor;
            default: boolean;
        };
        multiple: {
            type: BooleanConstructor;
            default: boolean;
        };
        tabindex: {
            type: (StringConstructor | NumberConstructor)[];
        };
        motion: import("vue").PropType<import("ant-design-vue/es/_util/transition").CSSMotionProps>;
        role: StringConstructor;
        theme: {
            type: import("vue").PropType<import("ant-design-vue").MenuTheme>;
            default: string;
        };
        mode: {
            type: import("vue").PropType<import("ant-design-vue").MenuMode>;
            default: string;
        };
        inlineIndent: {
            type: NumberConstructor;
            default: number;
        };
        subMenuOpenDelay: {
            type: NumberConstructor;
            default: number;
        };
        subMenuCloseDelay: {
            type: NumberConstructor;
            default: number;
        };
        builtinPlacements: {
            type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").BuiltinPlacements>;
        };
        triggerSubMenuAction: {
            type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").TriggerSubMenuAction>;
            default: string;
        };
        getPopupContainer: import("vue").PropType<(node: HTMLElement) => HTMLElement>;
        expandIcon: import("vue").PropType<(p?: {
            [key: string]: any;
            isOpen: boolean;
        }) => any>;
        onOpenChange: import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
        onSelect: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").SelectEventHandler>;
        onDeselect: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").SelectEventHandler>;
        onClick: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").MenuClickEventHandler>;
        onFocus: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
        onBlur: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
        onMousedown: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
        'onUpdate:openKeys': import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
        'onUpdate:selectedKeys': import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
        'onUpdate:activeKey': import("vue").PropType<(key: import("ant-design-vue/es/_util/type").Key) => void>;
    }>> & {
        style?: CSSProperties;
    }, import("@antdv/pro-utils").ValidatorFunction<Partial<ExtractPropTypes<{
        id: StringConstructor;
        prefixCls: StringConstructor;
        items: import("vue").PropType<import("ant-design-vue").ItemType[]>;
        disabled: BooleanConstructor;
        inlineCollapsed: BooleanConstructor;
        disabledOverflow: BooleanConstructor;
        forceSubMenuRender: BooleanConstructor;
        openKeys: import("vue").PropType<import("ant-design-vue/es/_util/type").Key[]>;
        selectedKeys: import("vue").PropType<import("ant-design-vue/es/_util/type").Key[]>;
        activeKey: StringConstructor;
        selectable: {
            type: BooleanConstructor;
            default: boolean;
        };
        multiple: {
            type: BooleanConstructor;
            default: boolean;
        };
        tabindex: {
            type: (StringConstructor | NumberConstructor)[];
        };
        motion: import("vue").PropType<import("ant-design-vue/es/_util/transition").CSSMotionProps>;
        role: StringConstructor;
        theme: {
            type: import("vue").PropType<import("ant-design-vue").MenuTheme>;
            default: string;
        };
        mode: {
            type: import("vue").PropType<import("ant-design-vue").MenuMode>;
            default: string;
        };
        inlineIndent: {
            type: NumberConstructor;
            default: number;
        };
        subMenuOpenDelay: {
            type: NumberConstructor;
            default: number;
        };
        subMenuCloseDelay: {
            type: NumberConstructor;
            default: number;
        };
        builtinPlacements: {
            type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").BuiltinPlacements>;
        };
        triggerSubMenuAction: {
            type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").TriggerSubMenuAction>;
            default: string;
        };
        getPopupContainer: import("vue").PropType<(node: HTMLElement) => HTMLElement>;
        expandIcon: import("vue").PropType<(p?: {
            [key: string]: any;
            isOpen: boolean;
        }) => any>;
        onOpenChange: import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
        onSelect: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").SelectEventHandler>;
        onDeselect: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").SelectEventHandler>;
        onClick: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").MenuClickEventHandler>;
        onFocus: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
        onBlur: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
        onMousedown: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
        'onUpdate:openKeys': import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
        'onUpdate:selectedKeys': import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
        'onUpdate:activeKey': import("vue").PropType<(key: import("ant-design-vue/es/_util/type").Key) => void>;
    }>> & {
        style?: CSSProperties;
    }>>;
    subMenuItemRender: import("@antdv/pro-utils").VueTypeDef<WithFalse<(item: import("../../typing").MenuDataItem & {
        isUrl: boolean;
    }, defaultDom: VNode, menuProps: import("./BaseMenu").BaseMenuProps) => VNode>> & {
        default: WithFalse<(item: import("../../typing").MenuDataItem & {
            isUrl: boolean;
        }, defaultDom: VNode, menuProps: import("./BaseMenu").BaseMenuProps) => VNode>;
    };
    menuItemRender: import("@antdv/pro-utils").VueTypeDef<false | ((item: import("../../typing").MenuDataItem & {
        isUrl: boolean;
        onClick: () => void;
    }, defaultDom: VNode, menuProps: import("./BaseMenu").BaseMenuProps & Partial<PrivateSiderMenuProps>) => VNode)> & {
        default: false | ((item: import("../../typing").MenuDataItem & {
            isUrl: boolean;
            onClick: () => void;
        }, defaultDom: VNode, menuProps: import("./BaseMenu").BaseMenuProps & Partial<PrivateSiderMenuProps>) => VNode);
    };
    postMenuData: import("@antdv/pro-utils").VueTypeValidateDef<(menusData?: import("../../typing").MenuDataItem[]) => import("../../typing").MenuDataItem[], import("@antdv/pro-utils").ValidatorFunction<(menusData?: import("../../typing").MenuDataItem[]) => import("../../typing").MenuDataItem[]>>;
    logo: import("@antdv/pro-utils").VueTypeValidateDef<VueNode, import("@antdv/pro-utils").ValidatorFunction<VueNode>>;
    appList: import("@antdv/pro-utils").VueTypeValidateDef<AppItemProps[], import("@antdv/pro-utils").ValidatorFunction<AppItemProps[]>>;
    appListRender: import("@antdv/pro-utils").VueTypeValidateDef<(props: AppListProps, defaultDom: VNode) => VueNode, import("@antdv/pro-utils").ValidatorFunction<(props: AppListProps, defaultDom: VNode) => VueNode>>;
    itemClick: import("@antdv/pro-utils").VueTypeValidateDef<(item: AppItemProps, popoverRef?: Ref<HTMLSpanElement | null>) => void, import("@antdv/pro-utils").ValidatorFunction<(item: AppItemProps, popoverRef?: Ref<HTMLSpanElement | null>) => void>>;
    siderWidth: import("@antdv/pro-utils").VueTypeValidateDef<number, import("@antdv/pro-utils").ValidatorFunction<number>>;
    avatarProps: import("@antdv/pro-utils").VueTypeDef<WithFalse<Partial<ExtractPropTypes<{
        prefixCls: StringConstructor;
        shape: {
            type: import("vue").PropType<"circle" | "square">;
            default: string;
        };
        size: {
            type: import("vue").PropType<import("ant-design-vue/es/avatar").AvatarSize>;
            default: () => import("ant-design-vue/es/avatar").AvatarSize;
        };
        src: StringConstructor;
        srcset: StringConstructor;
        icon: import("vue-types").VueTypeValidableDef<any>;
        alt: StringConstructor;
        gap: NumberConstructor;
        draggable: {
            type: BooleanConstructor;
            default: any;
        };
        crossOrigin: import("vue").PropType<"" | "anonymous" | "use-credentials">;
        loadError: {
            type: import("vue").PropType<() => boolean>;
        };
    }>> & {
        title?: VueNode;
        render?: (avatarProps: AvatarProps, defaultDom: VNode, props: SiderMenuProps) => VueNode;
    }>> & {
        default: false | (() => Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            shape: {
                type: import("vue").PropType<"circle" | "square">;
                default: string;
            };
            size: {
                type: import("vue").PropType<import("ant-design-vue/es/avatar").AvatarSize>;
                default: () => import("ant-design-vue/es/avatar").AvatarSize;
            };
            src: StringConstructor;
            srcset: StringConstructor;
            icon: import("vue-types").VueTypeValidableDef<any>;
            alt: StringConstructor;
            gap: NumberConstructor;
            draggable: {
                type: BooleanConstructor;
                default: any;
            };
            crossOrigin: import("vue").PropType<"" | "anonymous" | "use-credentials">;
            loadError: {
                type: import("vue").PropType<() => boolean>;
            };
        }>> & {
            title?: VueNode;
            render?: (avatarProps: Partial<ExtractPropTypes<{
                prefixCls: StringConstructor;
                shape: {
                    type: import("vue").PropType<"circle" | "square">;
                    default: string;
                };
                size: {
                    type: import("vue").PropType<import("ant-design-vue/es/avatar").AvatarSize>;
                    default: () => import("ant-design-vue/es/avatar").AvatarSize;
                };
                src: StringConstructor;
                srcset: StringConstructor;
                icon: import("vue-types").VueTypeValidableDef<any>;
                alt: StringConstructor;
                gap: NumberConstructor;
                draggable: {
                    type: BooleanConstructor;
                    default: any;
                };
                crossOrigin: import("vue").PropType<"" | "anonymous" | "use-credentials">;
                loadError: {
                    type: import("vue").PropType<() => boolean>;
                };
            }>>, defaultDom: VNode, props: SiderMenuProps) => VueNode;
        });
    };
    actionsRender: import("@antdv/pro-utils").VueTypeDef<WithFalse<(props: any) => VueNode[] | VueNode>> & {
        default: WithFalse<(props: any) => VueNode[] | VueNode>;
    };
    menuHeaderRender: import("@antdv/pro-utils").VueTypeDef<WithFalse<(logo: VueNode, title: VueNode, props?: SiderMenuProps) => VueNode>> & {
        default: WithFalse<(logo: VueNode, title: VueNode, props?: SiderMenuProps) => VueNode>;
    };
    menuFooterRender: import("@antdv/pro-utils").VueTypeDef<WithFalse<(props?: SiderMenuProps) => VueNode>> & {
        default: WithFalse<(props?: SiderMenuProps) => VueNode>;
    };
    menuContentRender: import("@antdv/pro-utils").VueTypeDef<WithFalse<(props: SiderMenuProps, defaultDom: VueNode) => VueNode>> & {
        default: WithFalse<(props: SiderMenuProps, defaultDom: VueNode) => VueNode>;
    };
    menuExtraRender: import("@antdv/pro-utils").VueTypeDef<WithFalse<(props: SiderMenuProps) => VueNode>>;
    collapsedButtonRender: import("@antdv/pro-utils").VueTypeDef<WithFalse<(collapsed?: boolean, defaultDom?: VNode) => VueNode>> & {
        default: WithFalse<(collapsed?: boolean, defaultDom?: VNode) => VueNode>;
    };
    breakpoint: import("@antdv/pro-utils").VueTypeDef<string | false | undefined> & {
        default: string | false | undefined;
    };
    onMenuHeaderClick: import("@antdv/pro-utils").VueTypeValidateDef<(e: MouseEvent) => void, import("@antdv/pro-utils").ValidatorFunction<(e: MouseEvent) => void>>;
    links: import("@antdv/pro-utils").VueTypeValidateDef<VueNode[], import("@antdv/pro-utils").ValidatorFunction<VueNode[]>>;
    onOpenChange: import("@antdv/pro-utils").VueTypeValidateDef<(openKeys: WithFalse<Key[]>) => void, import("@antdv/pro-utils").ValidatorFunction<(openKeys: WithFalse<Key[]>) => void>>;
    getContainer: import("@antdv/pro-utils").VueTypeValidateDef<false, import("@antdv/pro-utils").ValidatorFunction<false>>;
    logoStyle: import("@antdv/pro-utils").VueTypeValidateDef<CSSProperties, import("@antdv/pro-utils").ValidatorFunction<CSSProperties>>;
    hide: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>>;
}>, () => import("ant-design-vue/es/_util/type").VueNode, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ExtractPropTypes<{
    matchMenuKeys: import("@antdv/pro-utils").VueTypeValidateDef<string[], import("@antdv/pro-utils").ValidatorFunction<string[]>> & {
        required: true;
    };
    originCollapsed: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>> & {
        default: boolean;
    };
    menuRenderType: import("@antdv/pro-utils").VueTypeDef<"sider" | "header">;
    stylish: import("@antdv/pro-utils").VueTypeValidateDef<GenerateStyle<SiderMenuToken>, import("@antdv/pro-utils").ValidatorFunction<GenerateStyle<SiderMenuToken>>>;
    onCollapse: import("@antdv/pro-utils").VueTypeValidateDef<(collapsed: boolean) => void, import("@antdv/pro-utils").ValidatorFunction<(collapsed: boolean) => void>> & {
        required: true;
    };
    motion: import("vue").PropType<import("ant-design-vue/es/_util/transition").CSSMotionProps>;
    colorPrimary: import("@antdv/pro-utils").VueTypeValidateDef<string, import("@antdv/pro-utils").ValidatorFunction<string>>;
    className: StringConstructor;
    style: import("@antdv/pro-utils").VueTypeValidateDef<CSSProperties, import("@antdv/pro-utils").ValidatorFunction<CSSProperties>>;
    prefixCls: StringConstructor;
    layout: import("@antdv/pro-utils").VueTypeDef<"top" | "side" | "mix">;
    menu: import("@antdv/pro-utils").VueTypeValidateDef<{
        locale?: boolean;
        hideMenuWhenCollapsed?: boolean;
        collapsedShowTitle?: boolean;
        collapsedShowGroupTitle?: boolean;
        defaultOpenAll?: boolean;
        ignoreFlatMenu?: boolean;
        loading?: boolean;
        onLoadingChange?: (loading?: boolean) => void;
        params?: Record<string, any>;
        request?: (params: Record<string, any>, defaultMenuData: import("../../typing").MenuDataItem[]) => Promise<import("../../typing").MenuDataItem[]>;
        type?: "sub" | "group";
        autoClose?: false;
    }, import("@antdv/pro-utils").ValidatorFunction<{
        locale?: boolean;
        hideMenuWhenCollapsed?: boolean;
        collapsedShowTitle?: boolean;
        collapsedShowGroupTitle?: boolean;
        defaultOpenAll?: boolean;
        ignoreFlatMenu?: boolean;
        loading?: boolean;
        onLoadingChange?: (loading?: boolean) => void;
        params?: Record<string, any>;
        request?: (params: Record<string, any>, defaultMenuData: import("../../typing").MenuDataItem[]) => Promise<import("../../typing").MenuDataItem[]>;
        type?: "sub" | "group";
        autoClose?: false;
    }>>;
    multiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    disabled: BooleanConstructor;
    title: import("@antdv/pro-utils").VueTypeDef<WithFalse<string>> & {
        default: WithFalse<string>;
    };
    onFocus: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
    onBlur: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
    onClick: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").MenuClickEventHandler>;
    onMousedown: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
    onSelect: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").SelectEventHandler>;
    getPopupContainer: import("vue").PropType<(node: HTMLElement) => HTMLElement>;
    id: StringConstructor;
    items: import("vue").PropType<import("ant-design-vue").ItemType[]>;
    inlineCollapsed: BooleanConstructor;
    disabledOverflow: BooleanConstructor;
    forceSubMenuRender: BooleanConstructor;
    openKeys: import("@antdv/pro-utils").VueTypeDef<false | Key[]> & {
        default: false | (() => Key[]);
    };
    selectedKeys: import("vue").PropType<import("ant-design-vue/es/_util/type").Key[]>;
    activeKey: StringConstructor;
    selectable: {
        type: BooleanConstructor;
        default: boolean;
    };
    tabindex: {
        type: (StringConstructor | NumberConstructor)[];
    };
    role: StringConstructor;
    theme: {
        type: import("vue").PropType<import("ant-design-vue").MenuTheme>;
        default: string;
    };
    mode: import("@antdv/pro-utils").VueTypeDef<import("./BaseMenu").MenuMode>;
    inlineIndent: {
        type: NumberConstructor;
        default: number;
    };
    subMenuOpenDelay: {
        type: NumberConstructor;
        default: number;
    };
    subMenuCloseDelay: {
        type: NumberConstructor;
        default: number;
    };
    builtinPlacements: {
        type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").BuiltinPlacements>;
    };
    triggerSubMenuAction: {
        type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").TriggerSubMenuAction>;
        default: string;
    };
    expandIcon: import("vue").PropType<(p?: {
        [key: string]: any;
        isOpen: boolean;
    }) => any>;
    onDeselect: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").SelectEventHandler>;
    'onUpdate:openKeys': import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
    'onUpdate:selectedKeys': import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
    'onUpdate:activeKey': import("vue").PropType<(key: import("ant-design-vue/es/_util/type").Key) => void>;
    formatMessage: import("@antdv/pro-utils").VueTypeValidateDef<(message: import("../../typing").MessageDescriptor) => string, import("@antdv/pro-utils").ValidatorFunction<(message: import("../../typing").MessageDescriptor) => string>>;
    route: import("@antdv/pro-utils").VueTypeValidateDef<import("../../typing").Route, import("@antdv/pro-utils").ValidatorFunction<import("../../typing").Route>>;
    location: import("@antdv/pro-utils").VueTypeValidateDef<{
        pathname?: string;
    }, import("@antdv/pro-utils").ValidatorFunction<{
        pathname?: string;
    }>>;
    computedMatch: import("@antdv/pro-utils").VueTypeValidateDef<import("../../typing").match<any>, import("@antdv/pro-utils").ValidatorFunction<import("../../typing").match<any>>>;
    navTheme: import("@antdv/pro-utils").VueTypeDef<"light" | "realDark">;
    contentWidth: import("@antdv/pro-utils").VueTypeDef<import("../../defaultSettings").ContentWidth>;
    fixedHeader: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>> & {
        default: boolean;
    };
    fixSiderbar: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>> & {
        default: boolean;
    };
    iconfontUrl: import("@antdv/pro-utils").VueTypeValidateDef<string, import("@antdv/pro-utils").ValidatorFunction<string>>;
    colorWeak: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>>;
    splitMenus: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>>;
    suppressSiderWhenMenuEmpty: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>>;
    siderMenuType: import("@antdv/pro-utils").VueTypeDef<"sub" | "group">;
    defaultCollapsed: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>>;
    collapsed: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>> & {
        default: boolean;
    };
    isMobile: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>> & {
        default: boolean;
    };
    menuData: import("@antdv/pro-utils").VueTypeValidateDef<import("../../typing").MenuDataItem[], import("@antdv/pro-utils").ValidatorFunction<import("../../typing").MenuDataItem[]>>;
    handleOpenChange: import("@antdv/pro-utils").VueTypeValidateDef<(openKeys: Key[]) => void, import("@antdv/pro-utils").ValidatorFunction<(openKeys: Key[]) => void>>;
    iconPrefixes: StringConstructor;
    menuProps: import("@antdv/pro-utils").VueTypeValidateDef<Partial<ExtractPropTypes<{
        id: StringConstructor;
        prefixCls: StringConstructor;
        items: import("vue").PropType<import("ant-design-vue").ItemType[]>;
        disabled: BooleanConstructor;
        inlineCollapsed: BooleanConstructor;
        disabledOverflow: BooleanConstructor;
        forceSubMenuRender: BooleanConstructor;
        openKeys: import("vue").PropType<import("ant-design-vue/es/_util/type").Key[]>;
        selectedKeys: import("vue").PropType<import("ant-design-vue/es/_util/type").Key[]>;
        activeKey: StringConstructor;
        selectable: {
            type: BooleanConstructor;
            default: boolean;
        };
        multiple: {
            type: BooleanConstructor;
            default: boolean;
        };
        tabindex: {
            type: (StringConstructor | NumberConstructor)[];
        };
        motion: import("vue").PropType<import("ant-design-vue/es/_util/transition").CSSMotionProps>;
        role: StringConstructor;
        theme: {
            type: import("vue").PropType<import("ant-design-vue").MenuTheme>;
            default: string;
        };
        mode: {
            type: import("vue").PropType<import("ant-design-vue").MenuMode>;
            default: string;
        };
        inlineIndent: {
            type: NumberConstructor;
            default: number;
        };
        subMenuOpenDelay: {
            type: NumberConstructor;
            default: number;
        };
        subMenuCloseDelay: {
            type: NumberConstructor;
            default: number;
        };
        builtinPlacements: {
            type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").BuiltinPlacements>;
        };
        triggerSubMenuAction: {
            type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").TriggerSubMenuAction>;
            default: string;
        };
        getPopupContainer: import("vue").PropType<(node: HTMLElement) => HTMLElement>;
        expandIcon: import("vue").PropType<(p?: {
            [key: string]: any;
            isOpen: boolean;
        }) => any>;
        onOpenChange: import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
        onSelect: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").SelectEventHandler>;
        onDeselect: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").SelectEventHandler>;
        onClick: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").MenuClickEventHandler>;
        onFocus: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
        onBlur: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
        onMousedown: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
        'onUpdate:openKeys': import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
        'onUpdate:selectedKeys': import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
        'onUpdate:activeKey': import("vue").PropType<(key: import("ant-design-vue/es/_util/type").Key) => void>;
    }>> & {
        style?: CSSProperties;
    }, import("@antdv/pro-utils").ValidatorFunction<Partial<ExtractPropTypes<{
        id: StringConstructor;
        prefixCls: StringConstructor;
        items: import("vue").PropType<import("ant-design-vue").ItemType[]>;
        disabled: BooleanConstructor;
        inlineCollapsed: BooleanConstructor;
        disabledOverflow: BooleanConstructor;
        forceSubMenuRender: BooleanConstructor;
        openKeys: import("vue").PropType<import("ant-design-vue/es/_util/type").Key[]>;
        selectedKeys: import("vue").PropType<import("ant-design-vue/es/_util/type").Key[]>;
        activeKey: StringConstructor;
        selectable: {
            type: BooleanConstructor;
            default: boolean;
        };
        multiple: {
            type: BooleanConstructor;
            default: boolean;
        };
        tabindex: {
            type: (StringConstructor | NumberConstructor)[];
        };
        motion: import("vue").PropType<import("ant-design-vue/es/_util/transition").CSSMotionProps>;
        role: StringConstructor;
        theme: {
            type: import("vue").PropType<import("ant-design-vue").MenuTheme>;
            default: string;
        };
        mode: {
            type: import("vue").PropType<import("ant-design-vue").MenuMode>;
            default: string;
        };
        inlineIndent: {
            type: NumberConstructor;
            default: number;
        };
        subMenuOpenDelay: {
            type: NumberConstructor;
            default: number;
        };
        subMenuCloseDelay: {
            type: NumberConstructor;
            default: number;
        };
        builtinPlacements: {
            type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").BuiltinPlacements>;
        };
        triggerSubMenuAction: {
            type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").TriggerSubMenuAction>;
            default: string;
        };
        getPopupContainer: import("vue").PropType<(node: HTMLElement) => HTMLElement>;
        expandIcon: import("vue").PropType<(p?: {
            [key: string]: any;
            isOpen: boolean;
        }) => any>;
        onOpenChange: import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
        onSelect: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").SelectEventHandler>;
        onDeselect: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").SelectEventHandler>;
        onClick: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").MenuClickEventHandler>;
        onFocus: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
        onBlur: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
        onMousedown: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
        'onUpdate:openKeys': import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
        'onUpdate:selectedKeys': import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
        'onUpdate:activeKey': import("vue").PropType<(key: import("ant-design-vue/es/_util/type").Key) => void>;
    }>> & {
        style?: CSSProperties;
    }>>;
    subMenuItemRender: import("@antdv/pro-utils").VueTypeDef<WithFalse<(item: import("../../typing").MenuDataItem & {
        isUrl: boolean;
    }, defaultDom: VNode, menuProps: import("./BaseMenu").BaseMenuProps) => VNode>> & {
        default: WithFalse<(item: import("../../typing").MenuDataItem & {
            isUrl: boolean;
        }, defaultDom: VNode, menuProps: import("./BaseMenu").BaseMenuProps) => VNode>;
    };
    menuItemRender: import("@antdv/pro-utils").VueTypeDef<false | ((item: import("../../typing").MenuDataItem & {
        isUrl: boolean;
        onClick: () => void;
    }, defaultDom: VNode, menuProps: import("./BaseMenu").BaseMenuProps & Partial<PrivateSiderMenuProps>) => VNode)> & {
        default: false | ((item: import("../../typing").MenuDataItem & {
            isUrl: boolean;
            onClick: () => void;
        }, defaultDom: VNode, menuProps: import("./BaseMenu").BaseMenuProps & Partial<PrivateSiderMenuProps>) => VNode);
    };
    postMenuData: import("@antdv/pro-utils").VueTypeValidateDef<(menusData?: import("../../typing").MenuDataItem[]) => import("../../typing").MenuDataItem[], import("@antdv/pro-utils").ValidatorFunction<(menusData?: import("../../typing").MenuDataItem[]) => import("../../typing").MenuDataItem[]>>;
    logo: import("@antdv/pro-utils").VueTypeValidateDef<VueNode, import("@antdv/pro-utils").ValidatorFunction<VueNode>>;
    appList: import("@antdv/pro-utils").VueTypeValidateDef<AppItemProps[], import("@antdv/pro-utils").ValidatorFunction<AppItemProps[]>>;
    appListRender: import("@antdv/pro-utils").VueTypeValidateDef<(props: AppListProps, defaultDom: VNode) => VueNode, import("@antdv/pro-utils").ValidatorFunction<(props: AppListProps, defaultDom: VNode) => VueNode>>;
    itemClick: import("@antdv/pro-utils").VueTypeValidateDef<(item: AppItemProps, popoverRef?: Ref<HTMLSpanElement | null>) => void, import("@antdv/pro-utils").ValidatorFunction<(item: AppItemProps, popoverRef?: Ref<HTMLSpanElement | null>) => void>>;
    siderWidth: import("@antdv/pro-utils").VueTypeValidateDef<number, import("@antdv/pro-utils").ValidatorFunction<number>>;
    avatarProps: import("@antdv/pro-utils").VueTypeDef<WithFalse<Partial<ExtractPropTypes<{
        prefixCls: StringConstructor;
        shape: {
            type: import("vue").PropType<"circle" | "square">;
            default: string;
        };
        size: {
            type: import("vue").PropType<import("ant-design-vue/es/avatar").AvatarSize>;
            default: () => import("ant-design-vue/es/avatar").AvatarSize;
        };
        src: StringConstructor;
        srcset: StringConstructor;
        icon: import("vue-types").VueTypeValidableDef<any>;
        alt: StringConstructor;
        gap: NumberConstructor;
        draggable: {
            type: BooleanConstructor;
            default: any;
        };
        crossOrigin: import("vue").PropType<"" | "anonymous" | "use-credentials">;
        loadError: {
            type: import("vue").PropType<() => boolean>;
        };
    }>> & {
        title?: VueNode;
        render?: (avatarProps: AvatarProps, defaultDom: VNode, props: SiderMenuProps) => VueNode;
    }>> & {
        default: false | (() => Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            shape: {
                type: import("vue").PropType<"circle" | "square">;
                default: string;
            };
            size: {
                type: import("vue").PropType<import("ant-design-vue/es/avatar").AvatarSize>;
                default: () => import("ant-design-vue/es/avatar").AvatarSize;
            };
            src: StringConstructor;
            srcset: StringConstructor;
            icon: import("vue-types").VueTypeValidableDef<any>;
            alt: StringConstructor;
            gap: NumberConstructor;
            draggable: {
                type: BooleanConstructor;
                default: any;
            };
            crossOrigin: import("vue").PropType<"" | "anonymous" | "use-credentials">;
            loadError: {
                type: import("vue").PropType<() => boolean>;
            };
        }>> & {
            title?: VueNode;
            render?: (avatarProps: Partial<ExtractPropTypes<{
                prefixCls: StringConstructor;
                shape: {
                    type: import("vue").PropType<"circle" | "square">;
                    default: string;
                };
                size: {
                    type: import("vue").PropType<import("ant-design-vue/es/avatar").AvatarSize>;
                    default: () => import("ant-design-vue/es/avatar").AvatarSize;
                };
                src: StringConstructor;
                srcset: StringConstructor;
                icon: import("vue-types").VueTypeValidableDef<any>;
                alt: StringConstructor;
                gap: NumberConstructor;
                draggable: {
                    type: BooleanConstructor;
                    default: any;
                };
                crossOrigin: import("vue").PropType<"" | "anonymous" | "use-credentials">;
                loadError: {
                    type: import("vue").PropType<() => boolean>;
                };
            }>>, defaultDom: VNode, props: SiderMenuProps) => VueNode;
        });
    };
    actionsRender: import("@antdv/pro-utils").VueTypeDef<WithFalse<(props: any) => VueNode[] | VueNode>> & {
        default: WithFalse<(props: any) => VueNode[] | VueNode>;
    };
    menuHeaderRender: import("@antdv/pro-utils").VueTypeDef<WithFalse<(logo: VueNode, title: VueNode, props?: SiderMenuProps) => VueNode>> & {
        default: WithFalse<(logo: VueNode, title: VueNode, props?: SiderMenuProps) => VueNode>;
    };
    menuFooterRender: import("@antdv/pro-utils").VueTypeDef<WithFalse<(props?: SiderMenuProps) => VueNode>> & {
        default: WithFalse<(props?: SiderMenuProps) => VueNode>;
    };
    menuContentRender: import("@antdv/pro-utils").VueTypeDef<WithFalse<(props: SiderMenuProps, defaultDom: VueNode) => VueNode>> & {
        default: WithFalse<(props: SiderMenuProps, defaultDom: VueNode) => VueNode>;
    };
    menuExtraRender: import("@antdv/pro-utils").VueTypeDef<WithFalse<(props: SiderMenuProps) => VueNode>>;
    collapsedButtonRender: import("@antdv/pro-utils").VueTypeDef<WithFalse<(collapsed?: boolean, defaultDom?: VNode) => VueNode>> & {
        default: WithFalse<(collapsed?: boolean, defaultDom?: VNode) => VueNode>;
    };
    breakpoint: import("@antdv/pro-utils").VueTypeDef<string | false | undefined> & {
        default: string | false | undefined;
    };
    onMenuHeaderClick: import("@antdv/pro-utils").VueTypeValidateDef<(e: MouseEvent) => void, import("@antdv/pro-utils").ValidatorFunction<(e: MouseEvent) => void>>;
    links: import("@antdv/pro-utils").VueTypeValidateDef<VueNode[], import("@antdv/pro-utils").ValidatorFunction<VueNode[]>>;
    onOpenChange: import("@antdv/pro-utils").VueTypeValidateDef<(openKeys: WithFalse<Key[]>) => void, import("@antdv/pro-utils").ValidatorFunction<(openKeys: WithFalse<Key[]>) => void>>;
    getContainer: import("@antdv/pro-utils").VueTypeValidateDef<false, import("@antdv/pro-utils").ValidatorFunction<false>>;
    logoStyle: import("@antdv/pro-utils").VueTypeValidateDef<CSSProperties, import("@antdv/pro-utils").ValidatorFunction<CSSProperties>>;
    hide: import("@antdv/pro-utils").VueTypeValidateDef<boolean, import("@antdv/pro-utils").ValidatorFunction<boolean>>;
}>> & Readonly<{}>, {
    multiple: boolean;
    disabled: boolean;
    title: WithFalse<string>;
    inlineCollapsed: boolean;
    disabledOverflow: boolean;
    forceSubMenuRender: boolean;
    openKeys: false | Key[];
    selectable: boolean;
    theme: import("ant-design-vue").MenuTheme;
    inlineIndent: number;
    subMenuOpenDelay: number;
    subMenuCloseDelay: number;
    triggerSubMenuAction: import("ant-design-vue/es/menu/src/interface").TriggerSubMenuAction;
    fixedHeader: boolean;
    fixSiderbar: boolean;
    collapsed: boolean;
    isMobile: boolean;
    subMenuItemRender: WithFalse<(item: import("../../typing").MenuDataItem & {
        isUrl: boolean;
    }, defaultDom: VNode, menuProps: import("./BaseMenu").BaseMenuProps) => VNode>;
    menuItemRender: false | ((item: import("../../typing").MenuDataItem & {
        isUrl: boolean;
        onClick: () => void;
    }, defaultDom: VNode, menuProps: import("./BaseMenu").BaseMenuProps & Partial<PrivateSiderMenuProps>) => VNode);
    breakpoint: string | false | undefined;
    originCollapsed: boolean;
    menuHeaderRender: WithFalse<(logo: VueNode, title: VueNode, props?: SiderMenuProps) => VueNode>;
    collapsedButtonRender: WithFalse<(collapsed?: boolean, defaultDom?: VNode) => VueNode>;
    actionsRender: WithFalse<(props: any) => VueNode[] | VueNode>;
    avatarProps: WithFalse<Partial<ExtractPropTypes<{
        prefixCls: StringConstructor;
        shape: {
            type: import("vue").PropType<"circle" | "square">;
            default: string;
        };
        size: {
            type: import("vue").PropType<import("ant-design-vue/es/avatar").AvatarSize>;
            default: () => import("ant-design-vue/es/avatar").AvatarSize;
        };
        src: StringConstructor;
        srcset: StringConstructor;
        icon: import("vue-types").VueTypeValidableDef<any>;
        alt: StringConstructor;
        gap: NumberConstructor;
        draggable: {
            type: BooleanConstructor;
            default: any;
        };
        crossOrigin: import("vue").PropType<"" | "anonymous" | "use-credentials">;
        loadError: {
            type: import("vue").PropType<() => boolean>;
        };
    }>> & {
        title?: VueNode;
        render?: (avatarProps: AvatarProps, defaultDom: VNode, props: SiderMenuProps) => VueNode;
    }>;
    menuFooterRender: WithFalse<(props?: SiderMenuProps) => VueNode>;
    menuContentRender: WithFalse<(props: SiderMenuProps, defaultDom: VueNode) => VueNode>;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export { SiderMenu };
