import type { BuiltMemory, BuiltProviderTool, BuiltTool, CredentialProvider, FetchFn, McpClient, ModelConfig, ToolDescriptor, Agent as RuntimeAgent } from '@n8n/agents'; import type { AgentSkill, AgentJsonConfig, AgentJsonMcpServerConfig, AgentJsonMemoryConfig, AgentJsonToolConfig } from '@n8n/api-types'; import { z } from 'zod'; import { type ManagedEmbeddingProviderOptions, type ManagedEmbeddingProviderOptionsResolver } from './embedding-credential'; export type { ManagedEmbeddingProviderOptions, ManagedEmbeddingProviderOptionsResolver }; declare const WEB_SEARCH_INPUT_SCHEMA: z.ZodObject<{ query: z.ZodString; maxResults: z.ZodOptional; includeDomains: z.ZodOptional>; excludeDomains: z.ZodOptional>; }, "strip", z.ZodTypeAny, { query: string; maxResults?: number | undefined; includeDomains?: string[] | undefined; excludeDomains?: string[] | undefined; }, { query: string; maxResults?: number | undefined; includeDomains?: string[] | undefined; excludeDomains?: string[] | undefined; }>; export type FallbackWebSearchArgs = z.infer; export type FallbackWebSearchHandler = (args: FallbackWebSearchArgs) => Promise; export type ToolResolver = (toolSchema: AgentJsonToolConfig) => Promise; export interface ToolExecutor { executeTool(toolName: string, input: unknown, ctx: unknown): Promise; executeToMessageSync?(toolName: string, output: unknown): unknown; } export type MemoryFactory = (params: AgentJsonMemoryConfig) => BuiltMemory | Promise; export type McpClientBuilder = (server: AgentJsonMcpServerConfig) => Promise; export interface BuildFromJsonOptions { toolExecutor: ToolExecutor; credentialProvider: CredentialProvider; resolveTool?: ToolResolver; skills?: Record; memoryFactory: MemoryFactory; buildMcpClient?: McpClientBuilder; resolveManagedEmbeddingProviderOptions?: ManagedEmbeddingProviderOptionsResolver; modelFetch?: FetchFn; webSearchFetch?: FetchFn; fallbackWebSearch?: FallbackWebSearchHandler; attachAuthPendingMcpServers?: boolean; } export declare function buildFromJson(config: AgentJsonConfig, toolDescriptors: Record, options: BuildFromJsonOptions): Promise; export declare function buildProviderToolsForModel(config: AgentJsonConfig, modelConfig: ModelConfig): BuiltProviderTool[];