import type { CredentialProvider } from '@n8n/agents'; import type { User } from '@n8n/db'; import { type InstanceAiBuilderDelegate, type InstanceAiCredentialService } from '@n8n/instance-ai'; import { AgentConfigService } from './agent-config.service'; import { AgentIntegrationPersistenceService } from './agent-integration-persistence.service'; import { AgentSkillsService } from './agent-skills.service'; import { AgentsService } from './agents.service'; import { AgentsBuilderService } from './builder/agents-builder.service'; import { N8nMemory } from './integrations/n8n-memory'; import { AgentThreadRepository } from './repositories/agent-thread.repository'; export declare const INSTANCE_AI_BUILDER_ADDENDUM = "## Instance AI session rules\n\nYou are running as a sub-agent inside n8n's instance AI chat; the user sees your questions as chat cards.\n\nPreview links work in this chat. Include a markdown Preview link after a successful build and when `call_agent` reports an unsupported interaction as `approval_required`, using the exact relative path from \"When To Build vs When To Converse\" (form: `[Preview]()`). Do not invent absolute URLs. Do not omit the link and describe the path in plain text instead.\n\nYou can publish and unpublish the target agent with `publish_agent` and `unpublish_agent`. Never tell the user to open the agent editor and click Publish.\n\nThe Instance AI orchestrator can create workflows and data tables \u2014 never ask the user to create them manually. For each missing artifact, call `report_required_artifact` with its concrete requirements before your final reply; the orchestrator will provision them and call you again when the Agent needs the result.\n\nSome requested chat platforms do not have a native Agent integration. In that case, finish the Agent without adding same-platform messaging nodes as Agent tools, then report an `agent-entrypoint` workflow. It must use the platform trigger, pass the incoming message and a stable conversation identifier into Message an Agent with a custom session key, then send the Agent's text response back through the platform. This workflow invokes the Agent and must never be attached to the Agent as a workflow tool."; export declare class InstanceAiBuilderDelegateAdapterService { private readonly agentsService; private readonly agentsBuilderService; private readonly n8nMemory; private readonly agentThreadRepository; private readonly agentConfig; private readonly agentSkills; private readonly agentIntegrationPersistenceService; constructor(agentsService: AgentsService, agentsBuilderService: AgentsBuilderService, n8nMemory: N8nMemory, agentThreadRepository: AgentThreadRepository, agentConfig: AgentConfigService, agentSkills: AgentSkillsService, agentIntegrationPersistenceService: AgentIntegrationPersistenceService); private buildSubAgentSession; createDelegate(user: User, projectId: string, credentialProviderFor: (agentId: string) => CredentialProvider, credentialService: InstanceAiCredentialService, options?: { useEvalModelCatalog?: boolean; }): InstanceAiBuilderDelegate; deleteBuilderSessions(instanceAiThreadId: string): Promise; }