export interface EventEmitterOptions { logger?: (log: string, payload?: EventPayload) => void; } export type EventHandler = ((payload: EventPayload) => Promise | void) | null | undefined; export declare class EventEmitter { private handlerCount; private handlers; private options?; constructor(options?: EventEmitterOptions); get numberOfHandlers(): number; emit(payload: EventPayload): Promise; on(handler: EventHandler): number; off(handlerId: number): void; delete(handlerId: number): void; }