import { ExtendedReport, ExtendedReportType, type ExtendedReportDump } from './ExtendedReport';
/**
 * Generic Extended Report dump.
 *
 * @category RTCP Extended Reports
 */
export type GenericExtendedReportDump = ExtendedReportDump;
/**
 * Generic 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=???    | type-specific |         block length          |
 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 * |                             body                              |
 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 * :                              ...                              :
 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 * ```
 *
 * @category RTCP Extended Reports
 *
 * @see
 * - [RFC 3611 section 3](https://datatracker.ietf.org/doc/html/rfc3611#section-3)
 */
export declare class GenericExtendedReport extends ExtendedReport {
    #private;
    /**
     * @param view - If given it will be parsed. Otherwise an empty generic
     *   Extended Report will be created.
     * @param reportType - If `view` is not given, this parameter must be given.
     *
     * @throws
     * - If given `view` does not contain a valid generic Extended Report.
     */
    constructor(view?: DataView, reportType?: ExtendedReportType | number);
    /**
     * Dump generic Extended Report info.
     */
    dump(): GenericExtendedReportDump;
    /**
     * @inheritDoc
     */
    getByteLength(): number;
    /**
     * @inheritDoc
     */
    serialize(buffer?: ArrayBufferLike, byteOffset?: number): void;
    /**
     * @inheritDoc
     */
    clone(buffer?: ArrayBufferLike, byteOffset?: number, serializationBuffer?: ArrayBufferLike, serializationByteOffset?: number): GenericExtendedReport;
    /**
     * Get the value of the type specific field (second byte in the Extended
     * Report common header).
     */
    getTypeSpecific(): number;
    /**
     * Set the value of the type specific field (second byte in the Extended
     * Report common header).
     */
    setTypeSpecific(typeSpecific: number): void;
    /**
     * Get the report body.
     */
    getBody(): DataView;
    /**
     * Set the report body.
     *
     * @remarks
     * - Given `view` must have a byte length multiple of 4 bytes.
     */
    setBody(view: DataView): void;
}
//# sourceMappingURL=GenericExtendedReport.d.ts.map