interface HandlerCoverage { file: string; line: number; status: 'native' | 'migratable' | 'explicit-foreign' | 'heuristic-foreign' | 'template-placeholder' | 'blocked' | 'empty'; reason: string; } interface SelfCoverageReport { root: string; scannedFiles: number; filesWithParseErrors: number; parseErrors: Array<{ file: string; line: number; message: string; }>; totalHandlers: number; nativeHandlers: number; rawHandlers: number; emptyRawHandlers: number; migratableRawHandlers: number; explicitForeignHandlers: number; heuristicForeignHandlers: number; templatePlaceholderHandlers: number; blockedHandlers: number; nativeAuthoredPct: number | null; classifiedOrMigratablePct: number | null; blockers: Array<{ reason: string; count: number; pctOfBlocked: number; }>; handlers: HandlerCoverage[]; } export declare function collectSelfCoverage(rootDir: string, opts?: { canonicalizeBraces?: boolean; }): SelfCoverageReport; export declare function runSelfCoverage(args: string[]): Promise; export {};