import IEncodedMediaStreamEvent, { EncodedMediaStreamEventData } from './IEncodedMediaStreamEvent'; import Disposable from '../../../lang/Disposable'; export default class EventPublisher { private readonly _eventEmitters; private readonly _onEventWithNoSubscriberHandlers; private readonly _disposables; onEventWithNoSubscriber(onEventWithNoSubscriberHandler: (eventType: string | number, event: IEncodedMediaStreamEvent) => void): Disposable; subscribe(eventType: string | number, handler: (event: IEncodedMediaStreamEvent) => void): Disposable; publish(eventType: string | number, event: IEncodedMediaStreamEvent): void; dispose(): void; private cleanUpResources; private createEmitter; }