import { type KyogijoReplay } from "./mount.ts"; import { type KyogijoTurn } from "./turn.dom.ts"; import type { TurnSettings } from "./turn.model.ts"; import type { ReplaySettings, ReplayTimeline } from "./replay.types.ts"; import type { ScoreOptions, SurfaceOptions } from "./types.ts"; /** The tag of the element. */ export declare const KYOGIJO_TAG = "kyogijo-field"; /** The attributes the element reads. */ export declare const KYOGIJO_ATTRIBUTES: readonly ["sport", "league", "size", "theme", "language", "orientation", "park", "ground", "arena", "year", "detail", "margin", "stripes", "exact-lines", "uppercase", "pitch", "pitch-type", "half", "range", "range-end", "goals", "stripe-pattern", "corner-flags", "look", "line-width", "line-dash", "line-opacity", "landmarks", "walls", "quirks", "home", "away", "home-abbr", "away-abbr", "home-score", "away-score", "home-penalties", "away-penalties", "score", "home-logo", "away-logo", "home-flag", "away-flag", "home-color", "away-color", "status", "competition", "date", "label", "winner", "home-side", "pageant", "description", "options", "loop", "speed", "autoplay", "controls", "trail", "turn", "turn-view", "turn-controls", "turn-uprights", "turn-score", "turn-touch", "turn-venue", "turn-roof", "turn-autoplay", "turn-speed"]; /** The settings of a 3D view an element's attributes make: `turn-view` names the viewpoint it opens on, `turn-controls="false"` and `turn-uprights="false"` leave the buttons and what stands on the surface out, `turn-score="floor"` leaves the score panel on the floor, `turn-touch="turn"` keeps every touch for the view, `turn-venue="false"` leaves out the stands and the room (they are raised for a drawing with a crowd and for a dojo), `turn-roof` puts a roof or canopy over the stands, `turn-autoplay` starts the auto-turn (`force` even for a reader who prefers reduced motion) and `turn-speed` is its degrees a second. */ export declare function turnSettingsFromAttributes(read: (name: string) => string | null, base?: TurnSettings): TurnSettings; /** Whether an element's `turn` attribute asks for the 3D view: present, and not `false`. */ export declare const turnWanted: (read: (name: string) => string | null) => boolean; /** The settings of a replay an element's attributes make: `loop`, `autoplay` and `controls="false"` are switches, `speed` and `trail` numbers. */ export declare function replaySettingsFromAttributes(read: (name: string) => string | null, base?: ReplaySettings): ReplaySettings; /** The options an element's attributes (and its `options` attribute and property) make. */ export declare function optionsFromAttributes(read: (name: string) => string | null, base?: Partial): SurfaceOptions | ScoreOptions; /** * ``: a surface, or a score on one, as a standard custom element. The drawing is in an open shadow root, * its parts named (`svg`, `surface`, `plate`, `team`, `home`, `away`, `score`, `home-score`, `away-score`, `badge`), so that a page * styles them with `kyogijo-field::part(plate)` and sets the colours with custom properties (`--ky-left`, `--ky-plate`, ...) * on the element. With `orientation="auto"` it lies tall or wide with its box. */ declare const Base: typeof HTMLElement; export declare class KyogijoField extends Base { #private; static observedAttributes: readonly ["sport", "league", "size", "theme", "language", "orientation", "park", "ground", "arena", "year", "detail", "margin", "stripes", "exact-lines", "uppercase", "pitch", "pitch-type", "half", "range", "range-end", "goals", "stripe-pattern", "corner-flags", "look", "line-width", "line-dash", "line-opacity", "landmarks", "walls", "quirks", "home", "away", "home-abbr", "away-abbr", "home-score", "away-score", "home-penalties", "away-penalties", "score", "home-logo", "away-logo", "home-flag", "away-flag", "home-color", "away-color", "status", "competition", "date", "label", "winner", "home-side", "pageant", "description", "options", "loop", "speed", "autoplay", "controls", "trail", "turn", "turn-view", "turn-controls", "turn-uprights", "turn-score", "turn-touch", "turn-venue", "turn-roof", "turn-autoplay", "turn-speed"]; /** The options given as a property: an object, laid under the attributes. */ get options(): Partial | undefined; set options(value: Partial | undefined); /** Tracking data to play on the surface, as a property (a timeline is too large for an attribute). Controls appear under the drawing. */ get timeline(): ReplayTimeline | undefined; set timeline(value: ReplayTimeline | undefined); /** Settings of the replay beyond the attributes: `motion`, `hold`, `numbers`, `stepSeconds` and the rest of `ReplaySettings`. */ get replaySettings(): ReplaySettings | undefined; set replaySettings(value: ReplaySettings | undefined); /** The controller of the replay while there is one: play, pause, seek, step, speed. */ get replay(): KyogijoReplay | undefined; /** Settings of the 3D view beyond the attributes: `motion`, `lens`, `floor`, `onChange` and the rest of `TurnSettings`. */ get turnSettings(): TurnSettings | undefined; set turnSettings(value: TurnSettings | undefined); /** The 3D view while the element has the `turn` attribute: its viewpoints, `set`, `reset`. */ get turn(): KyogijoTurn | undefined; connectedCallback(): void; disconnectedCallback(): void; attributeChangedCallback(name: string): void; } /** Register `` (or the tag you give), once. Returns the class. */ export declare function defineKyogijoField(tag?: string): typeof KyogijoField; export {};