import { EventEmitter } from 'events-alias'; type Events = Record; export default class EnhancedEventEmitter = Events> extends EventEmitter { constructor(); emit(eventName: K, ...args: E[K]): boolean; safeEmit(eventName: K, ...args: E[K]): boolean; on(eventName: K, listener: (...args: E[K]) => void): this; off(eventName: K, listener: (...args: E[K]) => void): this; addListener(eventName: K, listener: (...args: E[K]) => void): this; removeListener(eventName: K, listener: (...args: E[K]) => void): this; once(eventName: K, listener: (...args: E[K]) => void): this; prependListener(eventName: K, listener: (...args: E[K]) => void): this; prependOnceListener(eventName: K, listener: (...args: E[K]) => void): this; removeAllListeners(eventName?: keyof E & string): this; } export {};