/** @packageDocumentation ASF GUID constants and low-level binary reading/writing helpers. */ import { ByteVector } from "../byteVector.js"; import type { File } from "../file.js"; /** GUID of the top-level ASF Header Object. */ export declare const headerGuid: ByteVector; /** GUID of the File Properties Object. */ export declare const filePropertiesGuid: ByteVector; /** GUID of the Stream Properties Object. */ export declare const streamPropertiesGuid: ByteVector; /** GUID of the Content Description Object (title, artist, copyright, comment, rating). */ export declare const contentDescriptionGuid: ByteVector; /** GUID of the Extended Content Description Object (generic attribute list). */ export declare const extendedContentDescriptionGuid: ByteVector; /** GUID of the Header Extension Object (nested sub-header container). */ export declare const headerExtensionGuid: ByteVector; /** GUID of the Metadata Object (stream-specific attributes). */ export declare const metadataGuid: ByteVector; /** GUID of the Metadata Library Object (stream- and language-specific attributes). */ export declare const metadataLibraryGuid: ByteVector; /** GUID of the Codec List Object (human-readable codec names). */ export declare const codecListGuid: ByteVector; /** GUID of the Content Encryption Object (standard DRM). */ export declare const contentEncryptionGuid: ByteVector; /** GUID of the Extended Content Encryption Object. */ export declare const extendedContentEncryptionGuid: ByteVector; /** GUID of the Advanced Content Encryption Object. */ export declare const advancedContentEncryptionGuid: ByteVector; /** * Result type returned by the low-level ASF read helpers. * * @template T - The type of the successfully read value. */ export interface ReadResult { /** The value that was read. Undefined / zero when `ok` is `false`. */ value: T; /** `true` when the expected number of bytes was available and read. */ ok: boolean; } /** * Read a 16-bit unsigned little-endian integer (WORD) from `file`. * * @param file - Open file handle positioned at the WORD. * @returns A {@link ReadResult} with the value and a success flag. */ export declare function readWORD(file: File): Promise>; /** * Read a 32-bit unsigned little-endian integer (DWORD) from `file`. * * @param file - Open file handle positioned at the DWORD. * @returns A {@link ReadResult} with the value and a success flag. */ export declare function readDWORD(file: File): Promise>; /** * Read a 64-bit unsigned little-endian integer (QWORD) from `file`. * * @param file - Open file handle positioned at the QWORD. * @returns A {@link ReadResult} with the BigInt value and a success flag. */ export declare function readQWORD(file: File): Promise>; /** * Read `length` bytes from `file` and decode them as a UTF-16LE string, * stripping any trailing null terminators. * * @param file - Open file handle positioned at the string data. * @param length - Number of bytes to read. * @returns The decoded string. */ export declare function readString(file: File, length: number): Promise; /** * Encode `str` as a null-terminated UTF-16LE byte sequence, optionally * prefixed with a 16-bit length field. * * @param str - The string to encode. * @param includeLength - When `true`, a WORD containing the byte length of the * encoded string (including null terminator) is prepended. * @returns The encoded bytes. */ export declare function renderString(str: string, includeLength?: boolean): ByteVector; //# sourceMappingURL=asfUtils.d.ts.map