/** * Ground-truth validation for the StatsBomb ID tables. * * Every StatsBomb event carries its vocabulary as `{ id, name }` objects: the * event type, the play pattern, and nested values such as `shot.outcome` or * `pass.height`. docs/statsbomb/event-types.md documents those IDs in tables, so * each row can be checked against what the public open data actually carries. * * Two halves, as for Impect: * * 1. A generator (CLI) that samples matches from the public open-data * repository at a pinned commit and writes data/statsbomb-open-data-truth.json. * Maintainer-only; it downloads, so CI never runs it. * * 2. validateStatsBombDocs(), a pure function the test suite runs against the * committed truth file. * * Usage: * pnpm statsbomb:truth # the pinned commit below * pnpm statsbomb:truth -- --commit # a newer snapshot */ export declare const STATSBOMB_TRUTH_PATH: string; export declare const OPEN_DATA_REPO = "https://github.com/statsbomb/open-data"; export interface StatsBombTruth { source: { repo: string; commit: string; generated_at: string; matches: number; events: number; }; /** Field path (e.g. "shot.outcome") -> id (as string) -> name, as observed. */ fields: Record>; } export declare function generateStatsBombTruth(commit?: string): Promise; /** Which data fields each ID table in docs/statsbomb documents, by its heading. */ export declare const TABLE_FIELDS: Record; export interface StatsBombDoc { path: string; text: string; } export interface StatsBombViolation { path: string; line: number; message: string; } export declare function validateStatsBombDocs(docs: StatsBombDoc[], truth: StatsBombTruth): StatsBombViolation[]; export declare function loadStatsBombTruth(): StatsBombTruth;