import EventEmitter from 'node:events'; import { PubSub } from './pubsub.js'; import type { PubSubDeliveryMode } from './pubsub.js'; import type { Event, EventCallback, SubscribeOptions } from './types.js'; export declare class EventEmitterPubSub extends PubSub { get supportedModes(): ReadonlyArray; private emitter; private groups; private groupCounters; private groupListeners; private pendingNacks; private deliveryAttempts; private fanoutWrappers; constructor(existingEmitter?: EventEmitter); publish(topic: string, event: Omit): Promise; subscribe(topic: string, cb: EventCallback, options?: SubscribeOptions): Promise; unsubscribe(topic: string, cb: EventCallback): Promise; flush(): Promise; /** * Clean up all listeners during graceful shutdown. */ close(): Promise; private subscribeWithGroup; private deliverToGroup; } //# sourceMappingURL=event-emitter.d.ts.map