import type { Side, Sport } from "./types.ts"; import type { PlateSpot, Zone } from "./surfaces/surface.ts"; /** A team as it is drawn: everything decided, nothing left to look up. */ export interface TeamView { side: Side; /** The name, in capitals if asked. */ name: string; abbr: string; score: string; /** The logo as an image address, or `undefined`. */ logo: string | undefined; /** The team's mark is round: its logo in a circle with a ring, or, with no logo, its initials on its colour (`color`). */ round?: boolean; fit?: "cover" | "contain"; color?: string; ink?: string; state: "win" | "lose" | "none"; /** The role in the game, for part names. */ role: "home" | "away"; /** Curling: the score of each end, written; and whether the team has the hammer. */ ends?: string[]; hammer?: boolean; /** The net sports: the score in each set, the tie-break points of each set, the points of the game in progress, and whether the team is serving. */ sets?: string[]; tiebreaks?: string[]; points?: string; serving?: boolean; /** Cricket: the wickets lost, the overs faced and the score of each innings, written. */ wickets?: string; overs?: string; innings?: string[]; /** Judo, karate, kendo and sumo: what the side scored, as the sport counts it. */ budo?: import("./budo.score.ts").BudoView; } /** * A team's name and logo in its place. The place is a box in the surface's own frame; the words are set as the eye * sees them, turned by `rot` (or a quarter back when the whole surface is turned). */ export declare function bannerMarkup(zone: Zone, team: TeamView, o: { turned: boolean; onColour: boolean; parts: boolean; id?: string; }): string; /** The words under or over the score. */ export interface PlateWords { competition?: string; /** The foot of the plate: the status and the date, or the label that replaces them. */ foot?: string; } /** The score, large, on a panel in the middle of the surface. */ export declare function plateMarkup(spot: PlateSpot, left: TeamView, right: TeamView, words: PlateWords, o: { turned: boolean; parts: boolean; surfaceSport: Sport; }): string; /** A small picture of each sport's surface, for the badge: strokes in a box 36 wide and 20 tall, centred on the origin. */ export declare function glyph(sport: Sport): string; /** The state each of two scores puts its team in. */ export declare function stateOf(winner: "home" | "away" | "none", role: "home" | "away"): "win" | "lose" | "none"; /** The badge: one strip, [logo abbreviation score] [picture and status] [score abbreviation logo]. */ export declare function badgeMarkup(left: TeamView, right: TeamView, o: { sport: Sport; status: string | undefined; turned?: boolean; parts: boolean; id?: string; situation?: string; }): { w: number; h: number; markup: string; };