export declare type TypedListeners = { [E in keyof L]: (...args: any[]) => unknown; }; export declare type DefaultListeners = Record unknown>; declare class TypedEmitterDecl = DefaultListeners> { addListener(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][]; } declare const TypedEmitter_base: new >() => TypedEmitterDecl; export declare class TypedEmitter> extends TypedEmitter_base { } export {};