import type { InboundTrackMonitor } from "../monitors/InboundTrackMonitor"; import { Detector } from "./Detector"; export type AudioPlayoutSynthesisIssuePayload = { peerConnectionId: string; trackId: string; synthesizedRatio: number; synthesizedForDetectionInMs: number; playedOutForDetectionInMs: number; detectionWindowInMs: number; synthesisEvents?: number; playoutDelayPerSampleInMs?: number; recoveryWindowInMs?: number; synthesizedRatioForRecovery?: number; synthesizedForRecoveryInMs?: number; playedOutForRecoveryInMs?: number; }; export type AudioPlayoutSynthesisIssueType = 'synthesized-audio'; export type AudioPlayoutSynthesisDetectorConfig = { createEvent?: boolean; synthesizedRatioThreshold: number; }; export declare class AudioPlayoutSynthesisDetector implements Detector { readonly trackMonitor: InboundTrackMonitor; static readonly ISSUE_TYPE: AudioPlayoutSynthesisIssueType; readonly name = "audio-playout-synthesis-detector"; disabled: boolean; includeIssueInSample: boolean; private readonly _issueKey; private _raised; constructor(trackMonitor: InboundTrackMonitor); private get peerConnection(); private get config(); update(): void; private _playoutDelayPerSample; private _raiseIssue; private _clear; }