import type { SearchDocument, SearchFacet } from '@redocly/theme';
import type { SearchEngineType, AfterRoutesCreatedActions } from '../../../types';
import type { FacetCountsRequestParams, GlobalData, SearchRequestParams, SearchResponse } from '../../../../types/index.js';
export declare class SearchEngine {
    type: SearchEngineType;
    private l10n;
    private engines;
    private instance;
    constructor(type: SearchEngineType, l10n: GlobalData['l10n']);
    initIndexSchema(searchFacets: Map<string, SearchFacet>): Promise<void>;
    addDocuments(group: string, locale: string, documents: SearchDocument[]): Promise<void>;
    search(params: SearchRequestParams, facets?: Map<string, SearchFacet>): Promise<SearchResponse>;
    countFacets(params: FacetCountsRequestParams, facets: Map<string, SearchFacet>): Promise<Record<string, import("@redocly/theme").SearchFacetCount[]>>;
    export(outDir: string): Promise<void>;
    import(sourceDir: string): Promise<void>;
    private getLocale;
    cleanupFacetValues(actions: AfterRoutesCreatedActions): void;
}
//# sourceMappingURL=search-engine.d.ts.map