import type { Shape } from "../fields.types.ts"; import { type Facility } from "./facilities.ts"; import { type Parts } from "./oval.ts"; import type { Oval } from "./track.ts"; import type { AthleticsFieldEvent } from "./types.ts"; /** The sectors' lengths (Manual 2.1.1.3 and Figures 2.4.1.1, 2.4.2.1, 2.4.3.1, 2.4.4.1): the shot's 25 m, the discus's 80 m, the hammer's 90 m, the javelin's 100 m. */ export declare const SECTOR_REACH: { readonly "shot-put": 25; readonly "discus-throw": 80; readonly "hammer-throw": 90; readonly "javelin-throw": 100; }; /** Where the standard stadium puts each facility, in metres from the centre of the semicircle of its segment (CP1 at the left, CP2 at the right), read from the Marking Plan. */ export declare const ARENA: { /** The synthetic surface of a segment ends, and the turf of the infield begins, this far from the semicircle's centre along the straights' axis (Marking Plan; 108.39 m of turf between: a 105 m pitch fits). */ readonly turf: 12; /** The javelin arc's apex is this far beyond the segment's centre; the centre point is 8 m behind it. */ readonly javelinApex: number; /** The shot put circles: from the segment's centre outward along the axis, and the distance up or down. */ readonly shotWest: { readonly out: 13.5; readonly across: 18.15; }; readonly shotEast: { readonly out: 14.2; readonly across: 18.5; }; /** The combined discus and hammer circle of the second segment. */ readonly discus: { readonly out: 20.4; readonly across: -24.1; readonly heading: number; }; /** The two pole vault runways of the first segment: their middle lines, the boxes' places and the length, from the axis. */ readonly vaultA: { readonly out: 23.26; readonly box: 16.5; }; readonly vaultB: { readonly out: 15.82; readonly box: 20.7; }; readonly vaultReach: 26; /** The high jumps: the bar's distance beyond the segment's centre and the distance of each from the axis (the spacing of two sets of uprights is 12 to 15 m: 13.5 m). */ readonly highJump: { readonly out: 15; readonly across: 6.75; }; /** The long and triple jump beyond the back straight (Figure 2.5a, Marking Plan): the strip, the two runways' middle lines, and the pits' places along the straight. */ readonly strip: { readonly x0: -45.6; readonly x1: 46.2; readonly y0: -56.6; }; readonly rows: readonly [{ readonly y: -54.2; readonly west: readonly [-39.7, -31.7]; readonly east: readonly [23, 31.1]; }, { readonly y: -50.4; readonly west: readonly [-30.9, -22.9]; readonly east: readonly [31.9, 40]; }]; }; /** What the infield is made of: shapes and areas, the facilities as data, and the box of what lies beyond the oval. */ export interface Infield { parts: Parts; facilities: Facility[]; } /** The standard stadium's field events, those asked for. */ export declare function infieldParts(o: Oval, events: ReadonlySet): Infield; /** The strip beyond the back straight where the long and the triple jumps are, as a box, when they are drawn. */ export declare const jumpStrip: () => { x0: number; y0: number; x1: number; y1: number; }; export type { Shape };