/** * Type-only compatibility shims for v1's tracker module. * * These `type` / `interface` declarations mirror the public shapes of v1's * tracker classes so that consumers of `@networkoptix/webrtc-stream-manager` * who imported tracker names in type positions continue to compile after the * v2 migration at version 0.1.29. * * **Runtime behavior:** the actual v1 tracker runtime classes are NOT shipped * in v2. Any consumer code that attempts `new BytesReceivedTracker(...)` will * fail at tsc with error TS2693 ("only refers to a type"). Scheduled for * removal in 0.2.0. * * For current tracker-like functionality, use v2's native QualityMonitor and * RadassController modules. */ export type { IssuePayload, IssueDetector, IssueDetectorResult, NetworkScores, NetworkScore, NetworkQualityStatsSample, StatsParsingFinishedPayload, WebRTCStatsParsed, ParsedInboundAudioStreamStats, ParsedOutboundAudioStreamStats, ParsedInboundVideoStreamStats, ParsedOutboundVideoStreamStats, ParsedConnectionStats, ParsedRemoteInboundStreamStats, ParsedRemoteOutboundStreamStats, RemoteParsedStats, IceCandidateConnectionStats, Logger, } from 'webrtc-issue-detector'; export { IssueType, IssueReason, EventType } from 'webrtc-issue-detector'; /** * @deprecated Since 0.1.29. Runtime class not shipped. Use v2's * `QualityMonitor` or pin to `@networkoptix/webrtc-stream-manager@<=0.1.27`. */ export interface BaseTracker { sampleSize: number; metricName: string; weight: number; priorityWeight: number; metricThreshold: number; readonly players: number; connection: unknown; destroy: () => void; getMetric(...args: unknown[]): unknown; updateMetric(now: number, ...args: unknown[]): unknown; updatePlayers(players: HTMLVideoElement[]): void; updateConnection(connection: unknown): void; toMetric(): Record; toPriority(): number; toSuggestedStream(): Record; suggestedStream(): 'high' | 'low'; getMetricMemoryUsage(): number; getMetricStats(): { currentEntries: number; maxEntries: number; memoryUsageBytes: number; memoryUsageKB: number; utilizationPercent: number; }; readonly __metric?: Metric; } /** * @deprecated Since 0.1.29. See BaseTracker. */ export interface BaseConnectionTracker extends BaseTracker { targetReport: string; isTargetReport(report: RTCStats): boolean; processInboundReport(report?: RTCReportType): number; } /** * @deprecated Since 0.1.29. See BaseTracker. */ export interface BytesReceivedTracker extends BaseConnectionTracker { metricName: 'bytesReceived'; weight: 1; priorityWeight: 0; targetReport: 'candidate-pair'; } /** * @deprecated Since 0.1.29. See BaseTracker. */ export interface MosScoreTracker extends BaseTracker { metricName: 'mosScore'; weight: 5; priorityWeight: 0; currentValue: number; getMetric(reset?: boolean): number; updateMetric(time: number): number; } /** * @deprecated Since 0.1.29. See BaseTracker. */ export interface FocusTracker extends BaseTracker { metricName: 'focus'; weight: 0; priorityWeight: 5; calculateFocusScore(): number; getMetric(reset?: boolean): number; updateMetric(time: number): number; } /** * @deprecated Since 0.1.29. Runtime class not shipped. Use v2's * `QualityMonitor` or pin to `@networkoptix/webrtc-stream-manager@<=0.1.27`. * * Shape mirrors v1's `WebRTCIssueDetectorWithState` which extends * `WebRTCIssueDetector` from the external `webrtc-issue-detector` package. * Only the public surface that v1 consumers could access is modelled. */ export interface WebRTCIssueDetectorWithState { readonly eventEmitter: unknown; stopReporting: () => void; watchNewPeerConnections(): void; stopWatchingNewPeerConnections(): void; handleNewPeerConnection(pc: RTCPeerConnection): void; } //# sourceMappingURL=tracker-types.d.ts.map