import { Tool } from '../../tool.js'; import { BM25SearchResult, IndexDocumentInput } from './types.js'; export interface BM25EngineOptions { k1?: number; b?: number; nameBoost?: number; titleBoost?: number; paramBoost?: number; descBoost?: number; } export declare class BM25Engine { private readonly k1; private readonly b; private readonly nameBoost; private readonly titleBoost; private readonly paramBoost; private readonly descBoost; private documents; private df; private avgDocLength; private contentHash; constructor(options?: BM25EngineOptions); /** * Builds the in-memory inverted index from generic document inputs. * If a matching content hash is provided and index exists, indexing is skipped. */ buildIndex(docs: IndexDocumentInput[], hash?: string): void; /** * Helper to build index directly from Tool instances. */ indexTools(tools: Tool[], hash?: string): void; /** * Searches the indexed documents using Lucene BM25 Okapi non-negative scoring. */ search(query: string, limit?: number): BM25SearchResult[]; /** * Diagnostic statistics for debugging and NitroStudio telemetry. */ getStats(): { docCount: number; avgDocLength: number; vocabSize: number; contentHash: string; }; } //# sourceMappingURL=bm25.engine.d.ts.map