/** * Taken from https://github.com/binier/tiny-typed-emitter (so really no overhead...) * Copyright (c) 2020 Zurab Benashvili (binier) * Under MIT license https://github.com/binier/tiny-typed-emitter/raw/master/LICENSE */ declare type ListenerSignature = { [E in keyof L]: (...args: any[]) => any; }; declare type DefaultListener = { [k: string]: (...args: any[]) => any; }; export declare class TypedEmitter = DefaultListener> { static defaultMaxListeners: number; addListener(event: U, listener: L[U]): this; prependListener(event: U, listener: L[U]): this; prependOnceListener(event: U, listener: L[U]): this; removeListener(event: U, listener: L[U]): this; removeAllListeners(event?: keyof L): this; once(event: U, listener: L[U]): this; on(event: U, listener: L[U]): this; off(event: U, listener: L[U]): this; emit(event: U, ...args: Parameters): boolean; eventNames(): U[]; listenerCount(type: keyof L): number; listeners(type: U): L[U][]; rawListeners(type: U): L[U][]; getMaxListeners(): number; setMaxListeners(n: number): this; } export {};