import type { RouteRecordRaw, _RouteRecordBase, RouteComponent } from 'vue-router'; import type { MenuItemType } from '../ele-pro-layout/types'; export type GetComponentType = (component?: string, menu?: MenuItemType, name?: string) => (() => Promise) | RouteComponent | undefined; /** * 格式化菜单数据 * @param data 数据 * @param childField 子级的字段名称 */ export declare function formatMenus(data: T[], childField?: string): { menus: MenuItemType[]; homePath: string | undefined; homeTitle: string | undefined; }; /** * 菜单数据转成路由数据 * @param menus 菜单数据 * @param getComponent 加载组件的方法 * @param added 已添加的路由 * @param redirectPath 刷新路由的地址 * @param redirectComponent 刷新路由的组件 * @param redirectPathMatch 刷新路由的匹配表达式 * @param parentPath 父级路由地址 */ export declare function menuToRoutes(menus: MenuItemType[] | undefined, getComponent: GetComponentType, added?: _RouteRecordBase[], redirectPath?: string, redirectComponent?: RouteComponent, redirectPathMatch?: string, parentPath?: string): RouteRecordRaw[] | undefined; /** * 菜单数据转成路由数据 * @param menu 菜单数据 * @param getComponent 加载组件的方法 * @param added 已添加的路由 * @param redirectPath 刷新路由的地址 * @param redirectComponent 刷新路由的组件 * @param redirectPathMatch 刷新路由的匹配表达式 */ export declare function menuToRoute(menu: MenuItemType, getComponent: GetComponentType, added: _RouteRecordBase[], redirectPath?: string, redirectComponent?: RouteComponent, redirectPathMatch?: string): RouteRecordRaw | undefined;