import type { NavigationGuard, NavigationGuardNext, } from 'vue-router'; export type NextCallback = (vm: any) => any; export type NextContext = NavigationGuardNext; export type GuardReturnContext = string | Route | boolean | Error; export type BeforeEachGuardCallback = (to: Route, from?: Route, next?: NextContext) => void; export type BeforeResolveGuardCallback = (to: Route, from?: Route, next?: NextContext) => void; export type AfterEachHookCallback = (to: Route, from?: Route) => void; export type BeforeRouteEnter = (to: Route, from?: Route, next?: NextContext) => void; export type BeforeRouteLeave = (to: Route, from?: Route, next?: NextContext) => void; export type NavigationGuardCallback = NavigationGuard; export interface GuardsInitArgs { to: Route; from?: Route; next?: NextContext; }