/** * A listener for a given event. */ export declare type Listener = (event: E) => void; /** * An emitter of asynchronous events. */ export default class AsyncEmitter { private listeners; /** * Add a listener to the emitter. * * @param listener - The listener. * @returns `this`. */ on(listener: Listener): this; /** * Add a listener to the emitter. * * @param listener - The listener. * @returns `this`. * @see #on */ addListener(listener: Listener): this; /** * Remove the listener from the emitter. * * @param listener - The listener. * @returns `this`. */ off(listener: Listener): this; /** * Remove the listener from the emitter. * * @param listener - The listener. * @returns `this`. * @see #off */ removeListener(listener: Listener): this; /** * Emit an event to all listener. * * @param e - The event. * @returns `this`. */ emit(e: E): Promise; }