/** * Model Pool - Shadow Consensus v3.0 * * Manages connections to multiple AI models for consensus routing. * Supports: Llama 3, Claude 3, GPT-4, Gemini, and other models. * * Features: * - Multi-provider support * - Load balancing * - Health monitoring * - Automatic failover */ import { EventEmitter } from 'events'; export interface ModelConfig { id: string; name: string; provider: 'ollama' | 'anthropic' | 'openai' | 'google'; endpoint: string; apiKey?: string; model: string; maxTokens?: number; temperature?: number; enabled?: boolean; } export interface ModelInfo { id: string; name: string; provider: string; model: string; status: 'online' | 'offline' | 'error'; lastHealthCheck: number; requestCount: number; errorCount: number; averageLatency: number; } export interface QueryResponse { text: string; confidence?: number; reasoning?: string; model: string; latency: number; } export interface ModelPoolConfig { models: ModelConfig[]; healthCheckInterval?: number; requestTimeout?: number; } export declare class ModelPool extends EventEmitter { private config; private models; private modelInfo; private healthCheckTimer?; constructor(config: ModelPoolConfig); /** * Start the model pool */ start(): Promise; /** * Query a specific model */ query(modelId: string, prompt: string): Promise; /** * Query Ollama model */ private queryOllama; /** * Query Anthropic (Claude) model */ private queryAnthropic; /** * Query OpenAI (GPT) model */ private queryOpenAI; /** * Query Google (Gemini) model */ private queryGoogle; /** * Select models for consensus */ selectModels(minModels: number, maxModels: number): Promise; /** * Health check all models */ private healthCheckAll; /** * Health check a specific model */ private healthCheck; /** * Get model info */ getModelInfo(modelId: string): ModelInfo | undefined; /** * Get all models info */ getAllModelsInfo(): ModelInfo[]; /** * Stop the model pool */ stop(): void; } //# sourceMappingURL=ModelPool.d.ts.map