UNPKG

tsee

Version:

Typed EventEmitter implemented with typed args

25 lines (24 loc) 1.83 kB
import { DefaultEventMap, IEventEmitter } from './index'; /** Implemented event emitter */ export declare class EventEmitter<EventMap extends DefaultEventMap = DefaultEventMap> implements IEventEmitter<EventMap> { events: { [eventName in keyof EventMap]?: Function[]; }; maxListeners: number; emit: <EventKey extends keyof EventMap>(event: EventKey, ...args: Parameters<EventMap[EventKey]>) => boolean; on: <EventKey extends keyof EventMap = string>(event: EventKey, listener: EventMap[EventKey]) => this; once: <EventKey extends keyof EventMap = string>(event: EventKey, listener: EventMap[EventKey]) => this; addListener: <EventKey extends keyof EventMap = string>(event: EventKey, listener: EventMap[EventKey]) => this; removeListener: <EventKey extends keyof EventMap = string>(event: EventKey, listener: EventMap[EventKey]) => this; hasListeners: <EventKey extends keyof EventMap = string>(event: EventKey) => boolean; prependListener: <EventKey extends keyof EventMap = string>(event: EventKey, listener: EventMap[EventKey]) => this; prependOnceListener: <EventKey extends keyof EventMap = string>(event: EventKey, listener: EventMap[EventKey]) => this; off: <EventKey extends keyof EventMap = string>(event: EventKey, listener: EventMap[EventKey]) => this; removeAllListeners: <EventKey extends keyof EventMap = string>(event?: EventKey) => this; setMaxListeners: (n: number) => this; getMaxListeners: () => number; listeners: <EventKey extends keyof EventMap = string>(event: EventKey) => EventMap[EventKey][]; rawListeners: <EventKey extends keyof EventMap = string>(event: EventKey) => EventMap[EventKey][]; eventNames: () => (string | symbol)[]; listenerCount: <EventKey extends keyof EventMap = string>(type: EventKey) => number; }