export type ReviewCompareMode = 'verbose' | 'compact'; export type ReviewCompareRunStatus = 'not_run' | 'succeeded' | 'failed'; export interface ReviewComparePromptArtifactPaths { output_dir: string; verbose_prompt: string; compact_prompt: string; report: string; share_safe_report: string; } export interface ReviewCompareAnswerArtifactPaths { verbose: string; compact: string; } export interface ReviewCompareExecution { mode: ReviewCompareMode; promptFile: string; outputFile: string; command: string; } export interface ReviewCompareRunnerResult { exitCode: number; stdout: string; stderr: string; elapsedMs: number; } export interface ReviewCompareInput { graphPath: string; execTemplate: string; outputDir: string; baseBranch?: string; budget?: number; now?: Date; } export interface ReviewCompareReport { graph_path: string; base_branch: string; budget: number; changed_files: string[]; seed_count: number; supporting_path_count: number; test_path_count: number; hotspot_count: number; verbose_payload_tokens: number; compact_payload_tokens: number; payload_reduction_ratio: number; verbose_prompt_tokens: number; compact_prompt_tokens: number; reduction_ratio: number; verbose_effective_prompt_tokens: number; compact_effective_prompt_tokens: number; effective_reduction_ratio: number; verbose_reused_context_tokens: number; compact_reused_context_tokens: number; provider_proof?: { verbose: { input_tokens_source: 'estimated_cl100k_base'; effective_tokens_source: 'session_reuse_estimate'; total_tokens_source: 'not_available'; }; compact: { input_tokens_source: 'estimated_cl100k_base'; effective_tokens_source: 'session_reuse_estimate'; total_tokens_source: 'not_available'; }; reduction_basis: 'estimated'; }; started_at: string; completed_at: string; elapsed_ms: Record; status: Record; answer_paths: ReviewCompareAnswerArtifactPaths; exit_code: Record; stderr: Record; paths: ReviewComparePromptArtifactPaths; } export interface ReviewCompareResult { graph_path: string; output_root: string; report: ReviewCompareReport; } export interface ExecuteReviewCompareRunsDependencies { runner?: (execution: ReviewCompareExecution) => Promise; now?: () => Date; } export declare function generateReviewCompareArtifacts(input: ReviewCompareInput): ReviewCompareResult; export declare function executeReviewCompareRuns(input: ReviewCompareInput, dependencies?: ExecuteReviewCompareRunsDependencies): Promise; export declare function formatReviewCompareSummary(result: ReviewCompareResult): string; export declare function runReviewCompareCommand(input: ReviewCompareInput, dependencies?: ExecuteReviewCompareRunsDependencies): Promise;