import { PeerConnectionMonitor } from "../monitors/PeerConnectionMonitor"; import { Detector } from "./Detector"; export type IceLocalCandidateCounts = { host: number; srflx: number; relay: number; prflx: number; unknown: number; }; export type IceEstablishmentFailedIssuePayload = { peerConnectionId: string; connectionState?: string; iceGatheringState?: string; localIceCandidateCount: number; localCandidateCounts: IceLocalCandidateCounts; candidatePairStates: string[]; candidatePairCount: number; sustainedForInMs: number; durationInMs?: number; }; export type IceEstablishmentFailedDetectorConfig = { thresholdInMs: number; }; export declare class IceEstablishmentFailedDetector implements Detector { readonly peerConnection: PeerConnectionMonitor; static readonly ISSUE_TYPE = "ice-establishment-failed"; readonly name = "ice-establishment-failed-detector"; disabled: boolean; includeIssueInSample: boolean; private readonly _issueKey; private _everConnected; private _everNominated; private _sustainedForInMs; private _raisedAt?; constructor(peerConnection: PeerConnectionMonitor); private get config(); update(): void; private _localCandidateCounts; private _candidatePairStates; private _resolve; }