import { File } from "../file.js"; import { Tag } from "../tag.js"; import { ReadStyle } from "../toolkit/types.js"; import type { IOStream } from "../toolkit/ioStream.js"; import { ModProperties } from "./modProperties.js"; /** * ProTracker MOD file format handler. * * Title is at offset 0 (20 bytes). A 4-byte tag at offset 1080 identifies * the MOD variant and determines the number of channels and instruments. * Instrument names (22 bytes each, starting at offset 20) form the comment. */ export declare class ModFile extends File { /** Parsed tag holding title and instrument names as a comment. */ private _tag; /** Parsed audio properties, or `null` if not yet read. */ private _properties; /** Number of instruments in the file (15 for NoiseTracker, 31 otherwise). */ private _instrumentCount; /** * Private constructor — use {@link ModFile.open} instead. * @param stream - The underlying I/O stream. */ private constructor(); /** * Open and parse a ProTracker MOD 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 ModFile} instance. */ static open(stream: IOStream, readProperties?: boolean, readStyle?: ReadStyle): Promise; /** * Check whether a stream contains a known ProTracker MOD file. * @param stream - The stream to inspect. * @returns `true` if the 4-byte MOD ID at offset 1080 is a known identifier. */ static isSupported(stream: IOStream): Promise; /** Returns the tag for this file. */ tag(): Tag; /** Returns the audio properties, or `null` if not parsed. */ audioProperties(): ModProperties | null; /** * Write the current tag data back to the file. * @returns `true` on success, `false` if the file is read-only. */ save(): Promise; /** * Parse the MOD file header, ID tag, and instrument names. * @param readProperties - Whether to populate audio properties. * @param readStyle - Detail level for audio property parsing. */ private read; } //# sourceMappingURL=modFile.d.ts.map