import type { ReviewType } from './types.js'; export type SpecialistType = 'backend' | 'ml-engineer' | 'database' | 'frontend' | 'ux-designer'; export type InitiativeSprintPhase = 'pending' | 'planning' | 'plan_review' | 'executing' | 'scoring' | 'pr_review' | 'complete'; export interface ReviewGateConfig { plan: { required: ReviewType[]; specialists: 'auto' | SpecialistType[]; }; pr: { required: ReviewType[]; }; } export interface ReviewRecord { reviewer: SpecialistType | ReviewType; completed: boolean; findings_count: number; reviewer_mode: 'manual' | 'auto'; } export interface InitiativeSprintStatus { sprint_number: number; phase: InitiativeSprintPhase; plan_reviews: ReviewRecord[]; pr_reviews: ReviewRecord[]; scorecard?: string; pr_url?: string; branch?: string; } export interface InitiativeDefinition { name: string; description: string; roadmap: string; review_gates: ReviewGateConfig; sprints: InitiativeSprintStatus[]; } export interface ReviewChecklistItem { question: string; category: string; } export interface ReviewChecklistContext { sprint_number: number; ticket_count: number; slope: number; file_patterns: string[]; has_new_infra: boolean; description?: string; } export declare function getNextPhase(current: InitiativeSprintPhase): InitiativeSprintPhase | null; export declare function canAdvance(sprint: InitiativeSprintStatus, gates: ReviewGateConfig): { ok: true; } | { ok: false; reason: string; }; export declare function selectSpecialists(tickets: Array<{ title: string; description?: string; filePatterns?: string[]; }>): SpecialistType[]; export type ReviewChecklistType = ReviewType | SpecialistType; export type ReviewGate = 'plan' | 'pr'; export declare function getReviewChecklist(reviewerType: ReviewChecklistType, gate: ReviewGate, _context?: ReviewChecklistContext): ReviewChecklistItem[]; export declare function loadInitiative(cwd: string): InitiativeDefinition | null; export declare function saveInitiative(cwd: string, initiative: InitiativeDefinition): void; export declare function createInitiative(name: string, description: string, roadmapPath: string, cwd: string, gatesOverride?: Partial): InitiativeDefinition; export declare function advanceSprint(cwd: string, sprintNumber: number): { phase: InitiativeSprintPhase; previous: InitiativeSprintPhase; }; export declare function recordReview(cwd: string, sprintNumber: number, gate: ReviewGate, reviewer: ReviewChecklistType, findingsCount?: number): void; export declare function getNextSprint(initiative: InitiativeDefinition): InitiativeSprintStatus | null; export declare function formatInitiativeStatus(initiative: InitiativeDefinition): string; //# sourceMappingURL=initiative.d.ts.map