import CramCodec, { type Cursors } from './_base.ts';
import type { ExternalCramEncoding } from '../encoding.ts';
import type { CramFileBlock } from '../file.ts';
import type CramSlice from '../slice/index.ts';
export { parseItf8 } from '../util.ts';
export declare function batchDecodeItf8(buffer: Uint8Array): Int32Array<ArrayBuffer>;
export default class ExternalCodec extends CramCodec<'int' | 'byte', ExternalCramEncoding['parameters']> {
    private blockContentId;
    constructor(parameters: ExternalCramEncoding['parameters'], dataType: 'int' | 'byte');
    decode(_slice: CramSlice, _coreDataBlock: CramFileBlock, blocksByContentId: Record<number, CramFileBlock>, cursors: Cursors): number;
    getBytesSubarray(blocksByContentId: Record<number, CramFileBlock>, cursors: Cursors, length: number): Uint8Array | undefined;
}
