/** * Provider Plugin Registry * * Registry for managing plugin-based LLM providers. */ import type { ProviderPlugin, ProviderRegistry, ProviderModelDefinition } from '../extensions/types/providers.js'; export declare class ProviderPluginRegistry implements ProviderRegistry { private providers; /** * Register a new provider */ register(provider: ProviderPlugin): void; /** * Get a provider by ID */ get(id: string): ProviderPlugin | undefined; /** * List all registered providers */ listAll(): ProviderPlugin[]; /** * Get models for a specific provider */ getModels(providerId: string): ProviderModelDefinition[]; /** * Check if a provider is registered */ has(id: string): boolean; /** * Unregister a provider */ unregister(id: string): boolean; /** * Get all available model IDs across all providers */ getAllModelIds(): string[]; /** * Find a model across all providers */ findModel(modelId: string): { provider: ProviderPlugin; model: ProviderModelDefinition; } | undefined; /** * Get provider by model ID */ getProviderForModel(modelId: string): ProviderPlugin | undefined; } export declare function getProviderRegistry(): ProviderPluginRegistry; export declare function setProviderRegistry(registry: ProviderPluginRegistry): void;