/** * FSE (Finite State Entropy) decode: table build and symbol decode. * Zstd FSE streams are read backward. */ import type { BitReaderReverse } from '../bitstream/bitReaderReverse.js'; export interface FSEDecodeTable { symbol: Uint16Array; numBits: Uint8Array; baseline: Int32Array; tableLog: number; length: number; } /** * Build FSE decode table from normalized counts. * Counts are -1 for "less than 1" (full state reset) symbols. * Based on zstd FSE_buildDTable logic. */ export declare function buildFSEDecodeTable(normalizedCounter: readonly number[], tableLog: number): FSEDecodeTable; /** * Decode one FSE symbol. Updates state in place. */ export declare function decodeFSESymbol(table: FSEDecodeTable, reader: BitReaderReverse, state: { value: number; }): number; /** * Read FSE normalized counts from compressed header (readNCount). * Used when symbol type uses RLE or Compressed mode (not Predefined). * Bitstream is read forward, little-endian. */ export declare function readNCount(data: Uint8Array, offset: number, maxSymbolValue: number, maxTableLog: number): { normalizedCounter: number[]; tableLog: number; maxSymbolValue: number; bytesRead: number; }; export declare function normalizeCountsForTable(counts: readonly number[], tableLog: number): { normalizedCounter: number[]; maxSymbolValue: number; }; export declare function writeNCount(normalizedCounter: readonly number[], maxSymbolValue: number, tableLog: number): Uint8Array;