import CramContainer from '../container/index.ts'; import { CramFileBlock } from '../file.ts'; import CramRecord, { DecodeOptions } from '../record.ts'; import { MappedSliceHeader, UnmappedSliceHeader } from '../sectionParsers.ts'; export type SliceHeader = CramFileBlock & { parsedContent: MappedSliceHeader | UnmappedSliceHeader; }; export default class CramSlice { container: CramContainer; containerPosition: number; sliceSize: number; private file; constructor(container: CramContainer, containerPosition: number, sliceSize: number); getHeader(): Promise<{ parsedContent: { recordCounter: number; md5: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number] | undefined; contentIds: number[]; numContentIds: number; numBlocks: number; numRecords: number; } & { _endPosition: number; _size: number; }; compressionMethod: import("../sectionParsers.ts").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; }>; getBlocks(): Promise; getCoreDataBlock(): Promise; _getBlocksContentIdIndex(): Promise>; getBlockByContentId(id: number): Promise; getReferenceRegion(): Promise<{ seq: string; start: number; end: number; span: number; } | undefined>; getAllRecords(): Promise; _fetchRecords(decodeOptions: Required): Promise; getRecords(filterFunction: (r: CramRecord) => boolean, decodeOptions?: DecodeOptions): Promise; }