import type { BuiltMemory, BuiltProviderTool, BuiltTool, CredentialProvider, McpClient, ModelConfig, ToolDescriptor, Agent as RuntimeAgent } from '@n8n/agents'; import type { AgentSkill, AgentJsonConfig, AgentJsonMcpServerConfig, AgentJsonMemoryConfig, AgentJsonToolConfig } from '@n8n/api-types'; 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; } export declare function buildFromJson(config: AgentJsonConfig, toolDescriptors: Record, options: BuildFromJsonOptions): Promise; export declare function buildProviderToolsForModel(config: AgentJsonConfig, modelConfig: ModelConfig): BuiltProviderTool[];