import type { SearchDocument, SearchFacet, SearchFacetCount } from '@redocly/theme';
import type { SearchRequestParams, SearchResponse as ISearchResponse, FacetCountsRequestParams } from '../../../../../types/index.js';
import type { AfterRoutesCreatedActions, SearchEngine } from '../../../../types';
export declare class Typesense implements SearchEngine {
    private readonly client;
    private readonly collectionAliasPrefix;
    private schemaFields;
    private documents;
    private envs;
    constructor();
    initIndexSchema(searchFacets: Map<string, SearchFacet>): Promise<void>;
    addDocuments(_id: string, locale: string, documents: SearchDocument[]): Promise<void>;
    search(params: SearchRequestParams): Promise<ISearchResponse>;
    private prepareSingleSearchResult;
    private prepareMultiSearchResult;
    private prepareDocument;
    private prepareHighlight;
    private resolveDeepLink;
    export(outDir: string): Promise<void>;
    import(_sourceDir: string): Promise<void>;
    countFacets(params: FacetCountsRequestParams, _facets: Map<string, SearchFacet>): Promise<Record<string, SearchFacetCount[]>>;
    private getCollectionAlias;
    private createCollection;
    private dropAllCollections;
    private transformFacetsToSchemaFields;
    private getQueryFields;
    private getGroupFields;
    private getFilterString;
    private getFacetQueryString;
    private getGroupFilterValues;
    private getSearchesByFacets;
    cleanupFacetValues(actions: AfterRoutesCreatedActions): void;
}
//# sourceMappingURL=index.d.ts.map