declare type Listener = (...args: Args) => ReturnType | Promise; export declare class EventEmitter { listeners: Map[]>; emitSync(eventName: string, ...args: ListenerArgs): ListenerReturnType[]; emitAsync(eventName: string, ...args: ListenerArgs): Promise; private getListeners; addListener(eventName: string, listener: Listener): void; removeListener(eventName: string, listener: Listener): void; } export {};