import { type AgentExecutionCounter, type CredentialProvider, type GenerateResult, type SubAgentTaskPath } from '@n8n/agents'; import type { SubAgentSpawnRequest } from '@n8n/api-types'; import { Logger } from '@n8n/backend-common'; import { AgentExecutionService } from '../agent-execution.service'; import { SubAgentSourceResolver } from './sub-agent-source-resolver'; export interface SubAgentForegroundRunContext { projectId: string; userId: string; parentAgentId?: string; credentialProvider: CredentialProvider; executionCounter?: AgentExecutionCounter; abortSignal?: AbortSignal; } export interface SubAgentForegroundResult { taskPath: SubAgentTaskPath; threadId: string; status: 'completed' | 'failed'; result: GenerateResult; } export declare class SubAgentForegroundRunner { private readonly sourceResolver; private readonly agentExecutionService; private readonly logger; constructor(sourceResolver: SubAgentSourceResolver, agentExecutionService: AgentExecutionService, logger: Logger); runForeground(request: SubAgentSpawnRequest, context: SubAgentForegroundRunContext): Promise; private recordSubAgentExecution; }