import CramCodec, { Cursor, Cursors } from './_base';
import { CramFileBlock } from '../file';
import CramSlice from '../slice';
import { ExternalCramEncoding } from '../encoding';
export default class ExternalCodec extends CramCodec<'int' | 'byte', ExternalCramEncoding['parameters']> {
    private readonly _decodeData;
    constructor(parameters: ExternalCramEncoding['parameters'], dataType: 'int' | 'byte');
    decode(slice: CramSlice, coreDataBlock: CramFileBlock, blocksByContentId: Record<number, CramFileBlock>, cursors: Cursors): number | undefined;
    _decodeInt(contentBlock: CramFileBlock, cursor: Cursor): number;
    _decodeByte(contentBlock: CramFileBlock, cursor: Cursor): number;
}
