import type { WaitForFilter } from 'eventemitter2'; import { EventEmitter2 as EventEmitter } from 'eventemitter2'; export declare class HMSInternalEvent { private eventName; private eventEmitter; constructor(eventName: string, eventEmitter: EventEmitter); publish: (event?: T) => void; subscribe: (fn: (event: T) => void | Promise) => void; subscribeOnce: (fn: (event: T) => void | Promise) => void; unsubscribe: (fn: (event: T) => void | Promise) => void; waitFor: (predicate: WaitForFilter) => import("eventemitter2").CancelablePromise; removeAllListeners: () => void; }