import { EventEmitter2 as EventEmitter } from 'eventemitter2'; /** * Typed Event Emitter Reference: * https://rjzaworski.com/2019/10/event-emitters-in-typescript#a-typescript-event-emitter-interface */ export declare type EventMap = Record; export declare type EventKey = string & keyof T; export declare type EventReceiver = (params: T) => void; export declare abstract class TypedEventEmitter extends EventEmitter { on>(eventName: K, fn: EventReceiver): import("eventemitter2").Listener | this; off>(eventName: K, fn: EventReceiver): this; emit>(eventName: K, params: T[K]): boolean; listeners>(eventName: K): EventReceiver[]; }