import type { GolfScorecard, AgentBreakdown, RollingStats } from './types.js'; /** Per-role handicap card — how a specific agent role performs across sprints */ export interface RoleHandicap { role: string; sprints_participated: number; total_shots: number; stats: RollingStats; } /** Swarm efficiency metrics for a set of sprints */ export interface SwarmEfficiency { total_sprints: number; total_agents: number; avg_agents_per_sprint: number; total_shots: number; total_score: number; avg_score_vs_par: number; coordination_events: number; efficiency_ratio: number; } /** Cross-agent dispersion — which role combinations produce results */ export interface RoleCombinationStats { roles: string[]; sprint_count: number; avg_score_vs_par: number; total_hazards: number; } /** Complete team handicap report */ export interface TeamHandicapCard { overall: RollingStats; by_role: RoleHandicap[]; swarm_efficiency: SwarmEfficiency; role_combinations: RoleCombinationStats[]; } /** * Extract per-role agent breakdowns from scorecards that have agents data. * Groups all agent shot data by role across multiple sprints. */ export declare function extractRoleData(scorecards: GolfScorecard[]): Map; /** * Compute per-role handicap from agent breakdowns across sprints. */ export declare function computeRoleHandicap(role: string, breakdowns: AgentBreakdown[]): RoleHandicap; /** * Compute swarm efficiency across a set of scorecards. * Efficiency ratio = productive shots / (total shots + coordination events). */ export declare function computeSwarmEfficiency(scorecards: GolfScorecard[], coordinationEvents?: number): SwarmEfficiency; /** * Analyze which role combinations produce the best results. * Groups sprints by the set of roles present and computes averages. */ export declare function analyzeRoleCombinations(scorecards: GolfScorecard[]): RoleCombinationStats[]; /** * Build a complete team handicap card from scorecards. * Includes overall rolling stats, per-role handicap, swarm efficiency, * and role combination analysis. */ export declare function computeTeamHandicap(scorecards: GolfScorecard[], coordinationEvents?: number): TeamHandicapCard; //# sourceMappingURL=team-handicap.d.ts.map