import type { HostOptions, Placement, Sport } from "./types.ts"; import type { Fence } from "./types.ts"; /** The words of a thing in both languages. */ export interface Words { en: string; ja: string; } /** A source a game was read from. */ export interface EventSource { id: string; title: string; /** The author and the publication, or the encyclopedia and its licence. */ by: string; /** The revision of an article of Wikipedia, or the date of a page. */ edition: string; url: string; /** What it gave. */ gave: string; } /** The ways a surface is placed when no source gives where it stood. */ export type PlacementRule = "infield" | "midfield" | "diamond" | "deck"; /** How the place of the surface was decided. */ export type PlacementBasis = { kind: "published"; note: Words; sources: string[]; } | { kind: "convention"; rule: PlacementRule; }; /** A game played on a surface set inside another. */ export interface SpecialEventData { /** The key: `winter-classic-2009`. */ id: string; name: Words; /** The day or days it was played, `YYYY-MM-DD`. */ dates: string[]; /** The venue's name when the game was played. */ venue: Words; /** The surface the game was played on, as the options of a drawing: its sport, its season and the fence or the league that makes it what it was. */ guest: { sport: Sport; year: number; league?: string; fence?: Partial; }; /** What it was set inside. */ host: HostOptions; placement: Placement; basis: PlacementBasis; /** Something about the game a reader of the drawing needs. */ note?: Words; /** The sources of the game: its date, its venue and the host. */ sources: string[]; } /** Every source, by key. Read on 2026-10-13. */ export declare const EVENT_SOURCES: Readonly>; /** The games, in the order they were played. `eventPlacement(rule)` in events.ts works out each convention's numbers; a test holds the numbers here to it. */ export declare const EVENT_DATA: SpecialEventData[];