/**
 * @module router-guard 路由拦截器
 */
import { NavigationGuardNext, RouteLocationNormalized, Router } from 'vue-router';
export type BeforeMiddlewareFn = (to: RouteLocationNormalized, from: RouteLocationNormalized, next: NavigationGuardNext) => void;
export type AfterMiddlewareFn = (to: RouteLocationNormalized, from: RouteLocationNormalized, next: (flag?: boolean) => void) => void;
type Hook = 'beforeEach' | 'beforeResolve' | 'afterEach';
declare class LifecycleHook {
    private hook;
    constructor(hook: Hook);
    /**
     * 收集前置路由守卫中间件
     */
    private beforeQueue;
    /**
     * 收集后置路由守卫中间件
     */
    private afterQueue;
    private registered;
    /**
     * 运行前置钩子中间件
     */
    private runBefore;
    /**
     * 运行后置钩子中间件
     */
    private runAfter;
    /**
     * 采集中间件
     */
    use(...args: BeforeMiddlewareFn[] | AfterMiddlewareFn[]): void;
    /**
     * 注册路由守卫
     */
    register(router: Router): void;
}
/**
 * 导出路由守卫处理器
 */
export declare const beforeEachHook: LifecycleHook;
export declare const beforeResolveHook: LifecycleHook;
export declare const afterEachHook: LifecycleHook;
export {};
