import type { SwimPlan } from "../pool.ts"; import { type PoolCtx, type PoolIds } from "../pool.kit.ts"; import { type BuildOptions, type Mark, type Surface } from "./surface.ts"; /** The swimming pool lying wide, before its deck and view: the water and the gutter, and the lines, ropes and fixtures over them, in feet from the pool's top left corner. */ export interface SwimBody { /** The gutter and the water. */ base: string; /** The markings on the floor, the ropes and the fixtures. */ lines: string; /** The labels of the parts to name, in feet. */ marks: Mark[]; /** Where the lane markings end: kept for the lineRef. */ line: number; } /** The gutter round the water, in metres: the width of the coping the pool is drawn with. */ export declare const GUTTER = 0.4; /** * The body of a swimming pool: every figure is the rules' (`SWIMMING`, pool.figures.ts). The lane markings on the floor are 46 m (21 m in a 25 m pool) long and end 2 m from the walls in a cross line 1 m long (Part Two 15.13.1 and 15.13.2); a * cross line 0.5 m long at 15 m from each end; the touch panels 2.4 m wide at the walls with the target lines; the ropes in the rules' colours with red floats within 5 m of the walls and a mark at 15 m and 25 m; * the starting blocks with their lane numbers; the backstroke flags 5 m from each end, and the false start rope 15 m from the starting end. */ export declare function swimBody(o: BuildOptions, plan: SwimPlan, ids: PoolIds): SwimBody; /** * A swimming pool lying wide with its deck: the body, the deck round it in the colour or the tiles asked for, the data of a race at the walls and over the water, and a side section under the plan if * it is asked for. The pool's water is the surface's `box`; the deck is the margin. */ export declare function swimming(o: BuildOptions, plan: SwimPlan, ctx?: PoolCtx): Surface;