/**
 * 路由预加载管理器
 * 提供路由组件的预加载功能
 */
import type { RouteConfig } from '../types';
/**
 * 预加载策略
 */
export declare enum PreloadStrategy {
    /**
     * 不预加载
     */
    NONE = "none",
    /**
     * 预加载当前路由的下一级路由
     */
    NEXT_LEVEL = "next-level",
    /**
     * 预加载所有路由
     */
    ALL = "all",
    /**
     * 预加载可见路由（根据路由配置的优先级）
     */
    VISIBLE = "visible"
}
/**
 * 预加载配置
 */
export interface PreloadConfig {
    /**
     * 预加载策略
     * @default PreloadStrategy.NEXT_LEVEL
     */
    strategy?: PreloadStrategy;
    /**
     * 预加载延迟（毫秒）
     * @default 1000
     */
    delay?: number;
    /**
     * 预加载优先级阈值（只预加载优先级小于等于此值的路由）
     * @default 10
     */
    priorityThreshold?: number;
    /**
     * 预加载超时时间（毫秒）
     * @default 5000
     */
    timeout?: number;
}
/**
 * 路由预加载管理器
 */
export declare class RoutePreloader {
    private tasks;
    private config;
    private preloadTimer;
    constructor(config?: PreloadConfig);
    /**
     * 注册路由用于预加载
     */
    registerRoute(route: RouteConfig): void;
    /**
     * 注册多个路由
     */
    registerRoutes(routes: RouteConfig[]): void;
    /**
     * 预加载指定路由
     */
    preloadRoute(routeName: string): Promise<void>;
    /**
     * 预加载任务
     */
    private preloadTask;
    /**
     * 开始预加载（根据策略）
     */
    startPreload(): void;
    /**
     * 执行预加载
     */
    private executePreload;
    /**
     * 停止预加载
     */
    stopPreload(): void;
    /**
     * 清空所有任务
     */
    clear(): void;
    /**
     * 获取预加载统计信息
     */
    getStats(): {
        total: number;
        pending: number;
        loading: number;
        loaded: number;
        failed: number;
    };
}
export declare function getRoutePreloader(config?: PreloadConfig): RoutePreloader;
//# sourceMappingURL=RoutePreloader.d.ts.map