import { type EventSource, type PlacementRule, type SpecialEventData } from "./events.data.ts"; import { type Fit } from "./special.ts"; import type { HostOptions, Language, Placement, SurfaceOptions } from "./types.ts"; export { EVENT_SOURCES } from "./events.data.ts"; export type { EventSource, PlacementBasis, PlacementRule, SpecialEventData, Words } from "./events.data.ts"; export { INFIELD_CENTRE, fitOf, guestToHost, hostOutline, placementOf } from "./special.ts"; export type { Fit } from "./special.ts"; /** A special game: a game played on a surface set inside another. */ export type SpecialEvent = SpecialEventData; /** * The special games, by key, in the order they were played: the NHL's outdoor games in ballparks and football stadiums, a college basketball game on the * deck of a carrier and Major League Baseball in London. Each has its dates, its venue, what its surface was set inside and where, and the sources of all of it. * @example * ```ts * import { EVENTS, EVENT_IDS } from "@johnmorrisdotca/kyogijo-stadiums/events"; * const { name, dates, venue } = EVENTS["winter-classic-2009"]; * console.log(name.en, dates[0], venue.en, EVENT_IDS.length); * // 2009 NHL Winter Classic 2009-01-01 Wrigley Field 18 * ``` */ export declare const EVENTS: Readonly>; /** The keys of `EVENTS`, in the order the games were played. */ export declare const EVENT_IDS: readonly string[]; /** The game with a key, or `undefined`. */ export declare const eventById: (id: string | undefined) => SpecialEvent | undefined; /** * The options that draw a game: its sport and season, its host and where its surface stands in it. Spread them into `drawKyogijo` with a score or without. * @example * ```ts * import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums"; * import { eventOptions } from "@johnmorrisdotca/kyogijo-stadiums/events"; * const svg = drawKyogijo({ ...eventOptions("winter-classic-2009") }); * console.log(svg.includes("2009 NHL Winter Classic"), svg.includes("Wrigley Field")); * // true true * ``` */ export declare function eventOptions(id: string): SurfaceOptions; /** The sources of a game, in the order they are listed in its entry. */ export declare function eventSources(event: SpecialEvent): EventSource[]; /** * The place a convention gives a surface in its host, in the host's frame: `midfield` the middle of the host's field, `deck` the middle of the deck, both with the surface as it lies; * `infield` the middle of a ballpark's infield, with the surface's length across the field from first base to third; `diamond` a ballpark's infield on the middle of the host. */ export declare function conventionPlacement(rule: PlacementRule, host: HostOptions, o?: Pick): Placement; /** How a game's surface sits in its host: wholly inside its outline, or the share of it that lies outside. For a ballpark the outline is the fair ground inside the fence. */ export declare const eventFit: (id: string) => Fit; /** * What a drawing of a special game says: its title, and the sentences added to the description (the game and its day, where the surface stands and how that was decided, * and whether the surface lies inside the host). `undefined` for a drawing with no host. */ export declare function specialText(o: SurfaceOptions, language: Language, guestName?: string): { title: string; text: string; } | undefined;