/**
 * VGrove Autoroutes 集成工具
 * 提供与 @gulibs/vgrove-autoroutes 的深度集成支持
 *
 * 版本: 2.1.0
 * 更新: 增强错误处理、类型安全、性能优化和配置验证
 */
import type { LoaderFunction } from 'react-router';
import { type LoaderOptions } from './loaders';
import type { BaseUser, AuthOptions, ClientRouteConfigs } from './types';
/**
 * 路由配置分析器
 * 分析和验证路由配置的完整性和依赖关系
 */
declare class RouteConfigAnalyzer {
    /**
     * 分析路由配置的依赖关系
     */
    static analyzeDependencies<TUser extends BaseUser = BaseUser>(routeConfigs: Map<string, ClientRouteConfigs<TUser>>): {
        authRoutes: string[];
        roleRoutes: Map<string, string[]>;
        permissionRoutes: Map<string, string[]>;
        conflicts: string[];
        recommendations: string[];
    };
    /**
     * 验证路由配置的完整性
     */
    static validateConfigs<TUser extends BaseUser = BaseUser>(routeConfigs: Map<string, ClientRouteConfigs<TUser>>): {
        valid: boolean;
        errors: string[];
        warnings: string[];
    };
}
/**
 * 路由性能优化器
 * 优化路由配置以提升性能
 */
declare class RoutePerformanceOptimizer {
    private static loaderCache;
    private static actionCache;
    /**
     * 缓存 loader 结果
     */
    static createCachedLoader(originalLoader: LoaderFunction, cacheKey: string, ttl?: number): LoaderFunction;
    /**
     * 清除缓存
     */
    static clearCache(): void;
    /**
     * 优化路由配置
     */
    static optimizeRoutes(routes: any[], options?: {
        enableLoaderCache?: boolean;
        cacheStrategy?: 'memory' | 'session' | 'local';
        maxCacheSize?: number;
    }): any[];
}
/**
 * 路由配置解析器
 * 用于解析 vgrove-autoroutes 扫描到的路由配置文件
 */
export declare class RouteConfigReader {
    private static configCache;
    /**
     * 读取并解析路由配置文件（带重试机制）
     * @param configPath 配置文件路径
     * @returns 解析后的配置对象
     */
    static readConfig<TUser extends BaseUser = BaseUser>(configPath: string): Promise<ClientRouteConfigs<TUser> | null>;
    /**
     * 清除配置缓存
     */
    static clearCache(): void;
    /**
     * 合并多个配置对象
     * @param configs 配置对象数组，按优先级排序（后面的会覆盖前面的）
     * @returns 合并后的配置
     */
    static mergeConfigs<TUser extends BaseUser = BaseUser>(...configs: (ClientRouteConfigs<TUser> | null)[]): ClientRouteConfigs<TUser>;
}
/**
 * 为 vgrove-autoroutes 创建集成的 loader
 */
export declare class LoaderIntegrator {
    /**
     * 根据路由配置创建认证 loader
     */
    static createAuthLoaderFromConfig<TUser extends BaseUser = BaseUser>(config: AuthOptions<TUser>, globalOptions?: LoaderOptions<TUser>): LoaderFunction;
    /**
     * 根据路由配置创建角色 loader
     */
    static createRoleLoaderFromConfig<TUser extends BaseUser = BaseUser>(config: AuthOptions<TUser>, globalOptions?: LoaderOptions<TUser>): LoaderFunction | null;
    /**
     * 根据路由配置创建权限 loader
     */
    static createPermissionLoaderFromConfig<TUser extends BaseUser = BaseUser>(config: AuthOptions<TUser>, globalOptions?: LoaderOptions<TUser>): LoaderFunction | null;
    /**
     * 根据路由配置创建组合 loader
     */
    static createCombinedLoaderFromConfig<TUser extends BaseUser = BaseUser>(config: AuthOptions<TUser>, globalOptions?: LoaderOptions<TUser>): LoaderFunction;
    /**
     * 根据完整的路由配置创建 loader
     */
    static createLoaderFromRouteConfig<TUser extends BaseUser = BaseUser>(routeConfig: ClientRouteConfigs<TUser>, globalOptions?: LoaderOptions<TUser>): LoaderFunction | null;
}
/**
 * 中间件集成器
 * 用于将路由配置转换为中间件注册
 */
export declare class MiddlewareIntegrator {
    /**
     * 根据路由配置注册中间件
     */
    static registerMiddlewareFromConfig<TUser extends BaseUser = BaseUser>(routePath: string, routeConfig: ClientRouteConfigs<TUser>): void;
}
/**
 * 路由增强器
 * 为生成的路由添加额外功能
 */
export declare class RouteEnhancer {
    /**
     * 增强路由配置，添加认证和中间件支持
     */
    static enhanceRoute<TUser extends BaseUser = BaseUser>(route: any, routePath: string, config?: ClientRouteConfigs<TUser>, globalOptions?: LoaderOptions<TUser>): any;
    /**
     * 批量增强路由数组
     */
    static enhanceRoutes<TUser extends BaseUser = BaseUser>(routes: any[], routeConfigs: Map<string, ClientRouteConfigs<TUser>>, globalOptions?: LoaderOptions<TUser>): any[];
}
/**
 * 智能路由工厂
 * 根据不同场景创建优化的路由配置
 */
export declare class SmartRouteFactory {
    /**
     * 创建认证保护的路由
     */
    static createProtectedRoute<TUser extends BaseUser = BaseUser>(path: string, component: any, authConfig: AuthOptions<TUser>, options?: {
        layout?: any;
        errorBoundary?: any;
        loading?: any;
    }): any;
    /**
     * 创建角色保护的路由
     */
    static createRoleProtectedRoute<TUser extends BaseUser = BaseUser>(path: string, component: any, roles: string[], authConfig?: AuthOptions<TUser>, options?: {
        layout?: any;
        errorBoundary?: any;
    }): any;
    /**
     * 创建权限保护的路由
     */
    static createPermissionProtectedRoute<TUser extends BaseUser = BaseUser>(path: string, component: any, permissions: string[], authConfig?: AuthOptions<TUser>, options?: {
        layout?: any;
        errorBoundary?: any;
    }): any;
}
/**
 * 为 vgrove-autoroutes 提供的集成助手
 * 这些函数会被 autoroutes 生成的代码调用
 */
export declare const AutoroutesIntegration: {
    /**
     * 初始化路由配置集成
     * @param routeConfigs 路由配置映射 (路径 -> 配置文件路径)
     * @param globalLoaderOptions 全局 loader 选项
     */
    initializeRouteConfigs<TUser extends BaseUser = BaseUser>(routeConfigs: Map<string, string>, globalLoaderOptions?: LoaderOptions<TUser>): Promise<Map<string, LoaderFunction>>;
    /**
     * 创建集成的 loader，包含中间件支持
     * @param originalLoader 原始 loader
     */
    createIntegratedLoader(originalLoader?: LoaderFunction): LoaderFunction;
    /**
     * 获取路由配置管理器
     */
    getRouteConfigReader(): typeof RouteConfigReader;
    /**
     * 获取 loader 集成器
     */
    getLoaderIntegrator(): typeof LoaderIntegrator;
    /**
     * 获取中间件集成器
     */
    getMiddlewareIntegrator(): typeof MiddlewareIntegrator;
    /**
     * 获取路由增强器
     */
    getRouteEnhancer(): typeof RouteEnhancer;
    /**
     * 获取智能路由工厂
     */
    getSmartRouteFactory(): typeof SmartRouteFactory;
    /**
     * 获取路由配置分析器
     */
    getRouteConfigAnalyzer(): typeof RouteConfigAnalyzer;
    /**
     * 获取路由性能优化器
     */
    getRoutePerformanceOptimizer(): typeof RoutePerformanceOptimizer;
    /**
     * 增强路由数组（便捷方法）
     */
    enhanceRoutes<TUser extends BaseUser = BaseUser>(routes: any[], routeConfigs: Map<string, ClientRouteConfigs<TUser>>, globalOptions?: LoaderOptions<TUser>): any[];
    /**
     * 分析路由配置（便捷方法）
     */
    analyzeConfigs<TUser extends BaseUser = BaseUser>(routeConfigs: Map<string, ClientRouteConfigs<TUser>>): {
        authRoutes: string[];
        roleRoutes: Map<string, string[]>;
        permissionRoutes: Map<string, string[]>;
        conflicts: string[];
        recommendations: string[];
    };
    /**
     * 验证路由配置（便捷方法）
     */
    validateConfigs<TUser extends BaseUser = BaseUser>(routeConfigs: Map<string, ClientRouteConfigs<TUser>>): {
        valid: boolean;
        errors: string[];
        warnings: string[];
    };
    /**
     * 优化路由性能（便捷方法）
     */
    optimizeRoutes(routes: any[], options?: Parameters<typeof RoutePerformanceOptimizer.optimizeRoutes>[1]): any[];
    /**
     * 创建完整的集成方案
     * @param routes 原始路由数组
     * @param configPaths 路由配置文件路径映射
     * @param globalOptions 全局选项
     * @returns 增强后的路由数组
     */
    createFullIntegration<TUser extends BaseUser = BaseUser>(routes: any[], configPaths: Map<string, string>, globalOptions?: LoaderOptions<TUser>): Promise<any[]>;
};
/**
 * 获取集成工具版本信息
 */
export declare const getIntegrationVersion: () => string;
export default AutoroutesIntegration;
//# sourceMappingURL=autoroutes-integration.d.ts.map