types.ts
553 Bytes
import { defineComponent } from 'vue'
import type { RouteMeta, NavigationGuard } from 'vue-router'
export type Component<T = any> =
| ReturnType<typeof defineComponent>
| (() => Promise<typeof import('*.vue')>)
| (() => Promise<T>)
export interface AppRouteRecordRaw {
path: string
name?: string | symbol
meta?: RouteMeta
redirect?: string
component: Component | string
children?: AppRouteRecordRaw[]
alias?: string | string[]
props?: Record<string, any>
beforeEnter?: NavigationGuard | NavigationGuard[]
fullPath?: string
}