import { PeerConnectionMonitor } from "../monitors/PeerConnectionMonitor"; import { Detector } from "./Detector"; export type DtlsIceEvidence = 'transport-ice-state' | 'selected-pair-succeeded'; export type DtlsHandshakeStalledIssuePayload = { peerConnectionId: string; transportId: string; dtlsState?: string; iceState?: string; iceEvidence: DtlsIceEvidence; selectedCandidatePairId?: string; stalledForMs: number; durationInMs?: number; }; export type DtlsHandshakeStalledDetectorConfig = { stalledThresholdInMs: number; }; export declare class DtlsHandshakeStalledDetector implements Detector { readonly peerConnection: PeerConnectionMonitor; static readonly ISSUE_TYPE = "dtls-handshake-stalled"; readonly name = "dtls-handshake-stalled-detector"; disabled: boolean; includeIssueInSample: boolean; private readonly _states; constructor(peerConnection: PeerConnectionMonitor); private get config(); update(): void; private _checkTransport; private _iceHealthEvidence; private _usernameFragmentOf; private _getState; private _resolve; private _issueKey; }