import Logger from "./logger"; import { ConnectionQualityStatus } from "./connection-quality"; export declare type ConnectionParticipant = { id: string; type: 'local' | 'remote' | 'turn' | 'stun'; name: string; ip: string; port: number; protocol: 'udp' | 'tcp'; active: boolean; inboundBitrate: number; outboundBitrate: number; inboundPacketLossPercent?: number; outboundPacketLossPercent?: number; lastActivity: number; }; export declare type ConnectionLink = { id: string; from: string; to: string; type: 'direct' | 'relay'; active: boolean; inboundBitrate: number; outboundBitrate: number; inboundPacketLossPercent?: number; outboundPacketLossPercent?: number; status: ConnectionQualityStatus; }; export declare type ConnectionBadges = { participants: ConnectionParticipant[]; links: ConnectionLink[]; }; export declare type WebRTCConnectionTraffic = { inboundBitrate: number; outboundBitrate: number; inboundPacketLossPercent?: number; outboundPacketLossPercent?: number; ping: number; badges: ConnectionBadges; }; declare type TrafficSnapshot = { timestamp: number; inboundBytes: number; outboundBytes: number; inboundPacketsReceived: number; inboundPacketsLost: number; outboundPacketsReceived: number; outboundPacketsLost: number; outboundPacketsSent: number; }; export declare class LocalTrafficMonitor { #private; protected pc: RTCPeerConnection; protected logger: Logger; protected lastTrafficSnapshot?: TrafficSnapshot; constructor(pc: RTCPeerConnection); getTraffic(): Promise; static emptyTraffic(): WebRTCConnectionTraffic; } export {};