import { z } from "zod"; import { LlmProvider, type LlmOptions, type NamedLlmConfig, type NamedProviderConfig, type ProviderOptions } from "./models/types.js"; declare const ConfigSchema: z.ZodPipe; options: z.ZodObject<{ apiKey: z.ZodOptional; baseURL: z.ZodOptional; headers: z.ZodOptional>; thinking: z.ZodOptional>; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ name: z.ZodString; provider: z.ZodLiteral; options: z.ZodObject<{ resourceName: z.ZodOptional; baseURL: z.ZodOptional; apiKey: z.ZodOptional; headers: z.ZodOptional>; apiVersion: z.ZodOptional; useDeploymentBasedUrls: z.ZodOptional; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ name: z.ZodString; provider: z.ZodLiteral; options: z.ZodObject<{ region: z.ZodOptional; accessKeyId: z.ZodOptional; secretAccessKey: z.ZodOptional; sessionToken: z.ZodOptional; apiKey: z.ZodOptional; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ name: z.ZodString; provider: z.ZodLiteral; options: z.ZodObject<{ apiKey: z.ZodOptional; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ name: z.ZodString; provider: z.ZodLiteral; options: z.ZodObject<{ apiKey: z.ZodOptional; baseURL: z.ZodOptional; headers: z.ZodOptional>; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ name: z.ZodString; provider: z.ZodLiteral; options: z.ZodObject<{ apiKey: z.ZodOptional; headers: z.ZodOptional>; thinking: z.ZodOptional>; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ name: z.ZodString; provider: z.ZodLiteral; options: z.ZodObject<{ apiKey: z.ZodOptional; baseURL: z.ZodOptional; headers: z.ZodOptional>; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ name: z.ZodString; provider: z.ZodLiteral; options: z.ZodObject<{ baseURL: z.ZodOptional; thinking: z.ZodOptional]>>; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ name: z.ZodString; provider: z.ZodLiteral; options: z.ZodObject<{ apiKey: z.ZodOptional; baseURL: z.ZodOptional; headers: z.ZodOptional>; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ name: z.ZodString; provider: z.ZodLiteral; options: z.ZodObject<{ apiKey: z.ZodOptional; baseURL: z.ZodOptional; headers: z.ZodOptional>; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ name: z.ZodString; provider: z.ZodLiteral; options: z.ZodObject<{ apiKey: z.ZodOptional; baseURL: z.ZodOptional; headers: z.ZodOptional>; }, z.core.$strict>; }, z.core.$strict>], "provider">>; llms: z.ZodArray; maxTokens: z.ZodOptional; }, z.core.$strict>; default: z.ZodDefault; }, z.core.$strict>>; search: z.ZodOptional; provider: z.ZodOptional>; brave: z.ZodOptional; }, z.core.$strip>>; exa: z.ZodOptional; }, z.core.$strip>>; firecrawl: z.ZodOptional; }, z.core.$strip>>; serper: z.ZodOptional; }, z.core.$strip>>; tavily: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>>>; prompts: z.ZodOptional; communication: z.ZodOptional; execution: z.ZodOptional; guardrails: z.ZodOptional; }, z.core.$strip>>>; tools: z.ZodOptional; }, z.core.$strip>>; fetch: z.ZodOptional; }, z.core.$strip>>; filesystem: z.ZodOptional; }, z.core.$strip>>; shell: z.ZodOptional; }, z.core.$strip>>; sleep: z.ZodOptional; }, z.core.$strip>>; subagents: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>>>; compaction: z.ZodOptional; keep: z.ZodOptional; }, z.core.$strip>>>; }, z.core.$strip>, z.ZodTransform<{ name: string; providers: ({ name: string; provider: LlmProvider.Anthropic; options: { apiKey?: string | undefined; baseURL?: string | undefined; headers?: Record | undefined; thinking?: "disabled" | "adaptive" | undefined; }; } | { name: string; provider: LlmProvider.Azure; options: { resourceName?: string | undefined; baseURL?: string | undefined; apiKey?: string | undefined; headers?: Record | undefined; apiVersion?: string | undefined; useDeploymentBasedUrls?: boolean | undefined; }; } | { name: string; provider: LlmProvider.Bedrock; options: { region?: string | undefined; accessKeyId?: string | undefined; secretAccessKey?: string | undefined; sessionToken?: string | undefined; apiKey?: string | undefined; }; } | { name: string; provider: LlmProvider.Google; options: { apiKey?: string | undefined; }; } | { name: string; provider: LlmProvider.Groq; options: { apiKey?: string | undefined; baseURL?: string | undefined; headers?: Record | undefined; }; } | { name: string; provider: LlmProvider.Minimax; options: { apiKey?: string | undefined; headers?: Record | undefined; thinking?: "disabled" | "adaptive" | undefined; }; } | { name: string; provider: LlmProvider.Moonshot; options: { apiKey?: string | undefined; baseURL?: string | undefined; headers?: Record | undefined; }; } | { name: string; provider: LlmProvider.Ollama; options: { baseURL?: string | undefined; thinking?: boolean | "high" | "medium" | "low" | undefined; }; } | { name: string; provider: LlmProvider.OpenAI; options: { apiKey?: string | undefined; baseURL?: string | undefined; headers?: Record | undefined; }; } | { name: string; provider: LlmProvider.OpenRouter; options: { apiKey?: string | undefined; baseURL?: string | undefined; headers?: Record | undefined; }; } | { name: string; provider: LlmProvider.Xai; options: { apiKey?: string | undefined; baseURL?: string | undefined; headers?: Record | undefined; }; })[]; llms: { name: string; provider: string; options: { model: string; temperature?: number | undefined; maxTokens?: number | undefined; }; default: boolean; }[]; search: { enabled: boolean; provider: "brave" | "exa" | "firecrawl" | "serper" | "tavily"; brave: { apiKey: string | undefined; }; exa: { apiKey: string | undefined; }; firecrawl: { apiKey: string | undefined; }; serper: { apiKey: string | undefined; }; tavily: { apiKey: string | undefined; }; }; prompts: { behaviour: boolean; communication: boolean; execution: boolean; guardrails: boolean; }; tools: { todo: { enabled: boolean; }; fetch: { enabled: boolean; }; filesystem: { enabled: boolean; }; shell: { enabled: boolean; }; sleep: { enabled: boolean; }; subagents: { enabled: boolean; }; }; compaction: { ratio: number; keep: number; }; }, { name: string; providers: ({ name: string; provider: LlmProvider.Anthropic; options: { apiKey?: string | undefined; baseURL?: string | undefined; headers?: Record | undefined; thinking?: "disabled" | "adaptive" | undefined; }; } | { name: string; provider: LlmProvider.Azure; options: { resourceName?: string | undefined; baseURL?: string | undefined; apiKey?: string | undefined; headers?: Record | undefined; apiVersion?: string | undefined; useDeploymentBasedUrls?: boolean | undefined; }; } | { name: string; provider: LlmProvider.Bedrock; options: { region?: string | undefined; accessKeyId?: string | undefined; secretAccessKey?: string | undefined; sessionToken?: string | undefined; apiKey?: string | undefined; }; } | { name: string; provider: LlmProvider.Google; options: { apiKey?: string | undefined; }; } | { name: string; provider: LlmProvider.Groq; options: { apiKey?: string | undefined; baseURL?: string | undefined; headers?: Record | undefined; }; } | { name: string; provider: LlmProvider.Minimax; options: { apiKey?: string | undefined; headers?: Record | undefined; thinking?: "disabled" | "adaptive" | undefined; }; } | { name: string; provider: LlmProvider.Moonshot; options: { apiKey?: string | undefined; baseURL?: string | undefined; headers?: Record | undefined; }; } | { name: string; provider: LlmProvider.Ollama; options: { baseURL?: string | undefined; thinking?: boolean | "high" | "medium" | "low" | undefined; }; } | { name: string; provider: LlmProvider.OpenAI; options: { apiKey?: string | undefined; baseURL?: string | undefined; headers?: Record | undefined; }; } | { name: string; provider: LlmProvider.OpenRouter; options: { apiKey?: string | undefined; baseURL?: string | undefined; headers?: Record | undefined; }; } | { name: string; provider: LlmProvider.Xai; options: { apiKey?: string | undefined; baseURL?: string | undefined; headers?: Record | undefined; }; })[]; llms: { name: string; provider: string; options: { model: string; temperature?: number | undefined; maxTokens?: number | undefined; }; default: boolean; }[]; search?: { enabled?: boolean | undefined; provider?: "brave" | "exa" | "firecrawl" | "serper" | "tavily" | undefined; brave?: { apiKey?: string | undefined; } | undefined; exa?: { apiKey?: string | undefined; } | undefined; firecrawl?: { apiKey?: string | undefined; } | undefined; serper?: { apiKey?: string | undefined; } | undefined; tavily?: { apiKey?: string | undefined; } | undefined; } | null | undefined; prompts?: { behaviour?: boolean | undefined; communication?: boolean | undefined; execution?: boolean | undefined; guardrails?: boolean | undefined; } | null | undefined; tools?: { todo?: { enabled?: boolean | undefined; } | undefined; fetch?: { enabled?: boolean | undefined; } | undefined; filesystem?: { enabled?: boolean | undefined; } | undefined; shell?: { enabled?: boolean | undefined; } | undefined; sleep?: { enabled?: boolean | undefined; } | undefined; subagents?: { enabled?: boolean | undefined; } | undefined; } | null | undefined; compaction?: { ratio?: number | undefined; keep?: number | undefined; } | null | undefined; }>>; export type ConfigData = z.infer; export type ProviderConfig = ProviderOptions; export type LlmConfig = { provider: LlmProvider; providerOptions: ProviderOptions; llmOptions: LlmOptions; }; export type ResolvedNamedLlmConfig = { name: string; provider: LlmProvider; providerOptions: ProviderOptions; llmOptions: LlmOptions; default: boolean; }; export type CompactionConfig = ConfigData["compaction"]; export type PromptsConfig = ConfigData["prompts"]; export type SearchConfig = ConfigData["search"]; export type ToolsConfig = ConfigData["tools"]; export type ConfigOptions = { overlayPaths?: readonly string[]; }; export { LlmProvider }; export type { NamedLlmConfig, NamedProviderConfig }; export declare class Config { private data; private readonly path; private readonly overlayPaths; constructor(path: string, options?: ConfigOptions); get name(): string; private resolveNamedLlm; get providers(): NamedProviderConfig[]; get llm(): LlmConfig; get llms(): NamedLlmConfig[]; get resolvedLlms(): ResolvedNamedLlmConfig[]; resolveLlm(name: string): ResolvedNamedLlmConfig | undefined; get search(): SearchConfig; get prompts(): PromptsConfig; get tools(): ToolsConfig; get compaction(): CompactionConfig; private readJson; private readOverlay; reload(): void; persist(): void; update(partial: Partial): void; }