import type { Ref } from 'vue'; import type { RouteLocationMatched, RouteLocationNormalizedLoaded } from 'vue-router'; import type { MenuItemType, LevelItem, RouteI18nOption, RouteI18nType, WindowListenerOption, MenuMeta, TabItem, LayoutProvide, UseResponsiveProps } from './types'; /** * 色弱模式 class */ export declare const WEAK_CLASS = "ele-admin-weak"; /** * 关闭布局响应式后 body 限制最小宽度的 class */ export declare const BODY_LIMIT_CLASS = "ele-body-limit-width"; /** * 布局禁用过渡动画 class */ export declare const DISABLES_CLASS = "ele-transition-disabled"; /** * 获取路由对应的菜单数据 * @param path 路由地址 * @param fullPath 路由完整地址 * @param meta 路由元数据 * @param menus 菜单数据 */ export declare function getRouteMatched(path: string, fullPath: string, meta: MenuMeta, menus: MenuItemType[]): { active: string; matched: MenuItemType[] | undefined; activeOther: boolean; title: string | undefined; }; /** * 获取菜单标题 * @param path 路由地址 * @param fullPath 路由完整地址 * @param menus 菜单数据 */ export declare function getMenuTitle(path: string, fullPath: string, menus: MenuItemType[]): string | undefined; /** * 获取路由对应的菜单 * @param path 路由地址 * @param fullPath 路由完整地址 * @param menus 菜单数据 */ export declare function getRouteMenu(path: string, fullPath: string, menus: MenuItemType[]): MenuItemType | undefined; /** * 获取菜单包含所有父级 */ export declare function getMatchedMenus(path: string, menus: MenuItemType[], parents?: MenuItemType[]): MenuItemType[] | undefined; /** * 获取面包屑导航数据 * @param isHome 是否是主页 * @param homePath 主页地址 * @param homeTitle 主页名称 * @param matched 匹配的菜单层级 * @param activeOther 是否是选中其它的菜单 * @param routeI18n 菜单标题国际化处理 * @param path 当前路由地址 * @param fullPath 当前路由完整地址 * @param meta 当前路由元数据 * @param menus 菜单数据 */ export declare function getMatchedLevels(isHome: boolean, homePath: string, homeTitle: string, matched: MenuItemType[] | undefined, activeOther: boolean, routeI18n: RouteI18nType, path: string, fullPath: string, meta: MenuMeta, menus: MenuItemType[], tabs: TabItem[]): LevelItem[]; /** * 获取路由对应的组件名称 * @param matched 路由匹配数据 */ export declare function getMatchedComponents(matched: RouteLocationMatched[]): string[]; /** * 菜单标题国际化方法 */ export declare function menuTitleI18n({ path, locale, i18n, menu, menus }: RouteI18nOption): string | null | undefined; /** * 获取路由地址对应的 i18n key * @param path 路由地址 */ export declare function routeI18nKey(path: string): string | undefined; /** * 获取 path 对应的菜单数据 * @param path 菜单地址 * @param menus 全部菜单数据 */ export declare function findMenuByPath(path?: string, menus?: MenuItemType[]): MenuItemType | undefined; /** * 判断路由是否是主页 * @param route 路由信息 * @param homePath 主页地址 */ export declare function isHomeRoute(route: RouteLocationNormalizedLoaded, homePath: string, layoutPath: string): boolean; /** * 获取 path 对应的页签数据 * @param path 路由地址 * @param tabs 全部页签数据 */ export declare function findTabByPath(path?: string, tabs?: TabItem[]): TabItem | undefined; /** * 绑定窗口事件监听 */ export declare function useWindowListener({ onResize, onEscKeydown }: WindowListenerOption): void; /** * 获取布局状态 */ export declare function useLayoutState(d?: Ref): Ref | undefined; /** * 获取是否开启布局响应 */ export declare function useResponsive(props: UseResponsiveProps): import("vue").ComputedRef;