export type EventMap = Record; type Listener = (detail: T) => void; export declare class EventEmitter { private listeners; on(type: K, listener: Listener, debounceMilliseconds?: number): Listener; once(type: K, listener: Listener, debounceMilliseconds?: number): Listener; off(type: K, listener: Listener): void; emit(type: K, payload: T[K]): boolean; removeAllListeners(): void; waitFor(type: K, predicate: (payload: T[K]) => boolean, timeoutMs?: number): Promise; private debounce; } export {};