import type { Unit } from "../units.ts"; import { type Span } from "./fields.ts"; import { type LeagueBase } from "./types.ts"; /** The figures of the ground, in the unit of the table they are in (yards). */ export interface CricketFigures { /** The pitch: its length (the distance between the bowling creases, which are its ends) and its width (5 feet either side of the line of the middle stumps). */ pitchLength: number; pitchWidth: number; /** The bowling crease's length; the popping crease's distance in front of it; how far the popping crease is marked either side of the line of the middle stumps (the creases are unlimited in length). */ bowlingCrease: number; poppingCrease: number; poppingEach: number; /** The return creases: their inside edges' distance either side of that line, and how far they are marked behind the popping crease. */ returnOutside: number; returnBehind: number; /** A set of wickets' width. */ wicket: number; /** The boundary, as its distance from the centre of the pitch: the range the rules allow and the one drawn. */ boundary: Span; /** The radius of the semicircles of the fielding restriction (the 30-yard circle) about each middle stump, or none. */ circle: number | null; /** The width of the lines: the Laws print none. */ lineWidth: number; } /** The ground as the drawing wants it: the figures with every length in feet. */ export type CricketSpec = CricketFigures; /** The ground's figures in feet, from the unit the Laws give them in. */ export declare const cricketInFeet: (figures: CricketFigures, unit: Unit) => CricketSpec; /** A league with a cricket ground of its own. */ export type CricketLeague = LeagueBase<"cricket", CricketFigures>; /** * The Laws of Cricket (MCC, 2017 Code, 4th Edition 2026): the pitch 22 yards by 10 feet (6.1); the bowling crease 8 ft 8 in (7.2); the popping crease 4 ft in front of it and marked at least 6 ft either side of * the line of the middle stumps (7.3); the return creases 4 ft 4 in either side of that line (inside edges), marked 8 ft behind the popping crease (7.4); a set of wickets 9 in wide (8.1). No boundary size * and no circle: the Laws have none (19), so the boundary is any size, 75 yards by default. The Laws print no width for the creases: 2 inches is drawn. */ export declare const MCC_GROUND: CricketFigures; /** * The ICC men's playing conditions (effective from October 2026): the Laws' pitch and creases (6.1, 7.2 to 7.4, 8.1), the popping crease marked at least 25 ft either side (7.3), a boundary no longer than 90 yards * and not shorter than 65 yards from the centre of the pitch (19.1.3), and the two semicircles of 30 yards about the middle stumps, linked by two parallel lines (28.7.2.1). 75 yards is drawn. */ export declare const ICC_MEN_GROUND: CricketFigures; /** The ICC women's playing conditions (ODI, effective from October 2026): a boundary of 60 to 70 yards (19.1.3) and semicircles of 25.15 yards (23 m, 28.7.2.1). 65 yards is drawn. */ export declare const ICC_WOMEN_GROUND: CricketFigures; /** The cricket leagues: the ICC men's conditions first (the ground with the 30-yard circle), then the women's and the Laws. */ export declare const CRICKET_LEAGUES: readonly CricketLeague[];