import type { LLMProvider, ProviderId, ReasoningEffortLevel, TextVerbosityLevel, ThinkingBudgetConfig, ThinkingLevel } from '../core/types.js'; export interface ProviderConfig { provider: ProviderId; model: string; temperature?: number; maxTokens?: number; reasoningEffort?: ReasoningEffortLevel; textVerbosity?: TextVerbosityLevel; /** Extended thinking configuration for supported models (Anthropic Claude 4/3.7, Gemini 2.5+) */ thinking?: ThinkingBudgetConfig; /** Thinking level for models that support discrete intensities (Gemini 3 Pro) */ thinkingLevel?: ThinkingLevel; } export type ProviderFactory = (config: ProviderConfig) => LLMProvider; export interface RegisterProviderOptions { override?: boolean; } export declare function registerProvider(id: ProviderId, factory: ProviderFactory, options?: RegisterProviderOptions): void; export declare function createProvider(config: ProviderConfig): LLMProvider; export declare function listRegisteredProviders(): ProviderId[]; export declare function hasProvider(id: ProviderId): boolean; //# sourceMappingURL=providerFactory.d.ts.map