import type { ParsedConnectionStats, ParsedInboundAudioStreamStats, ParsedInboundVideoStreamStats, ParsedOutboundAudioStreamStats, ParsedOutboundVideoStreamStats, ParsedRemoteInboundStreamStats } from 'webrtc-issue-detector'; import type Media from '../media'; import type { IPeersService } from '../Peers'; import type ConnectionStatManager from './ConnectionStatsManager'; export interface TransportsStatsProviderParams { sendTransportConnectionManager: ConnectionStatManager; receiveTransportConnectionManager: ConnectionStatManager; media: Media; peers: IPeersService; } export interface ResultQValues { Qav?: number; Qa?: number; Qv?: number; } export interface LDTransportWebRTCStats extends ParsedConnectionStats, ResultQValues { bitrate: number; } export interface TransportsWebRTCStats { outbound?: LDTransportWebRTCStats; inbound?: LDTransportWebRTCStats; } export interface ParsedInboundVideoStreamCompositeStats { inbound: ParsedInboundVideoStreamStats; connection: ParsedConnectionStats; } export interface ParsedInboundAudioStreamCompositeStats { inbound: ParsedInboundAudioStreamStats; connection: ParsedConnectionStats; } export interface ParsedOutboundVideoStreamCompositeStats { remoteInbound: ParsedRemoteInboundStreamStats; outbound: ParsedOutboundVideoStreamStats; connection: ParsedConnectionStats; } export interface ParsedOutboundAudioStreamCompositeStats { remoteInbound: ParsedRemoteInboundStreamStats; outbound: ParsedOutboundAudioStreamStats; connection: ParsedConnectionStats; }