import { BayesianProbabilityTransform } from "./probability.js"; export interface BM25SignalTrace { rawScore: number; tf: number; docLenRatio: number; likelihood: number; tfPrior: number; normPrior: number; compositePrior: number; logitLikelihood: number; logitPrior: number; logitBaseRate: number | null; posterior: number; alpha: number; beta: number; baseRate: number | null; } export interface VectorSignalTrace { cosineScore: number; probability: number; logitProbability: number; distance: number | null; fR: number | null; fG: number | null; logDensityRatio: number | null; calibrationMethod: string | null; } export interface NotTrace { inputProbability: number; inputName: string; complement: number; logitInput: number; logitComplement: number; } export interface FusionTrace { signalProbabilities: number[]; signalNames: string[]; method: string; logits: number[] | null; meanLogit: number | null; alpha: number | null; nAlphaScale: number | null; scaledLogit: number | null; weights: number[] | null; fusedProbability: number; logProbs: number[] | null; logProbSum: number | null; complements: number[] | null; logComplements: number[] | null; logComplementSum: number | null; } export interface DocumentTrace { docId: string | number | null; signals: Record; fusion: FusionTrace; finalProbability: number; } export interface ComparisonResult { docA: DocumentTrace; docB: DocumentTrace; signalDeltas: Record; dominantSignal: string; crossoverStage: string | null; } export declare class FusionDebugger { private _transform; constructor(transform: BayesianProbabilityTransform); traceBM25(score: number, tf: number, docLenRatio: number, options?: { docId?: string | number | null; }): BM25SignalTrace; traceVector(cosineScore: number, options?: { docId?: string | number | null; }): VectorSignalTrace; traceCalibratedVector(distance: number, probability: number, options?: { fR?: number | null; calibrationMethod?: string | null; calibrator?: { muG: number; sigmaG: number; } | null; }): VectorSignalTrace; traceNot(probability: number, options?: { name?: string; }): NotTrace; formatNot(trace: NotTrace): string; traceFusion(probabilities: number[], options?: { names?: string[]; method?: string; alpha?: number; weights?: number[]; }): FusionTrace; private _traceLogOdds; private _traceProbAnd; private _traceProbOr; private _traceProbNot; traceDocument(options: { bm25Score?: number; tf?: number; docLenRatio?: number; cosineScore?: number; method?: string; alpha?: number; weights?: number[]; docId?: string | number | null; }): DocumentTrace; compare(traceA: DocumentTrace, traceB: DocumentTrace): ComparisonResult; private static _signalProbability; formatTrace(trace: DocumentTrace, options?: { verbose?: boolean; }): string; formatSummary(trace: DocumentTrace): string; formatComparison(comparison: ComparisonResult): string; } //# sourceMappingURL=debug.d.ts.map