import { type DispatchPipelineEnvelope, type DispatchPipelineBatch, type IEvent, type IDispatchPipelineProcessor, type IEventBus } from './interfaces/index.ts'; export type EventBatchEnvelope = { data: DispatchPipelineBatch; error?: Error; resolve: (event: IEvent[]) => void; reject: (error: Error) => void; }; export declare class EventDispatchPipeline { #private; constructor(eventBus: IEventBus, concurrentLimit: number, onError?: (error: Error) => void); addProcessor(preprocessor: IDispatchPipelineProcessor): void; /** Get a promise that resolves when all in-flight fire-and-forget event bus publishes have settled */ drain(): Promise; revert(batch: DispatchPipelineBatch): Promise; push(envelope: EventBatchEnvelope): void; }