import type { Component } from "vue"; export type TerminalRoute = Readonly<{ name: string; params?: Readonly>; meta?: unknown; }>; export type TerminalRouteRecord = Readonly<{ name: string; component: Component; meta?: unknown; onEnter?: (to: TerminalRoute, from: TerminalRoute | null) => void | Promise; onLeave?: (to: TerminalRoute, from: TerminalRoute | null) => void | Promise; }>; export type TerminalRouteLocationRaw = string | Readonly<{ name: string; params?: Record; }>; export type NavigationGuardReturn = void | boolean | TerminalRouteLocationRaw; export type NavigationGuard = (to: TerminalRoute, from: TerminalRoute | null) => NavigationGuardReturn | Promise; export type TerminalRouter = Readonly<{ currentRoute: import("vue").Ref; push: (to: TerminalRouteLocationRaw) => Promise; replace: (to: TerminalRouteLocationRaw) => Promise; back: () => Promise; beforeEach: (guard: NavigationGuard) => () => void; beforeResolve: (guard: NavigationGuard) => () => void; afterEach: (guard: (to: TerminalRoute, from: TerminalRoute | null) => void) => () => void; install: (app: import("vue").App) => void; }>;