import { TwoBitFile } from '@gmod/twobit';
import { BaseSequenceAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
import type { Feature } from '@jbrowse/core/util/simpleFeature';
import type { NoAssemblyRegion } from '@jbrowse/core/util/types';
export default class TwoBitAdapter extends BaseSequenceAdapter {
    protected setupP?: Promise<{
        twobit: TwoBitFile;
        chromSizesData: Record<string, number> | undefined;
    }>;
    private initChromSizes;
    setupPre(): Promise<{
        twobit: TwoBitFile;
        chromSizesData: {
            [k: string]: number;
        } | undefined;
    }>;
    setup(): Promise<{
        twobit: TwoBitFile;
        chromSizesData: Record<string, number> | undefined;
    }>;
    getRefNames(): Promise<string[]>;
    getRegions(): Promise<{
        refName: string;
        start: number;
        end: number;
    }[]>;
    getFeatures({ refName, start, end }: NoAssemblyRegion): import("rxjs").Observable<Feature>;
    freeResources(): void;
}
