import { type Throws } from '@livekit/throws-transformer/throws'; import { DataTrackHandle } from '../handle'; import { DataTrackTimestamp, U16_MAX_SIZE, WrapAroundUnsignedInt } from '../utils'; import { DataTrackDeserializeError, DataTrackSerializeError, DataTrackSerializeErrorReason } from './errors'; import { DataTrackExtensions } from './extensions'; import Serializable from './serializable'; /** A class for serializing / deserializing data track packet header sections. */ export declare class DataTrackPacketHeader extends Serializable { marker: FrameMarker; trackHandle: DataTrackHandle; sequence: WrapAroundUnsignedInt; frameNumber: WrapAroundUnsignedInt; timestamp: DataTrackTimestamp<90000>; extensions: DataTrackExtensions; constructor(opts: { marker: FrameMarker; trackHandle: DataTrackHandle; sequence: WrapAroundUnsignedInt; frameNumber: WrapAroundUnsignedInt; timestamp: DataTrackTimestamp<90000>; extensions?: DataTrackExtensions; }); private extensionsMetrics; toBinaryLengthBytes(): number; toBinaryInto(dataView: DataView): Throws>; static fromBinary(input: Input): Throws<[header: DataTrackPacketHeader, byteLength: number], DataTrackDeserializeError>; toJSON(): { marker: FrameMarker; trackHandle: number; sequence: number; frameNumber: number; timestamp: number; extensions: { userTimestamp: { tag: number; lengthBytes: number; timestamp: bigint; } | null; e2ee: { tag: number; lengthBytes: number; keyIndex: number; iv: Uint8Array; } | null; }; }; } /** Marker indicating a packet's position in relation to a frame. */ export declare enum FrameMarker { /** Packet is the first in a frame. */ Start = 0, /** Packet is within a frame. */ Inter = 1, /** Packet is the last in a frame. */ Final = 2, /** Packet is the only one in a frame. */ Single = 3 } /** A class for serializing / deserializing data track packets. */ export declare class DataTrackPacket extends Serializable { header: DataTrackPacketHeader; payload: Uint8Array; constructor(header: DataTrackPacketHeader, payload: Uint8Array); toBinaryLengthBytes(): number; toBinaryInto(dataView: DataView): Throws; static fromBinary(input: Input): Throws<[packet: DataTrackPacket, byteLength: number], DataTrackDeserializeError>; toJSON(): { header: { marker: FrameMarker; trackHandle: number; sequence: number; frameNumber: number; timestamp: number; extensions: { userTimestamp: { tag: number; lengthBytes: number; timestamp: bigint; } | null; e2ee: { tag: number; lengthBytes: number; keyIndex: number; iv: Uint8Array; } | null; }; }; payload: Uint8Array; }; } //# sourceMappingURL=index.d.ts.map