/** Persisted discriminator for the normalized ActiveFrame runtime manifest. */ export declare const ACTIVE_FRAME_TYPE = "active-frame"; /** ActiveFrame runtime manifest version understood by this parser. */ export declare const ACTIVE_FRAME_VERSION = 1; export interface AFFrame { o: number; l: number; t: number; ty: 'key' | 'delta'; i: number; /** Exact decoded byte count for an independent `deflate-raw` or `raw` member. */ uncompressedBytes?: number | undefined; data: Uint8Array; [key: string]: unknown; } export interface AFTrackManifest { type: typeof ACTIVE_FRAME_TYPE; version: typeof ACTIVE_FRAME_VERSION; codec: string; fps: number; totalFrames: number; width: number; height: number; gop: number; description?: string | undefined; frames: AFFrame[]; role?: string; [key: string]: unknown; } export interface AFManifest extends AFTrackManifest { alpha?: AFTrackManifest; } export interface ParsedAF { manifest: AFManifest; frames: AFFrame[]; } /** * Parse an `.af` ArrayBuffer into its manifest and per-frame byte slices. * * Each returned frame carries a `data` view — a zero-copy `Uint8Array` over the frame's * encoded bytes inside `buffer` — ready to feed to an `EncodedVideoChunk`. The `frames` * array is the same object as `manifest.frames` (each entry augmented in place with `data`). * * @param buffer - The full `.af` file contents. * @return The manifest and its frame list. */ export declare function parseAF(buffer: ArrayBuffer): ParsedAF; /** * Fetch and parse an `.af` file. * * @param url - URL of the `.af` file. * @return The parsed container. */ export declare function loadAF(url: string): Promise; /** * Index of the nearest keyframe at or before `index` (GOP-aware seek helper). * * @param manifest - A parsed `.af` manifest. * @param index - Frame index to seek from. * @return The keyframe index (0 if none found earlier). */ export declare function keyframeBefore(manifest: Pick, index: number): number; /** * Decode a base64 codec-configuration string (avcC/hvcC) into the `Uint8Array` a * `VideoDecoder` expects as its `description`. * * @param base64 - Base64-encoded codec config box payload. * @return The raw config bytes. */ export declare function decodeDescription(base64: string): Uint8Array;