openrouter-model-picker
Version:
Third-party React component for OpenRouter model selection
51 lines • 1.48 kB
TypeScript
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 isReasoningModel;
private supportsStreamCancellation;
private getFallbackModels;
clearCache(): void;
}
//# sourceMappingURL=apiClient.d.ts.map