/** Club selection for a roadmap ticket (mirrors core ClubSelection) */ export type RoadmapClub = 'driver' | 'long_iron' | 'short_iron' | 'wedge' | 'putter'; /** A single ticket within a sprint */ export interface RoadmapTicket { key: string; title: string; club: RoadmapClub; complexity: 'trivial' | 'small' | 'standard' | 'moderate'; depends_on?: string[]; } /** A sprint within the roadmap */ export interface RoadmapSprint { id: number; theme: string; par: 3 | 4 | 5; slope: number; type: string; tickets: RoadmapTicket[]; depends_on?: number[]; } /** A phase grouping sprints */ export interface RoadmapPhase { name: string; sprints: number[]; } /** Top-level roadmap definition */ export interface RoadmapDefinition { name: string; description?: string; phases: RoadmapPhase[]; sprints: RoadmapSprint[]; } export interface RoadmapValidationError { type: 'error'; sprint?: number; ticket?: string; message: string; } export interface RoadmapValidationWarning { type: 'warning'; sprint?: number; ticket?: string; message: string; } export interface RoadmapValidationResult { valid: boolean; errors: RoadmapValidationError[]; warnings: RoadmapValidationWarning[]; } /** Validate a roadmap definition for structural correctness */ export declare function validateRoadmap(roadmap: RoadmapDefinition): RoadmapValidationResult; export interface CriticalPathResult { path: number[]; length: number; totalPar: number; } /** Compute the critical path (longest dependency chain) through the roadmap */ export declare function computeCriticalPath(roadmap: RoadmapDefinition): CriticalPathResult; export interface ParallelGroup { sprints: number[]; reason: string; } /** Find sprints that can run in parallel (no mutual dependencies) */ export declare function findParallelOpportunities(roadmap: RoadmapDefinition): ParallelGroup[]; /** Parse and validate a roadmap from a JSON object */ export declare function parseRoadmap(json: unknown): { roadmap: RoadmapDefinition | null; validation: RoadmapValidationResult; }; /** Format a roadmap summary as markdown */ export declare function formatRoadmapSummary(roadmap: RoadmapDefinition): string; /** Format strategic context for briefings — concise 3-5 line summary */ export declare function formatStrategicContext(roadmap: RoadmapDefinition, currentSprint: number): string | null; //# sourceMappingURL=roadmap.d.ts.map