type Vec = readonly number[] | Float64Array; /** * Result of `fTest`: the F statistic, the two-sided p-value, and the degrees of freedom * `df1 = n1 - 1` and `df2 = n2 - 1`. */ export interface FTestResult { statistic: number; pValue: number; df1: number; df2: number; } /** * Two-sample F-test for equality of variances. `F = s²₁ / s²₂` on sample * variances; two-sided p-value `2·min(F_cdf, 1−F_cdf)`. */ export declare function fTest(x: Vec, y: Vec): FTestResult; /** * Result of `jarqueBera`: the JB statistic, its p-value, and the sample skewness and * excess kurtosis. */ export interface JarqueBeraResult { statistic: number; pValue: number; skewness: number; kurtosis: number; } /** * Jarque–Bera test of normality from sample skewness `S` and excess kurtosis `K`: * `JB = n/6·(S² + K²/4)`, asymptotically χ²(2). Bridges descriptive stats ↔ tests. */ export declare function jarqueBera(x: Vec): JarqueBeraResult; /** * Result of `kruskalWallis`: the tie-corrected H statistic, its p-value, and the degrees * of freedom. */ export interface KruskalResult { statistic: number; pValue: number; df: number; } /** * Kruskal–Wallis H-test (nonparametric one-way ANOVA on ranks). Pools all groups, * ranks via {@link rankdata}, and corrects for ties; H is asymptotically χ²(k−1). */ export declare function kruskalWallis(...groups: Vec[]): KruskalResult; /** * Result of `wilcoxon`: the statistic `min(W+, W-)`, the two-sided p-value, and the * normal-approximation z statistic. */ export interface WilcoxonResult { statistic: number; pValue: number; zStatistic: number; } /** * Wilcoxon signed-rank test (paired, or one-sample vs 0). Drops zero differences, * ranks |d|, and uses the normal approximation with continuity correction * (matching `scipy.stats.wilcoxon(mode='approx', correction=True)`). Statistic is * `min(W⁺, W⁻)`. */ export declare function wilcoxon(x: Vec, y?: Vec): WilcoxonResult; /** Result of `fisherExact`: the sample odds ratio and the two-sided p-value. */ export interface FisherExactResult { oddsRatio: number; pValue: number; } /** * Fisher's exact test on a 2×2 table `[[a, b], [c, d]]`. Two-sided p-value by the * total-probability method (sum of hypergeometric probabilities no greater than the * observed table's), matching `scipy.stats.fisher_exact`. `oddsRatio` is the sample * ratio `ad/bc` (SciPy reports the conditional-MLE estimate; the p-value matches). */ export declare function fisherExact(table: readonly [readonly number[], readonly number[]]): FisherExactResult; /** * CDF of the studentized range distribution with `k` groups and `df` degrees of * freedom — `scipy.stats.studentized_range.cdf`. Integrates the range probability * against the χ-scaled denominator density (synchronous Simpson + normalCDF/normalPDF). */ export declare function studentizedRangeCDF(q: number, k: number, df: number): number; /** Quantile (inverse CDF) of the studentized range distribution, via bisection. */ export declare function studentizedRangeQuantile(p: number, k: number, df: number): number; /** * One pairwise comparison from `tukeyHSD`. * * `groups` holds the two group indices. `reject` is true if the q statistic is above the * critical value for `alpha`. */ export interface TukeyComparison { groups: [number, number]; meanDifference: number; qStatistic: number; pValue: number; reject: boolean; } /** * Tukey's HSD (honestly significant difference) post-hoc test across `groups`. * Pooled within-group variance, Tukey–Kramer standard errors for unbalanced groups; * p-values from the studentized range distribution. Mirrors `scipy.stats.tukey_hsd`. */ export declare function tukeyHSD(groups: Vec[], alpha?: number): TukeyComparison[]; export {}; //# sourceMappingURL=hypothesis-extra.d.ts.map