import { RaisedClientIssue, ResolvedClientIssue } from "./ClientMonitorEvents"; import { AudioDesyncIssuePayload } from "./detectors/AudioDesyncDetector"; import { CongestionIssuePayload } from "./detectors/CongestionDetector"; import { CpuPerformanceIssuePayload } from "./detectors/CpuPerformanceDetector"; import { DryInboundTrackIssuePayload } from "./detectors/DryInboundTrackDetector"; import { DryOutboundTrackIssuePayload } from "./detectors/DryOutboundTrackDetector"; import { FreezedVideoTrackIssuePayload } from "./detectors/FreezedVideoTrackDetector"; import { PlayoutDiscrepancyIssuePayload } from "./detectors/PlayoutDiscrepancyDetector"; export type ClientMonitorIssue = RaisedClientIssue & { type: 'cpulimitation'; } | RaisedClientIssue & { type: 'congestion'; } | RaisedClientIssue & { type: 'audio-desync'; } | RaisedClientIssue & { type: 'dry-inbound-track'; } | RaisedClientIssue & { type: 'dry-outbound-track'; } | RaisedClientIssue & { type: 'freezed-video-track'; } | RaisedClientIssue & { type: 'inbound-video-playout-discrepancy'; }; export type ClientMonitorResolvedIssue = ResolvedClientIssue & { type: 'cpulimitation'; } | ResolvedClientIssue & { type: 'congestion'; } | ResolvedClientIssue & { type: 'audio-desync'; } | ResolvedClientIssue & { type: 'dry-inbound-track'; } | ResolvedClientIssue & { type: 'dry-outbound-track'; } | ResolvedClientIssue & { type: 'freezed-video-track'; } | ResolvedClientIssue & { type: 'inbound-video-playout-discrepancy'; }; export type ClientMonitorIssueType = ClientMonitorIssue['type']; export declare function isClientMonitorIssue(issue: { type: string; }): issue is ClientMonitorIssue; export declare function isClientMonitorResolvedIssue(issue: { type: string; }): issue is ClientMonitorResolvedIssue;