import { type types } from 'mediasoup-client'; import type { ConsumerData, ExtendedRTCInboundRtpStreamStats, SpatialLayerParams, TrackInboundStats } from '../types/common'; import type Logger from './Logger'; export interface PeerConsumerDependencies { loggerFactory: (namespace: string) => Logger; } export interface PeerConsumerConstructorParams extends PeerConsumerDependencies { consumer: types.Consumer; } declare class PeerConsumer { #private; spatialLayers: number; temporalLayers: number; currentSpatialLayer: number; currentTemporalLayer: number; requestedSpatialLayer?: number; currentMaxSpatialLayer: number; availableSpatialLayers: SpatialLayerParams[]; currentSpatialLayerParams?: SpatialLayerParams; readonly id: string; readonly kind: types.MediaKind; readonly producerId: string; readonly appData: ConsumerData; private readonly consumer; constructor(params: PeerConsumerConstructorParams); get paused(): boolean; pause(): void; resume(): void; close(): void; get isVideo(): boolean; get isAudio(): boolean; parseScalabilityMode(): void; initAvailableSpatialLayers(): void; setCurrentSpatialLayerParams(): void; tryPrepareSpatialLayerParams(encoding: types.RtpEncodingParameters): SpatialLayerParams; setCurrentSpatialLayer(currentSpatialLayer: number): void; setCurrentTemporalLayer(currentTemporalLayer: number): void; applyLayersUpdate(payload: { spatialLayer?: number; temporalLayer?: number; }): void; setRequestedSpatialLayer(spatialLayer: number | undefined): void; setCurrentMaxSpatialLayer(spatialLayer: number): void; getStats(): Promise; getInboundRTPStreamStats(): Promise; } export default PeerConsumer;