/** * Decode literals section: Raw, RLE, Compressed, Treeless. */ import { buildHuffmanDecodeTable } from '../entropy/huffman.js'; export type LiteralsBlockType = 0 | 1 | 2 | 3; export interface LiteralsSectionHeader { blockType: LiteralsBlockType; regeneratedSize: number; compressedSize?: number; numStreams: 1 | 4; headerSize: number; } /** * Parse Literals_Section_Header from compressed block. * Returns header info and the byte offset after the header. */ export declare function parseLiteralsSectionHeader(data: Uint8Array, offset: number): { header: LiteralsSectionHeader; dataOffset: number; }; /** * Decode raw literals block - direct copy. */ export declare function decodeRawLiterals(data: Uint8Array, offset: number, size: number): Uint8Array; /** * Decode RLE literals block - single byte repeated. */ export declare function decodeRLELiterals(data: Uint8Array, offset: number, size: number): Uint8Array; /** * Decode compressed literals (Huffman). Requires Huffman table from tree description. */ export declare function decodeCompressedLiterals(data: Uint8Array, offset: number, compressedSize: number, regeneratedSize: number, numStreams: 1 | 4): { literals: Uint8Array; huffmanTable: { table: ReturnType; maxNumBits: number; }; bytesRead: number; }; /** * Decode treeless literals (reuse previous Huffman table). */ export declare function decodeTreelessLiterals(data: Uint8Array, offset: number, compressedSize: number, regeneratedSize: number, numStreams: 1 | 4, huffmanTable: { table: ReturnType; maxNumBits: number; }): { literals: Uint8Array; bytesRead: number; };