import { Provider } from "./Provider.js"; import { registerOpenAIProvider } from "./openai/index.js"; import { registerAnthropicProvider } from "./anthropic/index.js"; import { registerGeminiProvider } from "./gemini/index.js"; import { registerDeepSeekProvider } from "./deepseek/index.js"; import { registerOllamaProvider } from "./ollama/index.js"; import { registerOpenRouterProvider } from "./openrouter/index.js"; import { registerBedrockProvider } from "./bedrock/index.js"; import { registerXAIProvider } from "./xai/index.js"; import { registerMistralProvider } from "./mistral/index.js"; import { NodeLLMConfig } from "../config.js"; type ProviderFactory = (config?: NodeLLMConfig) => Provider; export type ProviderInterceptor = (provider: Provider) => Provider; declare class ProviderRegistry { private providers; private globalInterceptor?; setInterceptor(interceptor: ProviderInterceptor | undefined): void; /** * Register a provider factory */ register(name: string, factory: ProviderFactory): void; /** * Resolve a provider by name */ resolve(name: string, config?: NodeLLMConfig): Provider; /** * Check if a provider is registered */ has(name: string): boolean; /** * Introspection / debugging */ list(): string[]; } /** * Global provider registry. * * @internal * This is an internal implementation detail. Use `NodeLLM.registerProvider()` * or `createLLM()` instead of accessing this directly. * * **For custom providers**, use the public API: * ```typescript * import { NodeLLM, BaseProvider } from '@node-llm/core'; * * class MyProvider extends BaseProvider { ... } * NodeLLM.registerProvider("my-provider", () => new MyProvider()); * ``` */ export declare const providerRegistry: ProviderRegistry; export { registerOpenAIProvider as ensureOpenAIRegistered, registerOpenAIProvider, registerAnthropicProvider, registerGeminiProvider, registerDeepSeekProvider, registerOllamaProvider, registerOpenRouterProvider, registerBedrockProvider, registerXAIProvider, registerMistralProvider }; //# sourceMappingURL=registry.d.ts.map