import { Logger } from '@n8n/backend-common'; import { ExecutionRepository } from '@n8n/db'; import type { IDeferredPromise, IExecuteResponsePromiseData, IRun, ExecutionStatus, IWorkflowExecutionDataProcess } from 'n8n-workflow'; import type PCancelable from 'p-cancelable'; import type { IExecutingWorkflowData, IExecutionsCurrentSummary } from './interfaces'; import { ConcurrencyControlService } from './concurrency/concurrency-control.service'; export declare class ActiveExecutions { private readonly logger; private readonly executionRepository; private readonly concurrencyControl; private activeExecutions; constructor(logger: Logger, executionRepository: ExecutionRepository, concurrencyControl: ConcurrencyControlService); has(executionId: string): boolean; add(executionData: IWorkflowExecutionDataProcess, executionId?: string): Promise; attachWorkflowExecution(executionId: string, workflowExecution: PCancelable): void; attachResponsePromise(executionId: string, responsePromise: IDeferredPromise): void; resolveResponsePromise(executionId: string, response: IExecuteResponsePromiseData): void; stopExecution(executionId: string): void; finalizeExecution(executionId: string, fullRunData?: IRun): void; resolveExecutionResponsePromise(executionId: string): void; getPostExecutePromise(executionId: string): Promise; getActiveExecutions(): IExecutionsCurrentSummary[]; setStatus(executionId: string, status: ExecutionStatus): void; getStatus(executionId: string): ExecutionStatus; shutdown(cancelAll?: boolean): Promise; getExecutionOrFail(executionId: string): IExecutingWorkflowData; }