class EventEmitterimport { EventEmitter } from "https://deno.land/x/eventemitter@1.2.4/mod.ts"; The event emitter. Type ParametersoptionalE extends EventsType = { }Propertiesprivate_events_: Map<keyof E, Set<Listener>>This is where the events and listeners are stored. Methodsclone(cloneListeners?): EventEmitter<E>Clone this event emitter. emit<K extends keyof E>(event: K, ...args: Parameters<E[K]>): Promise<this>Emit a typed event and wait for each typed listener to return. emitSync<K extends keyof E>(event: K, ...args: Parameters<E[K]>): thisEmit a typed event without waiting for each listener to return. off<K extends keyof E>(event: K, listener: E[K]): thisRemove a specific listener in the event emitter on a specific typed event. off<K extends keyof E>(event: K): thisRemove all listeners on a specific typed event. off(): thisRemove all events from the event listener. on<K extends keyof E>(event: K, listener: E[K]): thisListen for a typed event. once<K extends keyof E>(event: K, listener: E[K]): thisListen for a typed event once. pull<K extends keyof E>(event: K, timeout?: number): Promise<Parameters<E[K]>>Wait for a typed event to be emitted and return the arguments. queue<K extends keyof E>(event: K, ...args: Parameters<E[K]>): thisThe same as emitSync, but wait for each typed listener to return before calling the next typed listener.