/** * The curated ORDER of the World tournaments — the ordering evidence for the * rows Opta does not rate. * * It lived in `api-gateway/scripts/reclassify-world-tournaments.ts`, which is * where it was authored and where it was once WRITTEN from. It is here because * two things now need it and neither may keep a copy: the reviewed * `propose-league-global-ranks.ts` and `POST /ingest/leagues/rerank`. A table * that disagreed with itself across those two would put a different order on * the homepage depending on which one ran last, which is the two-writer defect * LEA-8 removed, one level up. * * **The numbers below are a sequence within their own group, not a value any * league holds.** `deriveGlobalRanks` in `./global-rank` takes only the order * from them and renumbers densely per `(scope, confederation, gender, squad)`. * The groups are per (confederation, cohort) **as authored** — the section the * numbers land in is finer than the group they were written in, and has been * since rows began moving between groups: LEA-10 re-derived ten women's youth * competitions into the youth cohort, which put them on the men's youth * sequence, and C3 split that section by gender so they are numbered against * each other again. * * The group labels are therefore **provenance, not the section key**, which is * why `group` is free text and not the axes. The entries are deliberately left * where they were authored: re-grouping them would change no stored rank — * each section draws its rows from exactly one group, measured on the * collection — and would lose the record of which sequence a number came * from. Several groups have no single gender to re-express as, which is the * whole reason the axes exist. */ export interface RankEntry { externalId: string; globalRank: number; name: string; } export interface RankGroup { confederation: string; /** The sequence these numbers were authored in. Provenance; nothing reads it. */ group: string; entries: RankEntry[]; } export declare const ALL_RANKS: RankGroup[]; /** * `externalId` → its position inside its own curated group. Order only, and a * duplicate keeps the first entry so the map is a function — a repeat would * mean the table lists one competition twice. */ export declare function curatedWorldOrder(groups?: RankGroup[]): Map; //# sourceMappingURL=world-tournament-order.d.ts.map