import type { ConsumerData, SpatialLayerParams, TrackInboundStats } from './common'; /** * Публичная форма consumer-объекта, связанного с удалённым треком. * * SDK создаёт и обновляет consumer самостоятельно, а приложение может читать * его текущее состояние и вызывать публичные операции управления подпиской. */ export interface PeerConsumer { readonly id: string; readonly kind: 'audio' | 'video'; readonly producerId: string; readonly appData: ConsumerData; readonly paused: boolean; readonly isVideo: boolean; readonly isAudio: boolean; readonly spatialLayers: number; readonly temporalLayers: number; readonly currentSpatialLayer: number; readonly currentTemporalLayer: number; readonly requestedSpatialLayer?: number; readonly currentMaxSpatialLayer: number; readonly availableSpatialLayers: SpatialLayerParams[]; readonly currentSpatialLayerParams?: SpatialLayerParams; pause: () => void; resume: () => void; close: () => void; 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; }