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