export declare const EPSILON = 1e-10; export declare function clampProbability(p: number): number; export declare function clampProbability(p: number[]): number[]; export declare function sigmoid(x: number): number; export declare function sigmoid(x: number[]): number[]; export declare function logit(p: number): number; export declare function logit(p: number[]): number[]; export type TrainingMode = "balanced" | "prior_aware" | "prior_free"; export interface FitOptions { learningRate?: number; maxIterations?: number; tolerance?: number; mode?: TrainingMode; tfs?: number[]; docLenRatios?: number[]; } export interface UpdateOptions { learningRate?: number; momentum?: number; decayTau?: number; maxGradNorm?: number; avgDecay?: number; mode?: TrainingMode; tf?: number | number[]; docLenRatio?: number | number[]; } export declare class BayesianProbabilityTransform { alpha: number; beta: number; readonly baseRate: number | null; private _logitBaseRate; protected _trainingMode: TrainingMode; protected _nUpdates: number; protected _gradAlphaEMA: number; protected _gradBetaEMA: number; protected _alphaAvg: number; protected _betaAvg: number; protected _priorFn: ((score: number | number[], tf: number | number[], docLenRatio: number | number[]) => number | number[]) | null; constructor(alpha?: number, beta?: number, baseRate?: number | null, priorFn?: ((score: number | number[], tf: number | number[], docLenRatio: number | number[]) => number | number[]) | null); get averagedAlpha(): number; get averagedBeta(): number; get nUpdates(): number; get gradAlphaEMA(): number; likelihood(score: number): number; likelihood(score: number[]): number[]; static tfPrior(tf: number): number; static tfPrior(tf: number[]): number[]; static normPrior(docLenRatio: number): number; static normPrior(docLenRatio: number[]): number[]; static compositePrior(tf: number, docLenRatio: number): number; static compositePrior(tf: number[], docLenRatio: number[]): number[]; static posterior(likelihoodVal: number, prior: number, baseRate?: number | null): number; static posterior(likelihoodVal: number[], prior: number[], baseRate?: number | null): number[]; scoreToProbability(score: number, tf: number, docLenRatio: number): number; scoreToProbability(score: number[], tf: number[], docLenRatio: number[]): number[]; wandUpperBound(bm25UpperBound: number): number; wandUpperBound(bm25UpperBound: number[]): number[]; fit(scores: number[], labels: number[], options?: FitOptions): void; update(score: number | number[], label: number | number[], options?: UpdateOptions): void; } export interface TemporalFitOptions extends FitOptions { timestamps?: number[]; } export declare class TemporalBayesianTransform extends BayesianProbabilityTransform { private _decayHalfLife; private _decayRate; private _timestamp; constructor(alpha?: number, beta?: number, baseRate?: number | null, decayHalfLife?: number); get decayHalfLife(): number; get timestamp(): number; fit(scores: number[], labels: number[], options?: TemporalFitOptions): void; update(score: number | number[], label: number | number[], options?: UpdateOptions): void; } //# sourceMappingURL=probability.d.ts.map