import BaseResult from '@jbrowse/core/TextSearch/BaseResults';
import { BaseAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
import HttpMap from './HttpMap';
import type PluginManager from '@jbrowse/core/PluginManager';
import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
import type { BaseTextSearchAdapter, BaseTextSearchArgs } from '@jbrowse/core/data_adapters/BaseAdapter';
import type { getSubAdapterType } from '@jbrowse/core/data_adapters/dataAdapterCache';
export interface TooManyHits {
    name: string;
    hitLimit: number;
}
interface SearchResults {
    prefix: ({
        name: string;
    } | string)[];
    exact: [string, number, string, string, number, number][];
}
export type NamesIndexRecord = string | (string | number)[];
type IndexFile = Record<string, SearchResults>;
export default class JBrowse1TextSearchAdapter extends BaseAdapter implements BaseTextSearchAdapter {
    httpMap: HttpMap;
    tracksNames?: string[];
    constructor(config: AnyConfigurationModel, getSubAdapter?: getSubAdapterType, pluginManager?: PluginManager);
    loadIndexFile(query: string): Promise<IndexFile>;
    searchIndex(args: BaseTextSearchArgs): Promise<BaseResult[]>;
    formatResults(results: SearchResults, tracks: string[], searchType?: string): BaseResult[];
    freeResources(): void;
}
export {};
