import { ExtendedReport, type ExtendedReportDump } from './ExtendedReport';
/**
 * Duplicate RLE Extended Report dump.
 *
 * @category RTCP Extended Reports
 */
export type DrleExtendedReportDump = ExtendedReportDump & {
    thinning: number;
    ssrc: number;
    beginSeq: number;
    endSeq: number;
    chunks: number[];
};
/**
 * Duplicate RLE 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=2      | rsvd. |   T   |         block length          |
 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 * |                        SSRC of source                         |
 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 * |          begin_seq            |             end_seq           |
 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 * |          chunk 1              |             chunk 2           |
 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 * :                              ...                              :
 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 * |          chunk n-1            |             chunk n           |
 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 * ```
 *
 * @category RTCP Extended Reports
 *
 * @see
 * - [RFC 3611 section 4.2](https://datatracker.ietf.org/doc/html/rfc3611#section-4.2)
 */
export declare class DrleExtendedReport extends ExtendedReport {
    #private;
    /**
     * @param view - If given it will be parsed. Otherwise an empty Duplicate RLE
     *   Extended Report will be created.
     */
    constructor(view?: DataView);
    /**
     * Dump Duplicate RLE Extended Report info.
     */
    dump(): DrleExtendedReportDump;
    /**
     * @inheritDoc
     */
    getByteLength(): number;
    /**
     * @inheritDoc
     */
    serialize(buffer?: ArrayBufferLike, byteOffset?: number): void;
    /**
     * @inheritDoc
     */
    clone(buffer?: ArrayBufferLike, byteOffset?: number, serializationBuffer?: ArrayBufferLike, serializationByteOffset?: number): DrleExtendedReport;
    /**
     * Get thinning.
     */
    getThinning(): number;
    /**
     * Set thinning.
     */
    setThinning(thinning: number): void;
    /**
     * Get SSRC of source.
     */
    getSsrc(): number;
    /**
     * Set SSRC of source.
     */
    setSsrc(ssrc: number): void;
    /**
     * Get begin sequence number.
     */
    getBeginSeq(): number;
    /**
     * Set begin sequence number.
     */
    setBeginSeq(seq: number): void;
    /**
     * Get end sequence number.
     */
    getEndSeq(): number;
    /**
     * Set end sequence number.
     */
    setEndSeq(seq: number): void;
    /**
     * Get chunks.
     *
     * @remarks
     * - Chunks are given as a list of 2 byte integers.
     * - Use {@link parseExtendedReportChunk} to parse them.
     */
    getChunks(): number[];
    /**
     * Set chunks.
     *
     * @remarks
     * - Chunks must be given as a list of 2 byte integers.
     * - Use {@link createExtendedReportRunLengthChunk} or
     *   {@link createExtendedReportBitVectorChunk} to create them.
     */
    setChunks(chunks: number[]): void;
    /**
     * Add chunk.
     *
     * @remarks
     * - Chunk must be given as 2 byte integer.
     * - Use {@link createExtendedReportRunLengthChunk} or
     *   {@link createExtendedReportBitVectorChunk} to create it.
     * - Given chunk cannot be a terminating null chunk (0 number).
     */
    addChunk(chunk: number): void;
}
//# sourceMappingURL=DrleExtendedReport.d.ts.map