export interface Bytes {
    start: number;
    end: number;
    byteArray: Uint8Array;
}
export default class BamRecord {
    fileOffset: number;
    private _byteArray;
    private _start;
    private _end;
    private _dataView;
    private _cachedEnd?;
    private _cachedTags?;
    private _cachedLengthOnRef?;
    private _cachedNumericCigar?;
    private _cachedNUMERIC_MD?;
    private _cachedSeqStart?;
    constructor(args: {
        bytes: Bytes;
        fileOffset: number;
        dataView: DataView;
    });
    get byteArray(): Uint8Array<ArrayBufferLike>;
    get flags(): number;
    get ref_id(): number;
    get start(): number;
    get end(): number;
    get mq(): number | undefined;
    get score(): number | undefined;
    get qual(): Uint8Array<ArrayBufferLike> | null;
    get strand(): 1 | -1;
    get b0(): number;
    get seqStart(): number;
    get tagsStart(): number;
    get name(): string;
    get NUMERIC_MD(): Uint8Array<ArrayBufferLike> | undefined;
    get tags(): Record<string, unknown>;
    getTag(tagName: string): unknown;
    getTagRaw(tagName: string): string | number | Uint8Array<ArrayBufferLike> | number[] | Uint32Array<ArrayBufferLike> | Int32Array<ArrayBufferLike> | Int16Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Int8Array<ArrayBufferLike> | Float32Array<ArrayBufferLike> | undefined;
    private _findTag;
    private _computeTags;
    isPaired(): boolean;
    isProperlyPaired(): boolean;
    isSegmentUnmapped(): boolean;
    isMateUnmapped(): boolean;
    isReverseComplemented(): boolean;
    isMateReverseComplemented(): boolean;
    isRead1(): boolean;
    isRead2(): boolean;
    isSecondary(): boolean;
    isFailedQc(): boolean;
    isDuplicate(): boolean;
    isSupplementary(): boolean;
    private _isCGTagPattern;
    private _computeLengthOnRef;
    private _computeNumericCigar;
    get length_on_ref(): number;
    get NUMERIC_CIGAR(): number[] | Uint32Array<ArrayBufferLike>;
    get CIGAR(): string;
    get num_cigar_ops(): number;
    get num_cigar_bytes(): number;
    get read_name_length(): number;
    get num_seq_bytes(): number;
    get NUMERIC_SEQ(): Uint8Array<ArrayBufferLike>;
    get seq(): string;
    get pair_orientation(): string | undefined;
    get bin_mq_nl(): number;
    get flag_nc(): number;
    get seq_length(): number;
    get next_refid(): number;
    get next_pos(): number;
    get template_length(): number;
    seqAt(idx: number): string | undefined;
    toJSON(): Record<string, unknown>;
}
