import { Detector } from "./Detector";
import { InboundTrackMonitor } from "../monitors/InboundTrackMonitor";
export type StuckDecoderVariant = 'assembly' | 'decode' | 'unknown';
export type StuckDecoderIssuePayload = {
    peerConnectionId: string;
    trackId: string;
    ssrc?: number;
    variant: StuckDecoderVariant;
    stuckForInMs: number;
    deadBytesReceived: number;
    pliCountSinceStuck: number;
    frameWidth?: number;
    frameHeight?: number;
    decoderImplementation?: string;
    durationInMs?: number;
};
export declare class StuckDecoderDetector implements Detector {
    readonly trackMonitor: InboundTrackMonitor;
    static readonly ISSUE_TYPE = "stuck-decoder";
    readonly name = "stuck-decoder-detector";
    disabled: boolean;
    private readonly issueKey;
    private _stuckSince?;
    private _stuckTicks;
    private _deadBytes;
    private _plisSinceStuck;
    private _sawAssembledFrames;
    private _alertOn;
    private _startedAt?;
    constructor(trackMonitor: InboundTrackMonitor);
    private get config();
    private get peerConnection();
    update(): void;
    private _reset;
}
