import { ModelInfo } from '../types';
export declare class ApiClient {
    private endpoint;
    private cache;
    private cacheTimestamp;
    private readonly CACHE_DURATION;
    constructor(endpoint?: string);
    fetchModels(forceRefresh?: boolean): Promise<ModelInfo[]>;
    /**
     * Test a model with an actual API call
     */
    testModel(modelId: string, apiKey: string, testMessage?: string): Promise<{
        success: boolean;
        response?: string;
        error?: string;
        usage?: {
            prompt_tokens: number;
            completion_tokens: number;
            total_tokens: number;
        };
    }>;
    /**
     * Filter out models with known availability issues
     */
    private filterAvailableModels;
    /**
     * Check if a model is deprecated using multiple detection strategies
     */
    private isModelDeprecated;
    /**
     * Check for known problematic model IDs that consistently cause issues
     */
    private isKnownProblematicModel;
    /**
     * Categorize models into free and paid
     */
    categorizeModels(models: ModelInfo[]): {
        freeModels: ModelInfo[];
        paidModels: ModelInfo[];
    };
    private transformModel;
    private extractProvider;
    private calculateCostTier;
    private extractFeatures;
    private isMultimodal;
    private getFallbackModels;
    clearCache(): void;
}
//# sourceMappingURL=apiClient.d.ts.map