/** * Provider Factory * Creates and caches LLM providers based on configuration */ import type { LLMProvider, ProviderName, ProviderConfig } from './types.js'; /** * Create an LLM provider based on configuration * @param config - Provider configuration * @returns LLM provider instance */ export declare function createProvider(config: ProviderConfig): LLMProvider; /** * Get the cached provider instance * Throws if no provider has been initialized * @returns The cached LLM provider */ export declare function getProvider(): LLMProvider; /** * Initialize and cache a provider * @param config - Provider configuration * @returns The initialized provider */ export declare function initializeProvider(config: ProviderConfig): LLMProvider; /** * Reset the cached provider * Useful for testing or switching providers */ export declare function resetProvider(): void; /** * Check if a provider is initialized * @returns true if a provider is initialized */ export declare function hasProvider(): boolean; /** * Get the current provider name * @returns Provider name or null if not initialized */ export declare function getProviderName(): ProviderName | null; /** * Get the current provider configuration * @returns Provider config or null if not initialized */ export declare function getProviderConfig(): ProviderConfig | null; //# sourceMappingURL=factory.d.ts.map