/**
 * Provider Management Module
 *
 * 管理Provider的生命周期、查找和验证
 * 按照细菌式编程原则：小巧、模块化、自包含
 */
import { Provider, RouterConfig } from '@/types';
export interface ProviderManagerDependencies {
    config: RouterConfig;
    logger: any;
}
export declare class ProviderManager {
    private deps;
    private providers;
    constructor(deps: ProviderManagerDependencies);
    /**
     * 初始化所有Provider
     */
    initializeProviders(): void;
    /**
     * 创建Provider实例
     */
    private createProvider;
    /**
     * 根据ID查找Provider
     */
    findProvider(providerId: string): Provider | null;
    /**
     * 根据ID查找Provider（抛出异常如果未找到）
     */
    getProvider(providerId: string): Provider;
    /**
     * 从Provider池中选择一个可用的Provider
     */
    selectProviderFromPool(providers: string[], originalProviderId: string): string;
    /**
     * 获取所有Provider
     */
    getAllProviders(): Map<string, Provider>;
    /**
     * 获取Provider列表
     */
    getProviderList(): string[];
    /**
     * 获取Provider数量
     */
    getProviderCount(): number;
    /**
     * 检查Provider是否存在
     */
    hasProvider(providerId: string): boolean;
    /**
     * 获取健康的Provider列表
     */
    getHealthyProviders(): Promise<string[]>;
    /**
     * 获取不健康的Provider列表
     */
    getUnhealthyProviders(): Promise<Array<{
        providerId: string;
        error?: string;
    }>>;
    /**
     * 验证Provider健康状态
     */
    validateProvider(provider: Provider): Promise<boolean>;
    /**
     * 获取Provider统计信息
     */
    getProviderStats(): Promise<Record<string, any>>;
    /**
     * 获取Provider类型
     */
    private getProviderType;
    /**
     * 关闭所有Provider
     */
    shutdown(): Promise<void>;
}
/**
 * 创建Provider Manager实例的工厂函数
 */
export declare function createProviderManager(deps: ProviderManagerDependencies): ProviderManager;
//# sourceMappingURL=provider-manager.d.ts.map