import { type RouteRecordRaw, type RouterOptions, type RouterHistory, Router } from 'vue-router'; import type { AnyAbility } from '@casl/ability'; import { App } from 'vue'; export { type MenuItem, type MenuNode, getMenus, getMenusMap, getMenuPathKeys, getBreadcrumbRoutes, } from './menus'; export { defineRoute, defineRoutes, mergeRouteModules } from './utils'; export declare let router: Router; export interface CoseyRouterOptions extends Omit { history?: RouterHistory; dynamic?: RouteRecordRaw[]; static?: RouteRecordRaw[]; listening?: boolean; } export declare const getAllDynamicRoutes: () => RouteRecordRaw[]; export declare const getAllStaticRoutes: () => RouteRecordRaw[]; export declare function launchRouter(app: App, options?: CoseyRouterOptions): void; declare module 'vue-router' { interface RouteMeta { title?: string; icon?: string; hideInMenu?: boolean; hideChildrenInMenu?: boolean; flatChildrenInMenu?: boolean; type?: 'group'; closable?: boolean; keepAlive?: boolean; order?: number; iframeSrc?: string; authentication?: boolean; authority?: (ability: AnyAbility) => boolean; } } declare module 'vue-router' { interface RouteMeta { _externalLink?: boolean; } }