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, Region } from '@jbrowse/core/util';
export default class BedpeAdapter extends BaseFeatureDataAdapter {
    protected bedpeFeatures?: Promise<{
        header: string;
        feats1: Record<string, string[]>;
        feats2: Record<string, string[]>;
        columnNames: string[];
    }>;
    protected intervalTrees: Record<string, Promise<IntervalTree | undefined> | undefined>;
    static capabilities: string[];
    private loadDataP;
    private loadData;
    getRefNames(opts?: BaseOptions): Promise<string[]>;
    getHeader(opts?: BaseOptions): Promise<string>;
    getNames(): Promise<string[] | undefined>;
    private loadFeatureTreeP;
    private loadFeatureTree;
    getFeatures(query: Region, opts?: BaseOptions): import("rxjs").Observable<Feature>;
    freeResources(): void;
}
