import { EventBase } from "./event-base"; import { EventBus } from "./event-bus"; import { EventProcessorOptions } from "./types"; export declare class EventProcessor, EventIdType = string> { private readonly eventBus; private readonly options; private isShuttingDown; private processingQueue; private activeHandlers; private eventHandlers; private isStarted; constructor(eventBus: EventBus, options: EventProcessorOptions); addHandler(event: EventIdType, handler: (event: EventBase) => Promise): Promise; start(): Promise; private subscribeToEvent; private processNext; private handleError; private calculateRetryDelay; removeHandler(event: EventIdType): Promise; getRegisteredEvents(): EventIdType[]; hasHandler(event: EventIdType): boolean; reset(): Promise; restart(): Promise; shutdown(): Promise; private waitForActiveHandlers; }