import { Detector } from "./Detector"; import type { OutboundTrackMonitor } from "../monitors/OutboundTrackMonitor"; export type VideoCaptureBottleneckIssuePayload = { peerConnectionId: string; trackId: string; expectedFps: number; producedFpsForDetection: number; producedFramesForDetection: number; detectionWindowInMs: number; produceDegradation: number; trackSettingsHeight?: number; trackSettingsWidth?: number; recoveryWindowInMs?: number; producedFpsForRecovery?: number; producedFramesForRecovery?: number; }; export type VideoCaptureBottleneckIssueType = 'video-capture-bottleneck'; export type VideoCaptureBottleneckDetectorConfig = { produceDegradationThreshold: number; }; export declare class VideoCaptureBottleneckDetector implements Detector { readonly trackMonitor: OutboundTrackMonitor; static readonly ISSUE_TYPE: VideoCaptureBottleneckIssueType; readonly name = "video-capture-bottleneck-detector"; disabled: boolean; includeIssueInSample: boolean; private readonly _issueKey; private _raised; constructor(trackMonitor: OutboundTrackMonitor); private get config(); private get peerConnection(); update(): void; private _raiseIssue; private _clear; }