/**
 * 路由生命周期管理器
 * 负责管理路由生命周期钩子的注册和执行
 */
import type { RouteLocation, RouteLifecycleHooks } from '../types';
/**
 * 路由生命周期管理器
 */
export declare class RouterLifecycleManager {
    private hooks;
    /**
     * 注册生命周期钩子
     *
     * @param hooks - 生命周期钩子配置
     * @returns 取消注册函数
     */
    register(hooks: RouteLifecycleHooks): () => void;
    /**
     * 批量注册生命周期钩子
     *
     * @param hooksArray - 生命周期钩子配置数组
     */
    registerBatch(hooksArray: RouteLifecycleHooks[]): void;
    /**
     * 清空所有生命周期钩子
     */
    clear(): void;
    /**
     * 执行路由跳转前钩子
     *
     * @param to - 目标路由
     * @param from - 来源路由
     * @returns 如果返回字符串，则跳转到该路径；如果返回 false，则阻止跳转；返回 true 或 undefined 则继续跳转
     */
    beforeEach(to: RouteLocation, from?: RouteLocation): Promise<string | false | void>;
    /**
     * 执行路由跳转后钩子
     *
     * @param to - 目标路由
     * @param from - 来源路由
     */
    afterEach(to: RouteLocation, from?: RouteLocation): Promise<void>;
    /**
     * 获取所有生命周期钩子
     *
     * @returns 生命周期钩子配置数组
     */
    getAll(): RouteLifecycleHooks[];
    /**
     * 获取生命周期钩子数量
     *
     * @returns 生命周期钩子数量
     */
    getCount(): number;
}
export declare function getRouterLifecycleManager(): RouterLifecycleManager;
//# sourceMappingURL=RouterLifecycleManager.d.ts.map