import { I as IRouter, S as SelectionCriteria, a as SelectionResult } from '../../routing-BoTeveC1.mjs'; import { M as ModelCatalog } from '../../ModelCatalog-BcfW6bZr.mjs'; import { L as Logger } from '../../logger-DUq4P1BF.mjs'; declare class CostOptimizer implements IRouter { private catalog; private logger; constructor(catalog: ModelCatalog, logger: Logger); getName(): string; route(query: string, criteria: SelectionCriteria): Promise; private calculateCostScore; private formatCost; } declare class PerformanceRouter implements IRouter { private catalog; private logger; private performanceMetrics; constructor(catalog: ModelCatalog, logger: Logger); getName(): string; route(query: string, criteria: SelectionCriteria): Promise; private initializeMetrics; private getPerformanceScore; private getLatency; /** * Update performance metrics (for production use) */ updateMetrics(modelId: string, latency: number): void; } interface BalancedWeights { cost: number; performance: number; capability: number; reliability: number; } declare class BalancedRouter implements IRouter { private catalog; private logger; private weights; private performanceMetrics; constructor(catalog: ModelCatalog, logger: Logger, weights?: Partial); getName(): string; route(query: string, criteria: SelectionCriteria): Promise; private calculateBalancedScore; private calculateCostScore; private calculatePerformanceScore; private calculateCapabilityScore; private calculateReliabilityScore; private initializeMetrics; private getLatency; /** * Update weights for custom balancing */ setWeights(weights: Partial): void; } declare class CapabilityRouter implements IRouter { private catalog; private logger; constructor(catalog: ModelCatalog, logger: Logger); getName(): string; route(query: string, criteria: SelectionCriteria): Promise; private detectCapabilities; private calculateCapabilityScore; private formatCapabilities; } export { BalancedRouter, type BalancedWeights, CapabilityRouter, CostOptimizer, PerformanceRouter };