import type { PacketTrailerMetadata, PacketTrailerPublishOptions } from './types'; export declare const PACKET_TRAILER_MAGIC: Uint8Array; export declare const PACKET_TRAILER_TIMESTAMP_TAG = 1; export declare const PACKET_TRAILER_FRAME_ID_TAG = 2; export declare const PACKET_TRAILER_ENVELOPE_SIZE = 5; export interface ExtractPacketTrailerResult { data: Uint8Array; metadata?: PacketTrailerMetadata; } export declare function appendPacketTrailer(data: Uint8Array, userTimestamp: bigint, frameId: number): Uint8Array; export declare function appendPacketTrailerToEncodedFrame(frame: RTCEncodedVideoFrame, options: PacketTrailerPublishOptions | undefined, frameId: number): boolean; export declare function extractPacketTrailer(data: ArrayBuffer | Uint8Array): ExtractPacketTrailerResult; export declare function getFrameRtpTimestamp(frame: RTCEncodedVideoFrame | RTCEncodedAudioFrame): number | undefined; export declare function getFrameSsrc(frame: RTCEncodedVideoFrame | RTCEncodedAudioFrame): number; export interface PacketTrailerFramePayload { trackId: string; rtpTimestamp: number; ssrc: number; metadata: PacketTrailerMetadata; } export interface ProcessPacketTrailerResult { data?: ArrayBuffer; payload?: PacketTrailerFramePayload; } /** * Extracts a packet trailer from an encoded frame and returns the stripped * frame data (if any) along with a ready-to-post metadata payload. Returns an * empty object when no trailer is present, an RTP timestamp can't be read, or * a trackId isn't available. */ export declare function processPacketTrailer(frame: RTCEncodedVideoFrame | RTCEncodedAudioFrame, trackId: string | undefined): ProcessPacketTrailerResult; //# sourceMappingURL=packetTrailer.d.ts.map