import type { App } from 'vue' import type { Router, RouteRecordRaw } from 'vue-router' interface AppContext { app: App router: HasRouter extends true ? Router : undefined routes: HasRouter extends true ? RouteRecordRaw[] : undefined } export type UserModule = (ctx: AppContext) => void | Promise