import { EnhancedEventEmitter } from './enhancedEvents'; import type { RtpObserverEvents, RtpObserverObserver } from './RtpObserverTypes'; import type { Channel } from './Channel'; import type { RouterInternal } from './Router'; import type { Producer } from './ProducerTypes'; import type { AppData } from './types'; export type RtpObserverConstructorOptions = { internal: RtpObserverObserverInternal; channel: Channel; appData?: RtpObserverAppData; getProducerById: (producerId: string) => Producer | undefined; }; type RtpObserverObserverInternal = RouterInternal & { rtpObserverId: string; }; export declare abstract class RtpObserverImpl extends EnhancedEventEmitter { #private; protected readonly internal: RtpObserverObserverInternal; protected readonly channel: Channel; protected readonly getProducerById: (producerId: string) => Producer | undefined; protected constructor({ internal, channel, appData, getProducerById, }: RtpObserverConstructorOptions, observer: Observer); get id(): string; get closed(): boolean; get paused(): boolean; get appData(): RtpObserverAppData; set appData(appData: RtpObserverAppData); get observer(): Observer; close(): void; routerClosed(): void; pause(): Promise; resume(): Promise; addProducer({ producerId }: { producerId: string; }): Promise; removeProducer({ producerId }: { producerId: string; }): Promise; } export {}; //# sourceMappingURL=RtpObserver.d.ts.map