//#region src/lib/EventEmitter.d.ts
type Listener<T> = (event: T) => void;
type EventMap = { [K in string]: unknown };
declare abstract class EventEmitter<TEventMap = EventMap> {
  private _listeners;
  on<TEventType extends keyof TEventMap>(event: TEventType, listener: Listener<TEventMap[TEventType]>, key?: string | null): void;
  off<TEventType extends keyof TEventMap>(event: TEventType, listenerOrKey: Listener<TEventMap[TEventType]> | string): void;
  emit<TEventType extends keyof TEventMap>(event: TEventType, payload: TEventMap[TEventType]): void;
}
//#endregion
export { EventEmitter };
//# sourceMappingURL=EventEmitter.d.cts.map