/** * Decode sequences section from compressed block. * Decodes LL, ML, Offset FSE streams and produces Sequence tuples. */ import { type FSEDecodeTable } from '../entropy/fse.js'; import { type PackedSequences } from './reconstruct.js'; export type CompressionMode = 0 | 1 | 2 | 3; export interface SequenceTables { llTable: FSEDecodeTable; llTableLog: number; ofTable: FSEDecodeTable; ofTableLog: number; mlTable: FSEDecodeTable; mlTableLog: number; } export interface DecodeSequencesResult { sequences: PackedSequences; tables: SequenceTables; bytesRead: number; metadata: SequenceSectionMetadata; } export interface SequenceSectionMetadata { numSequences: number; llMode: CompressionMode; ofMode: CompressionMode; mlMode: CompressionMode; llTableLog: number; ofTableLog: number; mlTableLog: number; totalMatchLength: number; repeatOffsetCandidateCount: number; } export declare function decodeSequences(data: Uint8Array, offset: number, size: number, prevTables: SequenceTables | null, sequenceReuse?: PackedSequences): DecodeSequencesResult;