type UnkObj = { [key: string]: unknown; }; export type Listener = (value: T) => void; export interface Emitter { emit(type: K, data: T[K]): void; } export interface Receiver { on(type: K, listener: Listener): void; off(type: K, listener: Listener): void; } export declare class EventEmitter implements Emitter, Receiver { protected _listeners: Map[]>; on(type: K, listener: Listener): void; off(type: K, listener: Listener): void; emit(type: K, value: T[K]): void; countOf(type: K): number; } export declare class SafeEventEmitter extends EventEmitter { private onError; constructor(options?: { onError?: (error: unknown) => void; }); emit(type: K, value: T[K]): void; private safeExec; } export {};