import IntervalTree from '@flatten-js/interval-tree';
import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
import type { BaseOptions } from '@jbrowse/core/data_adapters/BaseAdapter';
import type { Feature } from '@jbrowse/core/util/simpleFeature';
import type { NoAssemblyRegion } from '@jbrowse/core/util/types';
type StatusCallback = (arg: string) => void;
export default class Gff3Adapter extends BaseFeatureDataAdapter {
    calculatedIntervalTreeMap: Record<string, IntervalTree>;
    gffFeatures?: Promise<{
        header: string;
        intervalTreeMap: Record<string, (sc?: StatusCallback) => IntervalTree>;
    }>;
    private loadDataP;
    private loadData;
    getRefNames(opts?: BaseOptions): Promise<string[]>;
    getHeader(opts?: BaseOptions): Promise<string>;
    getFeatures(query: NoAssemblyRegion, opts?: BaseOptions): import("rxjs").Observable<Feature>;
    freeResources(): void;
}
export {};
