import { Detector } from "./Detector";
import { OutboundTrackMonitor } from "../monitors/OutboundTrackMonitor";
export type SilentAudioSourceIssuePayload = {
    peerConnectionId: string;
    trackId: string;
    rmsAudioLevel?: number;
    silentForInMs: number;
    deviceLabel?: string;
    durationInMs?: number;
};
export type CaptureTrackEndedIssuePayload = {
    peerConnectionId: string;
    trackId: string;
    kind: string;
    deviceLabel?: string;
};
export declare class CaptureFailureDetector implements Detector {
    readonly trackMonitor: OutboundTrackMonitor;
    static readonly ENDED_ISSUE_TYPE = "capture-track-ended";
    static readonly SILENT_ISSUE_TYPE = "silent-audio-source";
    readonly name = "capture-failure-detector";
    disabled: boolean;
    private readonly _endedIssueKey;
    private readonly _silentIssueKey;
    private _endedReported;
    private _lastMuted?;
    private _silentSince?;
    private _silentOn;
    private _silentStartedAt?;
    constructor(trackMonitor: OutboundTrackMonitor);
    private get config();
    private get peerConnection();
    update(): void;
    private _checkEnded;
    private _checkMuted;
    private _checkSilence;
    private _clearSilence;
}
