import type { KarateFigures } from "../leagues/budo.ts"; import { type MBox, type MMark, type Parts } from "./parts.ts"; import { type MatSize, type Piece } from "./tatami.ts"; /** The mat of a karate area: 1 m by 1 m, a WKF-approved mat's size (ours: the rules do not give it). */ export declare const KARATE_MAT: MatSize; /** What a karate plan is laid out from. */ export interface KarateOptions { fig: KarateFigures; across: number; down: number; officials: boolean; judges: boolean; seams: boolean; } /** What a karate plan is. */ export interface KarateLayout { parts: Parts; /** The mats, the competition areas and the safety area together. */ mats: MBox; extent: MBox; /** The competition areas (the matted squares of 8 m), left to right and top to bottom, and the inner square of each (without the outer band). */ areas: MBox[]; inner: MBox[]; gap: number; pieces: Piece[]; marks: MMark[]; } /** The plan of the karate area the options ask for. */ export declare function karateParts(o: KarateOptions): KarateLayout;