/** * Orchestration status computation. * * Provides status aggregation for epics, overall project state, * progress metrics, and orchestration check state. * * @task T5702 */ import type { Task } from '@cleocode/contracts'; /** Status counts by task state. */ export interface StatusCounts { pending: number; active: number; blocked: number; done: number; cancelled?: number; } /** Epic-specific status result. */ export interface EpicStatus { epicId: string; epicTitle: string; totalTasks: number; byStatus: StatusCounts; waves: number; currentWave: number | null; } /** Overall orchestration status (no specific epic). */ export interface OverallStatus { totalEpics: number; totalTasks: number; byStatus: StatusCounts; } /** Progress metrics for orchestration check. */ export interface ProgressMetrics { total: number; done: number; pending: number; blocked: number; active: number; percentComplete: number; } /** Startup summary for an epic. */ export interface StartupSummary { epicId: string; epicTitle: string; initialized: boolean; summary: { totalTasks: number; totalWaves: number; readyTasks: number; byStatus: StatusCounts; }; firstWave: import('./waves.js').Wave | null; } /** * Count tasks by status. */ export declare function countByStatus(tasks: Task[]): StatusCounts; /** * Compute epic-specific status. * * @param epicId - The epic task ID * @param epicTitle - The epic title * @param children - Child tasks of the epic * @returns Epic status with wave information */ export declare function computeEpicStatus(epicId: string, epicTitle: string, children: Task[]): EpicStatus; /** * Compute overall orchestration status across all tasks. * * @param tasks - All tasks in the project * @returns Overall status with epic count */ export declare function computeOverallStatus(tasks: Task[]): OverallStatus; /** * Compute progress metrics for all tasks. * * @param tasks - All tasks to measure * @returns Progress metrics with completion percentage */ export declare function computeProgress(tasks: Task[]): ProgressMetrics; /** * Compute startup summary for an epic. * * @param epicId - The epic task ID * @param epicTitle - The epic title * @param children - Child tasks of the epic * @param readyCount - Number of ready tasks * @returns Startup summary with wave information */ export declare function computeStartupSummary(epicId: string, epicTitle: string, children: Task[], readyCount: number): StartupSummary; //# sourceMappingURL=status.d.ts.map