/** Options for {@link decodeHca}. */ export interface DecodeOptions { /** * 64-bit HCA cipher key as a `bigint`. Unused for type-0 * (unencrypted) and type-1 (static-table) cipher headers. */ key?: bigint; /** * AWB sub-key. Combined with `key` for the final 64-bit * cipher seed when the HCA was extracted from an AWB. * Unused for standalone HCAs. */ awbKey?: number; /** Volume multiplier; defaults to 1.0. */ volume?: number; } export interface DecodedHca { channelCount: number; samplingRate: number; /** Total number of samples per channel (NOT total floats). */ samplesPerChannel: number; /** * Interleaved Float32 PCM: `[ch0_s0, ch1_s0, ch0_s1, ...]`. * Length is `samplesPerChannel * channelCount`. */ pcm: Float32Array; loopStart?: number; loopEnd?: number; } /** * Decode an HCA file end-to-end into a flat Float32 PCM buffer. */ export declare function decodeHca(bytes: Uint8Array, options?: DecodeOptions): DecodedHca; /** Thrown when a block's CRC fails. */ export declare class HcaDecodeError extends Error { constructor(message: string); }