type Rating = {
    mu: number;
    sigma: number;
};
type Team = Rating[];
type Rank = number;
type Gamma = (c: number, k: number, mu: number, sigmaSq: number, team: Rating[], qRank: number) => number;
type Model = (teams: Team[], options?: Options) => Team[];
type Options = {
    z?: number;
    mu?: number;
    sigma?: number;
    epsilon?: number;
    gamma?: Gamma;
    beta?: number;
    model?: Model;
    rank?: Rank[];
    score?: number[];
    weight?: number[][];
    tau?: number;
    alpha?: number;
    target?: number;
    preventSigmaIncrease?: boolean;
    limitSigma?: boolean;
};

export type { Gamma, Model, Options, Rank, Rating, Team };
