import type { LLMProvider } from './types'; import type { LlmMutatorConfig } from '../config'; /** * Construct the {@link LLMProvider} the config selects. * * • `anthropic-agent-sdk` → {@link AnthropicAgentProvider} (subscription, Node). * • `mock` → {@link MockProvider} with NO canned responses; a * caller that actually drives it must pass one in (the * factory's mock is for a dry, network-free wiring * check — any real prompt rejects rather than guessing). * • `openai` → {@link OpenAiCompatibleProvider} keyed with * `OPENAI_API_KEY` and optionally metered via * `openAiPricing` (`providerLabel: 'openai'`). * • `openai-compatible` → {@link OpenAiCompatibleProvider} against * `openAiBaseUrl`, key-less unless `OPENAI_API_KEY` * happens to be set (`providerLabel: 'openai-compatible'`). * • `anthropic-api` → {@link NotImplementedError} (raw API-key path, M5). * * @param config The parsed `llmMutator` config (reads `provider` + `model` plus * the `openAi*` knobs for the OpenAI-compatible path). * @returns The constructed provider. * @throws NotImplementedError for `anthropic-api` (not yet implemented). */ export declare function createProvider(config: LlmMutatorConfig): LLMProvider;