UNPKG

mqtt

Version:

A library for the MQTT protocol

20 lines (19 loc) 1.5 kB
export type EventHandler = ((arg1: any, arg2: any, arg3: any, arg4: any) => void) | ((arg1: any, arg2: any, arg3: any) => void) | ((arg1: any, arg2: any) => void) | ((arg1: any) => void) | ((...args: any[]) => void); export interface TypedEventEmitter<TEvents extends Record<keyof TEvents, EventHandler>> { on<TEvent extends keyof TEvents>(event: TEvent, callback: TEvents[TEvent]): this; once<TEvent extends keyof TEvents>(event: TEvent, callback: TEvents[TEvent]): this; prependListener<TEvent extends keyof TEvents>(event: TEvent, callback: TEvents[TEvent]): this; prependOnceListener<TEvent extends keyof TEvents>(event: TEvent, callback: TEvents[TEvent]): this; removeListener<TEvent extends keyof TEvents>(event: TEvent, callback: TEvents[TEvent]): this; off<TEvent extends keyof TEvents>(event: TEvent, callback: TEvents[TEvent]): this; removeAllListeners(event?: keyof TEvents): this; emit<TEvent extends keyof TEvents>(event: TEvent, ...args: Parameters<TEvents[TEvent]>): boolean; setMaxListeners(n: number): this; getMaxListeners(): number; listeners<TEvent extends keyof TEvents>(eventName: TEvent): TEvents[TEvent][]; rawListeners<TEvent extends keyof TEvents>(eventName: TEvent): TEvents[TEvent][]; listenerCount<TEvent extends keyof TEvents>(event: TEvent, listener?: TEvents[TEvent]): number; eventNames(): Array<keyof TEvents>; } export declare class TypedEventEmitter<TEvents extends Record<keyof TEvents, EventHandler>> { }