import type { Unit } from "../units.ts"; import { type LeagueBase } from "./types.ts"; /** The figures of an ice rink. Lengths, in the unit of the table they are in. */ export interface RinkFigures { /** End boards to end boards. */ length: number; width: number; /** The radius of the boards' corners. */ cornerRadius: number; /** The goal line, from the end boards. */ goalLine: number; /** The blue lines, from the end boards. */ blueLine: number; /** The face-off circles' radius. */ circleRadius: number; /** An end-zone face-off spot, from the goal line, and from the rink's long axis. */ endSpotFromGoalLine: number; spotOffset: number; spotRadius: number; /** A neutral-zone spot, from the blue line. */ neutralSpotFromBlue: number; centreSpotRadius: number; /** The hash marks beside an end-zone circle: how long, and how far apart; none when the rules give none. */ hash: { length: number; apart: number; } | null; /** The goal crease: the radius of its arc, how deep its straight sides are, half its width at the goal line, and where the short marks stand (from the goal line). */ crease: { radius: number; depth: number; halfWidth: number; mark: number | null; }; /** The goal net: its width and its depth. */ net: { width: number; depth: number; }; /** The goalkeeper's trapezoid behind the net, or none. */ trapezoid: { atBoards: number; atGoalLine: number; } | null; /** The referee's crease, a semicircle, or none. */ refereeCrease: number | null; /** The width of the goal line, the blue and red lines, and the face-off circles' lines. */ lineWidths: { goal: number; major: number; minor: number; }; } /** A rink as the drawing wants it: the figures with every length in feet. */ export type RinkSpec = RinkFigures; /** A rink's figures in feet, from the unit its rulebook gives them in. */ export declare const rinkInFeet: (figures: RinkFigures, unit: Unit) => RinkSpec; /** The NHL rink today, from `NHL` (geometry.ts). Rule 1 of the NHL rulebook. */ export declare const NHL_RINK: RinkFigures; /** A league with an ice rink of its own. */ export type HockeyLeague = LeagueBase<"hockey", RinkFigures>; /** The hockey leagues, the NHL first. */ export declare const HOCKEY_LEAGUES: readonly HockeyLeague[];