import CramSlice from '../slice';
import CramContainerCompressionScheme from './compressionScheme';
import CramFile from '../file';
export default class CramContainer {
    file: CramFile;
    filePosition: number;
    constructor(file: CramFile, filePosition: number);
    getHeader(): Promise<{
        _size: number;
        _endPosition: number;
        numLandmarks: number;
        landmarks: number[];
        crc32?: number | undefined;
        length: number;
        refSeqId: number;
        refSeqStart: number;
        alignmentSpan: number;
        numBlocks: number;
        numBases: number | undefined;
        recordCounter: number;
        numRecords: number;
    }>;
    getCompressionHeaderBlock(): Promise<{
        parsedContent: {
            dataSeriesEncoding: import("../codecs/dataSeriesTypes").DataSeriesEncodingMap;
            preservation: import("../sectionParsers").CramPreservationMap;
            tagEncoding: Record<string, import("../encoding").CramEncoding>;
        } & {
            _endPosition: number;
            _size: number;
        };
        compressionMethod: import("../sectionParsers").CompressionMethod;
        contentType: "FILE_HEADER" | "COMPRESSION_HEADER" | "MAPPED_SLICE_HEADER" | "UNMAPPED_SLICE_HEADER" | "EXTERNAL_DATA" | "CORE_DATA";
        contentId: number;
        compressedSize: number;
        uncompressedSize: number;
        _endPosition: number;
        contentPosition: number;
        _size: number;
        content: Uint8Array;
        crc32?: number;
    } | null>;
    getFirstBlock(): Promise<import("../file").CramFileBlock>;
    getCompressionScheme(): Promise<CramContainerCompressionScheme | undefined>;
    getSlice(slicePosition: number, sliceSize: number): CramSlice;
    _readContainerHeader(position: number): Promise<{
        _size: number;
        _endPosition: number;
        numLandmarks: number;
        landmarks: number[];
        crc32?: number | undefined;
        length: number;
        refSeqId: number;
        refSeqStart: number;
        alignmentSpan: number;
        numBlocks: number;
        numBases: number | undefined;
        recordCounter: number;
        numRecords: number;
    }>;
}
