import { type GenerateGraphResult } from '../generate.js'; import type { SpiCacheStats } from '../../pipeline/spi/cache.js'; export type GeneratePerformanceVariantName = 'generate-legacy' | 'generate-spi-cold' | 'generate-spi-warm' | 'update-noop' | 'update-changed' | 'cluster-only'; export interface GeneratePerformanceVariantSummary { mode: GenerateGraphResult['mode']; strategy: 'legacy' | 'spi'; wall_clock_ms: number; total_files: number; code_files: number; non_code_files: number; extractable_files: number; extracted_files: number; changed_files: number; deleted_files: number; node_count: number; edge_count: number; output_size_bytes: number; graph_size_bytes: number; cache_hit: boolean | null; cache_reason: SpiCacheStats['reason'] | null; cache_file_count: number | null; notes: string[]; } export interface RunGeneratePerformanceBenchmarkOptions { fixtureRoot: string; workDir: string; } export interface GeneratePerformanceBenchmarkSummary { schema_version: 1; fixture_path: string; work_dir: string; metrics_tracked: string[]; variants: Record; } export declare function directorySize(path: string): number; export declare function runGeneratePerformanceBenchmark(options: RunGeneratePerformanceBenchmarkOptions): GeneratePerformanceBenchmarkSummary;