import type { StripePattern } from "./types.ts"; /** A rectangle of turf. */ export interface Turf { x: number; y: number; w: number; h: number; } /** The lighter tone of a mowing pattern: one path, whether it must be cut to the turf, and whether its rings are cut out of each other (`fill-rule: evenodd`). */ export interface Mown { path: string; /** True when the path runs past the turf and a clip path of the turf must cut it. */ clip: boolean; evenodd: boolean; } /** An odd whole number of cells nearest to a length over a cell: odd, so that both ends of the turf are mown alike. */ export declare const oddCells: (length: number, cell: number) => number; /** * The lighter tone of a pattern on a rectangle of turf. `band` is the width of the usual stripe, along x; `wide` and `narrow` are twice and half of it. * `bands` run across the turf (side by side along x), `lengthwise` along it, `checks` are squares of about `band`, `diagonal` are 45-degree stripes * `band` wide across, and `circles` are rings `band` wide about the middle. A pattern that is not one of these (`none`, `rings`, `fan`) has no tone here. */ export declare function mowTurf(pattern: StripePattern, turf: Turf, band: number): Mown; /** A ballpark's fair ground, as the field of its stripes: how far it reaches either side of the line to centre field and how far out. */ export interface Park { umin: number; umax: number; vmax: number; } /** * The lighter tone of a pattern on a ballpark: coordinates are the field's screen frame (x across, y minus the distance out from home plate). `band` is * 30 feet, the width of a stripe of the usual rings. `bands` run across the field at fixed distances out from home, `lengthwise` along the line to centre * field, `checks` are squares, `diagonal` run at 45 degrees, `fan` is wedges out from home plate, 6 degrees each. `rings` and `circles` are the park's own * arcs about home plate (drawn by the field itself) and `none` is plain, so they have no tone here. The path runs past the fence and must be cut to the fair ground. */ export declare function mowPark(pattern: StripePattern, park: Park, band?: number): Mown;