import { type BM25Method } from "./bm25.js"; import { type BM25SignalTrace } from "./debug.js"; import { BayesianProbabilityTransform } from "./probability.js"; type BaseRateMethod = "percentile" | "mixture" | "elbow"; export interface BayesianBM25ScorerOptions { k1?: number; b?: number; method?: BM25Method; alpha?: number; beta?: number; baseRate?: number | "auto" | null; baseRateMethod?: BaseRateMethod; } export interface RetrieveResult { docIds: number[][]; probabilities: number[][]; } export interface RetrievalResult { docIds: number[][]; probabilities: number[][]; explanations: (BM25SignalTrace | null)[][] | null; } export declare class BayesianBM25Scorer { private _bm25; private _userAlpha; private _userBeta; private _userBaseRate; private _baseRateMethod; private _transform; private _docLengths; private _avgdl; private _corpusTokens; private _docTokenSets; constructor(options?: BayesianBM25ScorerOptions); get numDocs(): number; get docLengths(): number[]; get avgdl(): number; get baseRate(): number | null; index(corpusTokens: string[][]): void; private _samplePseudoQueryScores; private _estimateParameters; private _estimateBaseRate; static _baseRatePercentile(perQueryScores: number[][], nDocs: number): number; static _baseRateMixture(perQueryScores: number[][]): number; static _baseRateElbow(perQueryScores: number[][]): number; addDocuments(newCorpusTokens: string[][]): void; retrieve(queryTokens: string[][], k?: number, explain?: false): RetrieveResult; retrieve(queryTokens: string[][], k: number, explain: true): RetrievalResult; getProbabilities(queryTokens: string[]): number[]; private _computeTFBatch; private _scoresToProbabilities; } export declare class BlockMaxIndex { private _blockSize; private _blockMaxes; private _nDocs; private _nTerms; constructor(blockSize?: number); build(scoreMatrix: number[][]): void; blockUpperBound(termIdx: number, blockId: number): number; bayesianBlockUpperBound(termIdx: number, blockId: number, transform: BayesianProbabilityTransform, pMax?: number): number; get blockSize(): number; get nBlocks(): number; } export {}; //# sourceMappingURL=scorer.d.ts.map