/** Shared validation and small numeric helpers for discriminant analysis. */ export declare function validateXy(X: number[][], y: number[], name: string): void; export declare function validatePredictInput(X: number[][], nFeatures: number, name: string): void; export declare function sortedUniqueLabels(y: number[]): number[]; /** * Resolve class priors: from explicit user priors (validated, normalized to * sum to 1 like sklearn) or from class frequencies. */ export declare function resolvePriors(priors: number[] | undefined, counts: number[], nSamples: number, name: string): number[]; /** Row-wise softmax with max-subtraction for numerical stability. */ export declare function softmaxRows(scores: number[][]): number[][]; export declare function argmaxRow(row: number[]): number; /** Per-class means; `classIdx[i]` maps sample i to its class index. */ export declare function classMeans(X: number[][], classIdx: number[], nClasses: number): number[][];