/** * Ranking / aggregation. Strength is a win-rate under the Pilot; each row also * carries a 95% Wilson confidence interval so callers don't over-read a * difference that's within noise. Elo/Glicko is deferred (out of scope). */ import type { MatchupResult, StrengthRow } from './types.js'; /** * Wilson score interval for a binomial proportion. `successes` may be * fractional (ties count as half a win); `n` is the battle count. */ export declare function wilsonInterval(successes: number, n: number, z?: number): [number, number]; /** Fractional successes for a matchup: full for wins, half for ties. */ export declare function successes(m: { wins: number; battles: number; winRate: number; }): number; /** * Build a Strength row for one Team from its per-opponent matchups. Overall * Strength is total successes over total battles (a raw win-rate), which for * equal battle counts per matchup equals the mean of the per-matchup win-rates. */ export declare function buildStrengthRow(team: string, matchups: MatchupResult[]): StrengthRow; /** Sort strongest first; ties broken by name so the order is deterministic. */ export declare function rankRows(rows: StrengthRow[]): StrengthRow[];