/** * Model resolution: exact match ("provider/modelId") with fuzzy fallback. */ export interface ModelEntry { id: string; name: string; provider: string; } export interface ModelRegistry { find(provider: string, modelId: string): T | undefined; getAll(): T[]; getAvailable?(): T[]; } /** Manually invalidate the model cache (e.g. after registry mutation). */ export declare function invalidateModelCache(): void; /** * Resolve a model identifier to a registered model. * * Attempts an exact "provider/modelId" match against available models, then falls back to a fuzzy search over provider, id, and name. * * @param input - The model identifier or search query * @param registry - Registry to resolve the model from * @returns The matched model of type `T` if found, otherwise an error message string that lists available models */ export declare function resolveModel(input: string, registry: ModelRegistry): T | string;