import type { ODataSelect, ODataSelectResult } from '../lib/odata'; import type { SearchFacetBase, SearchResult } from './searchBackend'; import { SearchBackend } from './searchBackend'; import { Scorer } from './scorer'; export interface SearchDocumentsRequest | string> { count?: boolean; facets?: string[]; filter?: string; highlight?: string; highlightPreTag?: string; highlightPostTag?: string; minimumCoverage?: number; orderBy?: string; queryType?: 'simple' | 'full'; scoringParameters?: string[]; scoringProfile?: string; scoringStatistics?: 'local' | 'global'; search?: string; searchFields?: string; searchMode?: 'any' | 'all'; select?: Keys[]; skip?: number; top?: number; } export interface SearchDocumentsPageResult { '@odata.count'?: number; '@search.coverage'?: number; '@search.facets'?: Record; '@search.nextPageParameters'?: SearchDocumentsRequest; value: SearchResult[]; '@odata.nextLink'?: string; } export declare class SearchEngine { private readonly backend; private readonly scorer; constructor(backend: SearchBackend, scorer: Scorer); search>(request: SearchDocumentsRequest): SearchDocumentsPageResult>; }