/* eslint-disable */ /* prettier-ignore */ // Generated by elegant-router // Read more: https://github.com/soybeanjs/elegant-router declare module "@elegant-router/types" { type ElegantConstRoute = import('@elegant-router/vue').ElegantConstRoute; /** * route layout */ export type RouteLayout = "base" | "blank"; /** * route key */ export type RouteKey = string; /** * route path */ export type RoutePath = string; export type RouteMap =Record; /** * custom route key */ export type CustomRouteKey = string; /** * the generated route key */ export type GeneratedRouteKey = Exclude; /** * the first level route key, which contain the layout of the route */ export type FirstLevelRouteKey = string; /** * the custom first level route key */ export type CustomFirstLevelRouteKey = string; /** * the last level route key, which has the page file */ export type LastLevelRouteKey = string /** * the custom last level route key */ export type CustomLastLevelRouteKey = string; /** * the single level route key */ export type SingleLevelRouteKey = FirstLevelRouteKey & LastLevelRouteKey; /** * the custom single level route key */ export type CustomSingleLevelRouteKey = CustomFirstLevelRouteKey & CustomLastLevelRouteKey; /** * the first level route key, but not the single level */ export type FirstLevelRouteNotSingleKey = Exclude; /** * the custom first level route key, but not the single level */ export type CustomFirstLevelRouteNotSingleKey = Exclude; /** * the center level route key */ export type CenterLevelRouteKey = Exclude; /** * the custom center level route key */ export type CustomCenterLevelRouteKey = Exclude; /** * the center level route key */ type GetChildRouteKey = T extends `${K}_${infer R}` ? R extends `${string}_${string}` ? never : T : never; /** * the single level route */ type SingleLevelRoute = K extends string ? Omit & { name: K; path: K; meta?: Record; component?: `layout.${RouteLayout}$view.${K}` | `layout.${RouteLayout}` | `view.${K}` ; children?: SingleLevelRoute[]; } : never; /** * the last level route */ type LastLevelRoute = K extends LastLevelRouteKey ? Omit & { name: K; path: string; component: `view.${K}`; } : never; /** * the center level route */ type CenterLevelRoute = K extends CenterLevelRouteKey ? Omit & { name: K; path: string; children: (CenterLevelRoute> | LastLevelRoute>)[]; } : never; /** * the multi level route */ type MultiLevelRoute = K extends string ? ElegantConstRoute & { name: K; path: K; component: `layout.${RouteLayout}`; children: (CenterLevelRoute> | LastLevelRoute>)[]; } : never; /** * the custom first level route */ type CustomSingleLevelRoute = K extends string ? Omit & { name: K; path: string; component?: `layout.${RouteLayout}$view.${LastLevelRouteKey}`; } : never; /** * the custom last level route */ type CustomLastLevelRoute = K extends CustomLastLevelRouteKey ? Omit & { name: K; path: string; component?: `view.${LastLevelRouteKey}`; } : never; /** * the custom center level route */ type CustomCenterLevelRoute = K extends CustomCenterLevelRouteKey ? Omit & { name: K; path: string; children: (CustomCenterLevelRoute> | CustomLastLevelRoute>)[]; } : never; /** * the custom multi level route */ type CustomMultiLevelRoute = K extends string ? ElegantConstRoute & { name: K; path: string; component: `layout.${RouteLayout}`; children: (CustomCenterLevelRoute> | CustomLastLevelRoute>)[]; } : never; /** * the custom route */ type CustomRoute = CustomSingleLevelRoute | CustomMultiLevelRoute | any; /** * the generated route */ type GeneratedRoute = SingleLevelRoute | MultiLevelRoute; /** * the elegant route */ type ElegantRoute = GeneratedRoute | CustomRoute; }