import { Logger } from '@n8n/backend-common'; import { GlobalConfig } from '@n8n/config'; import { ExecutionRepository, WorkflowRepository } from '@n8n/db'; import EventEmitter from 'events'; import { InstanceSettings } from 'n8n-core'; import { ExecutionRecoveryService } from '../../executions/execution-recovery.service'; import type { EventMessageTypes } from '../event-message-classes/'; import { type EventMessageAiNodeOptions } from '../event-message-classes/event-message-ai-node'; import type { EventMessageAuditOptions } from '../event-message-classes/event-message-audit'; import type { EventMessageConfirmSource } from '../event-message-classes/event-message-confirm'; import type { EventMessageExecutionOptions } from '../event-message-classes/event-message-execution'; import type { EventMessageNodeOptions } from '../event-message-classes/event-message-node'; import type { EventMessageQueueOptions } from '../event-message-classes/event-message-queue'; import type { EventMessageRunnerOptions } from '../event-message-classes/event-message-runner'; import type { EventMessageWorkflowOptions } from '../event-message-classes/event-message-workflow'; import { MessageEventBusLogWriter } from '../message-event-bus-writer/message-event-bus-log-writer'; export type EventMessageReturnMode = 'sent' | 'unsent' | 'all' | 'unfinished'; export interface MessageWithCallback { msg: EventMessageTypes; confirmCallback: (message: EventMessageTypes, src: EventMessageConfirmSource) => void; } export interface MessageEventBusInitializeOptions { workerId?: string; webhookProcessorId?: string; } export declare class MessageEventBus extends EventEmitter { private readonly logger; private readonly executionRepository; private readonly workflowRepository; private readonly recoveryService; private readonly globalConfig; private readonly instanceSettings; private isInitialized; logWriter: MessageEventBusLogWriter; private pushIntervalTimer; constructor(logger: Logger, executionRepository: ExecutionRepository, workflowRepository: WorkflowRepository, recoveryService: ExecutionRecoveryService, globalConfig: GlobalConfig, instanceSettings: InstanceSettings); initialize(options?: MessageEventBusInitializeOptions): Promise; private warnIfDefaultLocationEventLogsCoexist; private trySendingUnsent; close(): Promise; send(msgs: EventMessageTypes | EventMessageTypes[]): Promise; confirmMessageDelivered(msg: EventMessageTypes, source?: EventMessageConfirmSource): void; private emitMessageWithCallback; getEventsAll(): Promise; getEventsSent(): Promise; getEventsUnsent(): Promise; getUnfinishedExecutions(): Promise>; getUnsentAndUnfinishedExecutions(): Promise<{ unsentMessages: EventMessageTypes[]; unfinishedExecutions: Record; }>; getEventsByExecutionId(executionId: string, logHistory?: number): Promise; sendAuditEvent(options: EventMessageAuditOptions): Promise; sendWorkflowEvent(options: EventMessageWorkflowOptions): Promise; sendNodeEvent(options: EventMessageNodeOptions): Promise; sendAiNodeEvent(options: EventMessageAiNodeOptions): Promise; sendExecutionEvent(options: EventMessageExecutionOptions): Promise; sendRunnerEvent(options: EventMessageRunnerOptions): Promise; sendQueueEvent(options: EventMessageQueueOptions): Promise; private performStartupRecovery; private logActiveWorkflows; private collectUnfinishedExecutionIds; }