import { S as StageId } from '../stage-zMHyjRAs.js'; /** * Check result interface */ interface CheckResult { passed: boolean; message: string; details?: string; } /** * Checklist item interface */ interface ChecklistItem { id: string; description: string; check: () => Promise; required: boolean; category: 'input' | 'mcp' | 'cli' | 'output' | 'test' | 'git' | 'checkpoint' | 'multimodel'; } /** * Stage checklist interface */ interface StageChecklist { stage: StageId; items: ChecklistItem[]; results: Map; } /** * Checklist run result */ interface ChecklistRunResult { passed: boolean; summary: string; blockers: string[]; totalChecks: number; passedChecks: number; failedChecks: number; warningChecks: number; } /** * Stage config from stage_checklist.jsonc */ interface StageConfig { description: string; ai_model: { primary: string; secondary: string | null; execution: 'parallel' | 'single'; }; required_mcp: string[]; optional_mcp?: string[]; fallback_mcp?: Record; required_cli: string[]; required_inputs: string[]; required_outputs: string[]; critical_outputs?: string[]; validation_rules?: Record; smoke_tests?: TestConfig[]; regression_tests?: TestConfig[]; test_commands?: TestConfig[]; coverage_requirements?: { statements: number; branches: number; functions: number; lines: number; }; security_checks?: string[]; deployment_checks?: { name: string; description: string; }[]; git_commit_required: boolean; git_commit_format: string | null; checkpoint_required: boolean; checkpoint_trigger: string | null; } interface TestConfig { name: string; command: string; timeout?: number; required: boolean; coverage_threshold?: number; description?: string; } interface StageChecklistConfig { version: string; global_settings: { block_on_failure: boolean; allow_force_override: boolean; require_justification_on_override: boolean; }; stages: Record; cli_output_mapping: Record; } /** * Create checklist items for a stage */ declare function createChecklist(projectRoot: string, stage: StageId, config: StageChecklistConfig): StageChecklist; /** * Run checklist validation */ declare function runChecklist(checklist: StageChecklist): Promise; /** * Validate a stage */ declare function validateStage(projectRoot: string, stageId: StageId): Promise; /** * Check if transition is allowed */ declare function canTransitionTo(projectRoot: string, currentStage: StageId, nextStage: StageId | 'completed'): Promise<{ allowed: boolean; reason?: string; }>; /** * Save validation results */ declare function saveValidationResults(projectRoot: string, stageId: StageId, result: ChecklistRunResult): Promise; /** * CLI entry point */ declare function main(): Promise; export { type CheckResult, type ChecklistItem, type ChecklistRunResult, type StageChecklist, canTransitionTo, createChecklist, main, runChecklist, saveValidationResults, validateStage };