import { type Env, type Made } from "./layers.env.ts"; import { type P } from "./layers.marks.ts"; import { type TeamTable } from "./team.common.ts"; import type { NetworkLayer } from "./team.types.ts"; /** A player of the network. */ export interface Node { key: string; id: string | number; team: string; name: string; number: string; made: number; received: number; touches: number; /** Where he is, on the surface (feet), or undefined with no place to average. */ at: P | undefined; /** Where he is, in the layer's own numbers. */ given: P | undefined; } /** A link between two players. */ export interface Link { a: Node; b: Node; n: number; team: string; } /** What a network worked out from its passes. */ export interface Network { nodes: Node[]; links: Link[]; passes: number; skipped: number; /** Passes between players with no place, which no link can be drawn for. */ unplaced: number; minPasses: number; directed: boolean; } /** Count the passes into nodes and links, average the places and put them on the surface. */ export declare function computeNetwork(layer: NetworkLayer, env: Env): Network; /** What a player is called in a sentence: his name, else his number, else his id. */ export declare const nodeName: (n: Node) => string; export declare function drawNetwork(layer: NetworkLayer, env: Env): Made; export declare function networkTables(layer: NetworkLayer, env: Env): TeamTable[];