UNPKG

fallout-utility

Version:
21 lines (20 loc) 1.38 kB
/// <reference types="node" /> import EventEmitter from 'node:events'; import { EventEmitterOptions } from './TypedEmitter'; export interface StrictTypedEmitter<Events extends Record<string | symbol, any> = Record<string | symbol, any>> extends EventEmitter { listenerCount(eventName: keyof Events): number; listeners(eventName: keyof Events): Function[]; rawListeners(eventName: keyof Events): Function[]; removeAllListeners(event?: keyof Events): this; off<K extends keyof Events>(event: K, listener: (...args: Events[K]) => void): this; on<K extends keyof Events>(event: K, listener: (...args: Events[K]) => void): this; once<K extends keyof Events>(event: K, listener: (...args: Events[K]) => void): this; addListener<K extends keyof Events>(event: K, listener: (...args: Events[K]) => void): this; emit<K extends keyof Events>(eventName: K, ...args: Events[K]): boolean; prependListener<K extends keyof Events>(event: K, listener: (...args: Events[K]) => void): this; prependOnceListener<K extends keyof Events>(event: K, listener: (...args: Events[K]) => void): this; removeListener<K extends keyof Events>(event: K, listener: (...args: Events[K]) => void): this; } export declare class StrictTypedEmitter<Events extends Record<string | symbol, any>> extends EventEmitter { constructor(options?: EventEmitterOptions); }