/**
 * 智能模型发现系统 v2.0
 * 通过/models端点获取模型列表，多次测试避免流控误判，智能更新配置
 */
import { ProviderConfig } from '@/types';
export interface ModelTestResult {
    modelId: string;
    isAvailable: boolean;
    responseTime: number;
    successRate: number;
    testCount: number;
    errors: string[];
    statusCodes: number[];
    lastTestTime: number;
    confidence: 'high' | 'medium' | 'low';
}
export interface ProviderModelInfo {
    id: string;
    name?: string;
    description?: string;
    created?: number;
    owned_by?: string;
    capabilities?: {
        text: boolean;
        vision: boolean;
        tools: boolean;
        streaming: boolean;
    };
    pricing?: {
        input: number;
        output: number;
    };
    context_length?: number;
}
export interface IntelligentDiscoveryConfig {
    providerId: string;
    provider: ProviderConfig;
    testConfig: {
        testCount: number;
        testInterval: number;
        requestTimeout: number;
        testPrompt: string;
        maxTokens: number;
        rateLimitBackoff: number;
        maxConcurrentTests: number;
    };
    qualityThresholds: {
        minSuccessRate: number;
        maxResponseTime: number;
        minConfidenceLevel: 'high' | 'medium' | 'low';
    };
    cacheConfig: {
        modelListTTL: number;
        testResultTTL: number;
        enablePersistentCache: boolean;
    };
}
export interface DiscoveryReport {
    providerId: string;
    discoveryTime: number;
    totalModelsFound: number;
    modelsFromAPI: number;
    modelsFromFallback: number;
    availableModels: ModelTestResult[];
    unavailableModels: ModelTestResult[];
    configurationUpdated: boolean;
    recommendations: string[];
    warnings: string[];
    errors: string[];
    performance: {
        totalDuration: number;
        apiCallDuration: number;
        testingDuration: number;
        averageResponseTime: number;
    };
}
export declare class IntelligentModelDiscovery {
    private config;
    private cache;
    private cacheExpiry;
    private testQueue;
    private activeTests;
    constructor(config: IntelligentDiscoveryConfig);
    /**
     * 执行完整的智能模型发现流程
     */
    discoverAndUpdateModels(): Promise<DiscoveryReport>;
    /**
     * 从API获取模型列表
     */
    private fetchModelsFromAPI;
    /**
     * 智能模型测试 - 考虑流控和并发限制
     */
    private intelligentModelTesting;
    /**
     * 带重试逻辑的模型测试
     */
    private testModelWithRetryLogic;
    /**
     * 分析单个模型的测试结果
     */
    private analyzeModelTestResults;
    /**
     * 分析所有测试结果
     */
    private analyzeTestResults;
    /**
     * 更新提供商配置
     */
    private updateProviderConfiguration;
    /**
     * 生成建议和警告
     */
    private generateRecommendations;
    private buildModelsEndpoint;
    private buildAuthHeaders;
    private parseModelsResponse;
    private prioritizeModels;
    private sendTestRequest;
    private inferModelCapabilities;
    private getFallbackModels;
    private findConfigurationFile;
    private isCacheValid;
    private delay;
}
/**
 * 创建智能模型发现实例的工厂函数
 */
export declare function createIntelligentModelDiscovery(config: IntelligentDiscoveryConfig): IntelligentModelDiscovery;
/**
 * 默认配置
 */
export declare const DEFAULT_DISCOVERY_CONFIG: Omit<IntelligentDiscoveryConfig, 'providerId' | 'provider'>;
//# sourceMappingURL=intelligent-model-discovery.d.ts.map