/**
 * Provider registry for managing LLM providers in TypeScript.
 */
import { Message, LLMResponse } from '../core/models';
import { BaseProvider } from './base';
export declare class ProviderRegistry {
    private providers;
    private modelToProvider;
    constructor();
    private initializeProviders;
    registerProvider(provider: BaseProvider): void;
    getProvider(providerName: string): BaseProvider;
    getProviderForModel(model: string): BaseProvider;
    listProviders(): string[];
    listModels(providerName?: string): string[];
    getModelInfo(): Record<string, {
        provider: string;
        pricing?: any;
        [key: string]: any;
    }>;
    chatCompletion(model: string, messages: Message[], options?: {
        temperature?: number;
        maxTokens?: number;
        [key: string]: any;
    }): Promise<LLMResponse>;
    calculateCost(model: string, tokens: any): number;
}
export declare const registry: ProviderRegistry;
//# sourceMappingURL=registry.d.ts.map