import type { AnalysisReport, JSONReportOptions } from './interfaces/index.js'; export interface JSONReport { id: string; name: string; url: string; duration_ms: number; frames: { total: number; dropped: number; avg_fps: number; frame_budget_ms: number; }; phase_breakdown: { style_recalc_ms: number; layout_ms: number; paint_ms: number; composite_ms: number; gpu_ms: number; }; hotspots: { layout_thrashing: LayoutThrashingHotspotJSON[]; gpu_stalls: GPUStallHotspotJSON[]; long_tasks: LongTaskHotspotJSON[]; heavy_paints: HeavyPaintHotspotJSON[]; }; detections: DetectionJSON[]; suggestions: SuggestionJSON[]; metadata: { browser_version: string; user_agent: string; viewport: { width: number; height: number; }; device_pixel_ratio: number; timestamp: string; scenario: string; fps_target: number; report_generated_at: string; render_debugger_version: string; }; summary: { total_issues: number; critical_issues: number; high_issues: number; warning_issues: number; info_issues: number; total_suggestions: number; estimated_total_speedup_pct: number; }; } interface LayoutThrashingHotspotJSON { selector: string; reflow_cost_ms: number; occurrences: number; affected_nodes: number; } interface GPUStallHotspotJSON { element: string; stall_ms: number; occurrences: number; stall_type?: string; } interface LongTaskHotspotJSON { function: string; file: string; line: number; cpu_ms: number; occurrences: number; correlated_frame_drops?: number; } interface HeavyPaintHotspotJSON { paint_time_ms: number; raster_time_ms: number; layer_count: number; occurrences: number; } interface DetectionJSON { type: string; severity: string; description: string; location: { file?: string; line?: number; column?: number; selector?: string; element?: string; }; metrics: { duration_ms: number; occurrences: number; impact_score: number; confidence?: string; estimated_speedup_pct?: number; frame_budget_impact_pct?: number; }; details: Record; } interface SuggestionJSON { id: string; type: 'css' | 'js' | 'native'; target: string; description: string; patch: string; estimated_speedup_pct: number; speedup_explanation: string; confidence: string; warnings: string[]; affected_files: string[]; } export declare class JSONReporter { private readonly version; generate(report: AnalysisReport, options?: JSONReportOptions): string; private buildJSONReport; private buildHotspots; private buildDetections; private extractDetectionDetails; private buildSuggestions; private buildSummaryStats; } export {};