export interface ModelCapabilities { vision?: boolean; tools?: boolean; streaming?: boolean; functionCalling?: boolean; json?: boolean; } export interface ModelMetadata { id: string; name: string; contextWindow: number; maxOutput: number; costPer1kTokens: number; capabilities?: ModelCapabilities; releaseDate?: string; deprecated?: boolean; } export interface ProviderConfig { name: string; models: ModelMetadata[]; baseUrl?: string; requiresApiKey: boolean; freeTier?: boolean; homepage?: string; documentation?: string; rateLimit?: { requestsPerMinute?: number; tokensPerMinute?: number; }; } export declare const PROVIDER_REGISTRY: Record; export declare function getProvider(name: string): ProviderConfig | undefined; export declare function getModel(provider: string, modelId: string): ModelMetadata | undefined; export declare function listFreeModels(): Array<{ provider: string; model: string; name: string; }>; export declare function getModelsByCapability(capability: keyof ModelCapabilities): { provider: string; model: ModelMetadata; }[]; export declare function getModelsByMinContext(contextWindow: number): Array<{ provider: string; model: ModelMetadata; }>; export default PROVIDER_REGISTRY; //# sourceMappingURL=providers.d.ts.map