import { CramFileSource } from './cramFile/file';
export interface Slice {
    start: number;
    span: number;
    containerStart: number;
    sliceStart: number;
    sliceBytes: number;
}
type ParsedIndex = Record<string, Slice[] | undefined>;
export default class CraiIndex {
    private parseIndexP?;
    private filehandle;
    /**
     *
     * @param {object} args
     * @param {string} [args.path]
     * @param {string} [args.url]
     * @param {FileHandle} [args.filehandle]
     */
    constructor(args: CramFileSource);
    parseIndex(): Promise<ParsedIndex>;
    getIndex(): Promise<ParsedIndex>;
    /**
     * @param {number} seqId
     * @returns {Promise} true if the index contains entries for
     * the given reference sequence ID, false otherwise
     */
    hasDataForReferenceSequence(seqId: number): Promise<boolean>;
    /**
     * fetch index entries for the given range
     *
     * @param {number} seqId
     * @param {number} queryStart
     * @param {number} queryEnd
     *
     * @returns {Promise} promise for
     * an array of objects of the form
     * `{start, span, containerStart, sliceStart, sliceBytes }`
     */
    getEntriesForRange(seqId: number, queryStart: number, queryEnd: number): Promise<Slice[]>;
}
export {};
