import { ExtendedReport, type ExtendedReportDump } from './ExtendedReport';
/**
 * VoIP Metrics Extended Report dump.
 *
 * @category RTCP Extended Reports
 */
export type VmExtendedReportDump = ExtendedReportDump & {
    ssrc: number;
    lossRate: number;
    discardRate: number;
    burstDensity: number;
    gapDensity: number;
    burstDuration: number;
    gapDuration: number;
    roundTripDelay: number;
    endSystemDelay: number;
    signalLevel: number;
    noiseLevel: number;
    rerl: number;
    gmin: number;
    rFactor: number;
    extRFactor: number;
    mosLq: number;
    mosCq: number;
    plc: number;
    jba: number;
    jbRate: number;
    jbNominal: number;
    jbMax: number;
    jbAbsMax: number;
};
/**
 * VoIP Metrics Extended Report.
 *
 * ```text
 *  0                   1                   2                   3
 *  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 * |     BT=7      |   reserved    |       block length = 8        |
 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 * |                        SSRC of source                         |
 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 * |   loss rate   | discard rate  | burst density |  gap density  |
 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 * |       burst duration          |         gap duration          |
 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 * |     round trip delay          |       end system delay        |
 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 * | signal level  |  noise level  |     RERL      |     Gmin      |
 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 * |   R factor    | ext. R factor |    MOS-LQ     |    MOS-CQ     |
 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 * |   RX config   |   reserved    |          JB nominal           |
 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 * |          JB maximum           |          JB abs max           |
 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 * ```
 *
 * @category RTCP Extended Reports
 *
 * @see
 * - [RFC 3611 section 4.7](https://datatracker.ietf.org/doc/html/rfc3611#section-4.7)
 */
export declare class VmExtendedReport extends ExtendedReport {
    /**
     * @param view - If given it will be parsed. Otherwise an empty VoIP Metrics
     * 	 Extended Report will be created.
     */
    constructor(view?: DataView);
    /**
     * Dump VoIP Metrics Extended Report info.
     */
    dump(): VmExtendedReportDump;
    /**
     * @inheritDoc
     */
    getByteLength(): number;
    /**
     * @inheritDoc
     */
    serialize(buffer?: ArrayBufferLike, byteOffset?: number): void;
    /**
     * @inheritDoc
     */
    clone(buffer?: ArrayBufferLike, byteOffset?: number, serializationBuffer?: ArrayBufferLike, serializationByteOffset?: number): VmExtendedReport;
    /**
     * Get SSRC of source.
     */
    getSsrc(): number;
    /**
     * Set SSRC of source.
     */
    setSsrc(ssrc: number): void;
    /**
     * Get loss rate.
     */
    getLossRate(): number;
    /**
     * Set loss rate.
     */
    setLossRate(lossRate: number): void;
    /**
     * Get discard rate.
     */
    getDiscardRate(): number;
    /**
     * Set discard rate.
     */
    setDiscardRate(discardRate: number): void;
    /**
     * Get burst density.
     */
    getBurstDensity(): number;
    /**
     * Set burst density.
     */
    setBurstDensity(burstDensity: number): void;
    /**
     * Get gap density.
     */
    getGapDensity(): number;
    /**
     * Set gap density.
     */
    setGapDensity(gapDensity: number): void;
    /**
     * Get burst duration.
     */
    getBurstDuration(): number;
    /**
     * Set burst duration.
     */
    setBurstDuration(burstDuration: number): void;
    /**
     * Get gap duration.
     */
    getGapDuration(): number;
    /**
     * Set gap duration.
     */
    setGapDuration(gapDuration: number): void;
    /**
     * Get round trip delay.
     */
    getRoundTripDelay(): number;
    /**
     * Set round trip delay.
     */
    setRoundTripDelay(delay: number): void;
    /**
     * Get end system delay.
     */
    getEndSystemDelay(): number;
    /**
     * Set end system delay.
     */
    setEndSystemDelay(delay: number): void;
    /**
     * Get signal level.
     */
    getSignalLevel(): number;
    /**
     * Set signal level.
     */
    setSignalLevel(level: number): void;
    /**
     * Get noise level.
     */
    getNoiseLevel(): number;
    /**
     * Set noise level.
     */
    setNoiseLevel(level: number): void;
    /**
     * Get residual echo return loss.
     */
    getResidualEchoReturnLoss(): number;
    /**
     * Set residual echo return loss.
     */
    setResidualEchoReturnLoss(loss: number): void;
    /**
     * Get Gmin.
     */
    getGmin(): number;
    /**
     * Set Gmin.
     */
    setGmin(value: number): void;
    /**
     * Get R factor.
     */
    getRFactor(): number;
    /**
     * Set R factor.
     */
    setRFactor(factor: number): void;
    /**
     * Get external R factor.
     */
    getExternalRFactor(): number;
    /**
     * Set external R factor.
     */
    setExternalRFactor(factor: number): void;
    /**
     * Get MOS-LQ.
     */
    getMosLQ(): number;
    /**
     * Set MOS-LQ.
     */
    setMosLQ(value: number): void;
    /**
     * Get MOS-CQ.
     */
    getMosCQ(): number;
    /**
     * Set MOS-CQ.
     */
    setMosCQ(value: number): void;
    /**
     * Get packet loss concealment (PLC).
     */
    getPacketLossConcealment(): number;
    /**
     * Set packet loss concealment (PLC).
     */
    setPacketLossConcealment(value: number): void;
    /**
     * Get jitter buffer adaptive (JBA).
     */
    getJitterBufferAdaptive(): number;
    /**
     * Set jitter buffer adaptive (JBA).
     */
    setJitterBufferAdaptive(value: number): void;
    /**
     * Get jitter buffer rate (JB rate).
     */
    getJitterBufferRate(): number;
    /**
     * Set jitter buffer rate (JB rate).
     */
    setJitterBufferRate(value: number): void;
    /**
     * Get jitter buffer nominal delay.
     */
    getJitterBufferNominalDelay(): number;
    /**
     * Set jitter buffer nominal delay.
     */
    setJitterBufferNominalDelay(delay: number): void;
    /**
     * Get jitter buffer maximum delay.
     */
    getJitterBufferMaximumDelay(): number;
    /**
     * Set jitter buffer maximum delay.
     */
    setJitterBufferMaximumDelay(delay: number): void;
    /**
     * Get jitter buffer absolute maximum delay.
     */
    getJitterBufferAbsoluteMaximumDelay(): number;
    /**
     * Set jitter buffer absolute maximum delay.
     */
    setJitterBufferAbsoluteMaximumDelay(delay: number): void;
}
//# sourceMappingURL=VmExtendedReport.d.ts.map