import { TabixIndexedFile } from '@gmod/tabix';
import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
import type PluginManager from '@jbrowse/core/PluginManager';
import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
import type { BaseOptions } from '@jbrowse/core/data_adapters/BaseAdapter';
import type { getSubAdapterType } from '@jbrowse/core/data_adapters/dataAdapterCache';
import type { Feature, Region } from '@jbrowse/core/util';
export default class BedTabixAdapter extends BaseFeatureDataAdapter {
    private parser;
    protected bed: TabixIndexedFile;
    protected columnNames: string[];
    protected scoreColumn: string;
    static capabilities: string[];
    setupP?: Promise<{
        meta: Awaited<ReturnType<TabixIndexedFile['getMetadata']>>;
    }>;
    constructor(config: AnyConfigurationModel, getSubAdapter?: getSubAdapterType, pluginManager?: PluginManager);
    getRefNames(opts?: BaseOptions): Promise<string[]>;
    getHeader(opts?: BaseOptions): Promise<string>;
    getMetadataPre2(_opts?: BaseOptions): Promise<{
        meta: Awaited<ReturnType<TabixIndexedFile["getMetadata"]>>;
    }>;
    getMetadataPre(): Promise<{
        meta: {
            [key: string]: any;
            refNameToId: Record<string, number>;
            refIdToName: string[];
            metaChar: string | null;
            columnNumbers: {
                ref: number;
                start: number;
                end: number;
            };
            coordinateType: string;
            format: string;
        };
    }>;
    getMetadata(opts?: BaseOptions): Promise<{
        meta: Awaited<ReturnType<TabixIndexedFile["getMetadata"]>>;
    }>;
    getNames(): Promise<string[] | undefined>;
    getFeatures(query: Region, opts?: BaseOptions): import("rxjs").Observable<Feature>;
    freeResources(): void;
}
