/** * LLM Provider Registry * * Central registry for managing and accessing LLM providers. * Handles provider registration, capability validation, and enabled LLM tracking. */ import type { LLMProvider, ServiceType, ProviderName } from './types.js'; import type { Logger } from '../llm_api/types.js'; /** * Register a provider in the registry * @param provider - The provider instance to register */ export declare function register_provider(provider: LLMProvider): void; /** * Set which LLMs are enabled * @param enabled_names - Array of LLM names that are enabled */ export declare function set_enabled_llms(enabled_names: string[]): void; /** * Set the primary/default LLM * @param name - Name of the primary LLM */ export declare function set_primary_llm(name: string): void; /** * Get the primary/default LLM name * @returns Primary LLM name or null if not set */ export declare function get_primary_llm(): string | null; /** * Check if an LLM is enabled * @param name - LLM name to check * @returns True if the LLM is enabled */ export declare function is_llm_enabled(name: string): boolean; /** * Get a provider by name * @param name - Provider name (case-insensitive). Use LLM_PROVIDERS constants for type safety. * @param logger - Logger instance for error logging * @returns Provider instance or null if not found */ export declare function get_provider(name: ProviderName | null | undefined, logger: Logger): LLMProvider | null; /** * Check if a provider supports a specific service type * @param provider - Provider instance * @param service_type - Service type to check * @returns True if the provider supports the service */ export declare function has_capability(provider: LLMProvider, service_type: ServiceType): boolean; /** * Validate that a provider supports a service before calling it * @param provider - Provider instance * @param service_type - Service type to validate * @param logger - Logger instance * @returns True if capability is supported, false otherwise */ export declare function validate_capability(provider: LLMProvider, service_type: ServiceType, logger: Logger): boolean; /** * Get all registered provider names * @returns Array of provider names */ export declare function get_registered_providers(): string[]; /** * Clear all registered providers (useful for testing) */ export declare function clear_registry(): void; //# sourceMappingURL=registry.d.ts.map