import type { BuiltMemory, BuiltTool, CredentialProvider, ToolDescriptor, Agent as RuntimeAgent } from '@n8n/agents'; import type { AgentSkill, AgentJsonConfig, 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 interface BuildFromJsonOptions { toolExecutor: ToolExecutor; credentialProvider: CredentialProvider; resolveTool?: ToolResolver; skills?: Record; memoryFactory: MemoryFactory; } export declare function buildFromJson(config: AgentJsonConfig, toolDescriptors: Record, options: BuildFromJsonOptions): Promise;