import { S as SelectionCriteria, a as SelectionResult, I as IRouter } from './routing-BoTeveC1.mjs'; import { M as ModelCatalog } from './ModelCatalog-BcfW6bZr.mjs'; import { L as Logger } from './logger-DUq4P1BF.mjs'; declare class ModelSelector { private catalog; private routers; private logger; constructor(catalog?: ModelCatalog, logger?: Logger); /** * Select a model based on criteria */ selectModel(query: string, criteria?: SelectionCriteria): Promise; /** * Select model by explicit ID */ selectById(modelId: string): Promise; /** * Get fallback models */ getFallbacks(primaryModel: string, criteria?: SelectionCriteria): Promise; /** * Register a custom router */ registerRouter(name: string, router: IRouter): void; /** * Get available strategies */ getAvailableStrategies(): string[]; } export { ModelSelector as M };