/** @packageDocumentation ID3v2 unsynchronized lyrics frame (USLT). Stores free-form lyrics or text transcription. */ import { ByteVector, StringType } from "../../../byteVector.js"; import { Id3v2Frame, Id3v2FrameHeader } from "../id3v2Frame.js"; /** * Unsynchronized lyrics/text transcription frame (USLT). * * Structure: encoding(1) + language(3) + description(null-terminated) + lyrics. */ export declare class UnsynchronizedLyricsFrame extends Id3v2Frame { /** Text encoding used for the description and lyrics content. */ private _encoding; /** Three-byte ISO-639-2 language code identifying the language of the lyrics. */ private _language; /** Short content description distinguishing multiple USLT frames with the same language. */ private _description; /** The full lyrics or text transcription content. */ private _text; /** * Creates a new unsynchronized lyrics frame. * @param encoding - The text encoding to use for the description and lyrics. Defaults to UTF-8. */ constructor(encoding?: StringType); /** Gets the text encoding used for the description and lyrics content. */ get encoding(): StringType; /** Sets the text encoding used for the description and lyrics content. */ set encoding(e: StringType); /** Gets the three-byte ISO-639-2 language code identifying the language of the lyrics. */ get language(): ByteVector; /** * Sets the three-byte ISO-639-2 language code. The value is truncated or padded with spaces * to exactly three bytes. */ set language(lang: ByteVector); /** Gets the short content description for this frame. */ get description(): string; /** Sets the short content description for this frame. */ set description(value: string); /** Gets the lyrics or text transcription content. */ get text(): string; /** Sets the lyrics or text transcription content. */ set text(value: string); /** * Returns the lyric text. * @returns The lyrics or text transcription stored in this frame. */ toString(): string; /** @internal Create from raw frame data. */ static fromData(data: ByteVector, header: Id3v2FrameHeader, version: number): UnsynchronizedLyricsFrame; /** * Finds the first USLT frame in a tag whose description matches the given string. * @param tag - The ID3v2 tag object containing a `frames` array to search. * @param description - The content description to match against. * @returns The first matching {@link UnsynchronizedLyricsFrame}, or `null` if none is found. */ static findByDescription(tag: { frames?: Id3v2Frame[]; }, description: string): UnsynchronizedLyricsFrame | null; /** * Parses the binary field data for this USLT frame. * @param data - Raw field bytes starting with the encoding byte. * @param _version - The ID3v2 version (unused). */ protected parseFields(data: ByteVector, _version: number): void; /** * Serialises this frame's fields to binary. * @param _version - The ID3v2 version (unused). * @returns A {@link ByteVector} containing the encoded frame fields. */ protected renderFields(_version: number): ByteVector; } //# sourceMappingURL=unsynchronizedLyricsFrame.d.ts.map