import { NexusAI } from './nexus.js'; import type { AnthropicProviderConfig, AuditLogConfig, AzureOpenAIProviderConfig, CacheConfig, CohereProviderConfig, CostBudgetConfig, CustomProviderConfig, DeepSeekProviderConfig, GoogleProviderConfig, GroqProviderConfig, LMStudioProviderConfig, LlamaCppProviderConfig, LoggerConfig, MistralProviderConfig, NexusAIConfig, OllamaProviderConfig, OpenAIProviderConfig, OpenRouterProviderConfig, ProvidersConfig, RateLimitConfig, ResponseFormatConfig, RetryConfig, RoutingConfig, RoutingStrategy } from '../types/config.js'; import type { ContextWindowConfig } from '../types/context-window.js'; import type { ImageConfig } from '../types/images.js'; import type { SecurityConfig, SecurityLevel } from '../types/security.js'; import type { TokenOptimizerConfig } from '../types/optimizer.js'; import type { PipelineConfig } from '../pipeline/types.js'; import type { MetricsConfig } from '../ops/metrics.js'; import type { HealthConfig } from '../ops/health.js'; /** * Fluent, typed builder for `NexusAIConfig`. * * The builder is intentionally thin: every method maps directly to a normal config field, so advanced users * can still call `build()` and edit the plain object before passing it to `new NexusAI(...)`. */ export declare class NexusConfigBuilder { private config; constructor(seed?: Partial); /** Adds or replaces a provider config by its `ProvidersConfig` key. */ provider(name: Name, config: NonNullable): this; /** Adds OpenAI. */ openai(config: OpenAIProviderConfig | string): this; /** Adds Anthropic. */ anthropic(config: AnthropicProviderConfig | string): this; /** Adds Google Gemini. */ google(config: GoogleProviderConfig | string): this; /** Adds a local Ollama server. */ ollama(config?: OllamaProviderConfig): this; /** Adds Groq. */ groq(config: GroqProviderConfig | string): this; /** Adds Mistral. */ mistral(config: MistralProviderConfig | string): this; /** Adds Cohere. */ cohere(config: CohereProviderConfig | string): this; /** Adds OpenRouter. */ openrouter(config: OpenRouterProviderConfig | string): this; /** Adds DeepSeek. */ deepseek(config: DeepSeekProviderConfig | string): this; /** Adds Azure OpenAI. */ azureOpenAI(config: AzureOpenAIProviderConfig): this; /** Adds a local LM Studio OpenAI-compatible server. */ lmstudio(config?: LMStudioProviderConfig): this; /** Adds a local llama.cpp OpenAI-compatible server. */ llamaCpp(config?: LlamaCppProviderConfig): this; /** Adds a user-defined OpenAI- or Anthropic-compatible endpoint. */ custom(config: CustomProviderConfig): this; /** Sets raw routing config. */ routing(config: RoutingConfig): this; /** Uses direct routing through a single default model. */ direct(model: string): this; /** Uses automatic routing with an optional strategy. */ auto(strategy?: RoutingStrategy): this; /** Sets input/output security behavior. */ security(config: SecurityLevel | SecurityConfig): this; /** Sets context-window compaction behavior. */ contextWindow(config: ContextWindowConfig): this; /** Sets image-provider defaults and registrations. */ images(config: ImageConfig): this; /** Sets token optimization behavior. */ tokenOptimizer(config: TokenOptimizerConfig): this; /** Sets exact, semantic, or hybrid cache behavior. */ cache(config: CacheConfig): this; /** Sets rate limiting behavior. */ rateLimit(config: RateLimitConfig): this; /** Sets audit logging behavior. */ auditLog(config: AuditLogConfig): this; /** Sets response-format defaults. */ responseFormat(config: ResponseFormatConfig): this; /** Sets provider retry behavior. */ retry(config: RetryConfig): this; /** Sets request cost-budget behavior. */ costBudget(config: CostBudgetConfig): this; /** Sets pipeline hook and trace behavior. */ pipeline(config: PipelineConfig): this; /** Sets metrics sink behavior. */ metrics(config: MetricsConfig): this; /** Sets provider health scoring behavior. */ health(config: HealthConfig): this; /** Sets structured logger behavior. */ logger(config: LoggerConfig): this; /** Sets global provider timeout in milliseconds. */ timeout(ms: number): this; /** Toggles debug logging. */ debug(enabled?: boolean): this; /** Returns a plain `NexusAIConfig` object. */ build(): NexusAIConfig; /** Creates a `NexusAI` instance from the current builder state. */ create(): NexusAI; } /** * Starts a fluent `NexusAIConfig` builder. */ export declare function createNexusConfig(seed?: Partial): NexusConfigBuilder; /** * Identity helper for users who prefer object literals but want type inference and validation in editors. */ export declare function defineNexusConfig(config: NexusAIConfig): NexusAIConfig;