import { Detector } from "./Detector";
import { PeerConnectionMonitor } from "../monitors/PeerConnectionMonitor";
import { ClientMonitorEvents } from "../ClientMonitorEvents";
export type CongestionIssuePayload = {
    peerConnectionId: string;
    availableIncomingBitrate: number;
    availableOutgoingBitrate: number;
    maxAvailableIncomingBitrate: number;
    maxAvailableOutgoingBitrate: number;
    maxReceivingBitrate: number;
    maxSendingBitrate: number;
    durationInMs?: number;
};
export type CongestionDecetorEvent = ClientMonitorEvents['congestion'];
export declare class CongestionDetector implements Detector {
    readonly peerConnection: PeerConnectionMonitor;
    static readonly ISSUE_TYPE = "congestion";
    readonly name = "congestion-detector";
    disabled: boolean;
    private _maxAvailableIncomingBitrate;
    private _maxReceivingBitrate;
    private _maxAvailableOutgoingBitrate;
    private _maxSendingBitrate;
    private readonly issueKey;
    private _startedCongestionAt?;
    constructor(peerConnection: PeerConnectionMonitor);
    private get config();
    update(): void;
    private _raise;
    private _resolve;
}
