import CramCodec, { Cursor, Cursors } from './_base.ts'; import { HuffmanEncoding } from '../encoding.ts'; import { CramFileBlock } from '../file.ts'; import CramSlice from '../slice/index.ts'; export default class HuffmanIntCodec extends CramCodec<'byte' | 'int', HuffmanEncoding['parameters']> { private codes; private codeBook; private sortedCodes; private sortedValuesByBitCode; private sortedBitCodes; private sortedBitLengthsByBitCode; private bitCodeToValue; constructor(parameters: HuffmanEncoding['parameters'], dataType: 'byte' | 'int'); buildCodeBook(): void; buildCodes(): void; buildCaches(): void; decode(slice: CramSlice, coreDataBlock: CramFileBlock, _blocksByContentId: Record, cursors: Cursors): number; _decodeZeroLengthCode(): number; _decode(_slice: CramSlice, coreDataBlock: CramFileBlock, coreCursor: Cursor): number; }