import type { Sport } from "./types.ts"; /** A part of a surface that can be coloured on its own. */ export interface Feature { /** What a caller names it by: `blue-lines`. */ name: string; /** * What its colour is given to: the custom properties the part is painted with (`--ky-red`), or a CSS property (`stroke`) for a part the stylesheet paints in a * colour that is not a property. */ props: readonly string[]; /** What it is, for the docs. */ about: string; } /** The features of each sport, with what each colours. A sport whose surface has none named (one added since) is missing here. */ export declare const FEATURE_INFO: Readonly>; /** * The names of the features of each sport: the keys `featureColors` takes. Football's three fields have the same, and so have the five net sports. * @example * ```ts * import { FEATURES } from "@johnmorrisdotca/kyogijo-stadiums"; * console.log(FEATURES.nhl.includes("blue-lines"), FEATURES.nfl.length); * // true 12 * ``` */ export declare const FEATURES: Readonly>; /** The features a drawing was asked to colour, as `[name, colour]`: a colour that is not safe is left out, and a name the sport does not have is an error that lists the names. */ export declare function featureColours(sport: Sport | string, given: Readonly> | undefined): [string, string][]; /** The rules for the features a drawing colours: its own stylesheet, for a drawing of one sport. */ export declare function featureStyle(sport: Sport | string, names: Iterable): string; /** The rules of every named feature: a colour in `--ky-f-` on the drawing goes to the part. A drawing that colours a feature carries the rules it needs; a page that draws with `style: "none"` puts this in once. */ export declare const KYOGIJO_FEATURE_STYLE: string;