export interface IEventEmitter void; }> { on(event: Extract, listener: T[K]): void; once(event: Extract, listener: T[K]): void; off(event: Extract, listener: T[K]): void; emit(event: Extract, data: Parameters[1]): void; }