import { File } from "../file.js"; import { Tag } from "../tag.js"; import { ReadStyle } from "../toolkit/types.js"; import type { IOStream } from "../toolkit/ioStream.js"; import { ItProperties } from "./itProperties.js"; /** * Impulse Tracker (IT) file format handler. * * Magic "IMPM" at offset 0. Title at offset 4 (26 bytes). * Instrument and sample names form the comment, plus an optional message. */ export declare class ItFile extends File { /** Parsed tag holding title, comment, and tracker name. */ private _tag; /** Parsed audio properties, or null if not yet read. */ private _properties; /** * Private constructor — use {@link ItFile.open} instead. * @param stream - The underlying I/O stream. */ private constructor(); /** * Open and parse an Impulse Tracker file. * @param stream - The I/O stream to read from. * @param readProperties - Whether to parse audio properties. * @param readStyle - Detail level for audio property parsing. * @returns A fully initialized {@link ItFile} instance. */ static open(stream: IOStream, readProperties?: boolean, readStyle?: ReadStyle): Promise; /** * Check whether a stream contains an Impulse Tracker file. * @param stream - The stream to inspect. * @returns `true` if the stream begins with the "IMPM" magic bytes. */ static isSupported(stream: IOStream): Promise; /** Returns the tag for this file. */ tag(): Tag; /** Returns the audio properties, or `null` if not parsed. */ audioProperties(): ItProperties | null; /** * Write the current tag data back to the file. * @returns `true` on success, `false` if the file is read-only or data is invalid. */ save(): Promise; /** * Parse the IT file header, instrument/sample names, and optional message. * @param readProperties - Whether to populate audio properties. * @param readStyle - Detail level for audio property parsing. */ private read; } //# sourceMappingURL=itFile.d.ts.map