import type { Router, RouteRecordRaw } from 'vue-router' /** * Array of routes generated by vue-router file based routing */ export declare const routes: RouteRecordRaw[] /** * Setups hot module replacement for routes. * * @param router - The router instance * @param hotUpdateCallback - Callback to be called after replacing the routes and before the navigation * * @example * * ```ts * import { createRouter, createWebHistory } from 'vue-router' * import { routes, handleHotUpdate } from 'vue-router/auto-routes' * const router = createRouter({ * history: createWebHistory(), * routes, * }) * if (import.meta.hot) { * handleHotUpdate(router) * } * ``` */ export declare function handleHotUpdate( router: Router, hotUpdateCallback?: (newRoutes: RouteRecordRaw[]) => void ): void // The actual `RouteNamedMap` body is generated by the unplugin into the user's // `routes.d.ts` and wired into `vue-router`'s `TypesConfig` from there, so the // typed routes work even if this module is never imported (e.g. when only // `vue-router/auto-resolver` is used). See vuejs/router#2696. // TODO(v6): rename to `RouteMap` and host the interface directly on `vue-router`. export interface RouteNamedMap {} /** * Map of route file paths (relative to the project root) to information about * the routes they declare. Augmented from the user's generated `routes.d.ts` * by the unplugin. Used by the `definePage` macro typing and the * `sfc-typed-router` Volar plugin to type `useRoute()` per file. * * @internal */ export interface _RouteFileInfoMap {} // Make the macros globally available declare global { const definePage: (typeof import('vue-router/experimental'))['definePage'] }