import { TestResults, BrowserMetrics, DRMMetrics, NetworkMetrics, ErrorLog, PrometheusConfiguration } from '../types/index';
/**
 * Configuration for report generation
 */
export interface ReportConfig {
    outputPath?: string;
    formats: ('html' | 'json' | 'csv')[];
    includeDetailedMetrics?: boolean;
    includeErrorAnalysis?: boolean;
}
/**
 * Aggregates test results from multiple browser instances and generates reports
 */
export declare class ResultsAggregator {
    private testResults;
    private startTime;
    private endTime?;
    private prometheusExporter?;
    constructor(prometheusConfig?: PrometheusConfiguration);
    /**
     * Add browser metrics from a single instance
     */
    addBrowserMetrics(metrics: BrowserMetrics): void;
    /**
     * Add DRM metrics
     */
    addDRMMetrics(metrics: DRMMetrics): void;
    /**
     * Add network metrics
     */
    addNetworkMetrics(metrics: NetworkMetrics[]): void;
    /**
     * Add error log entry
     */
    addError(error: ErrorLog): void;
    /**
     * Finalize test results and calculate summary statistics
     */
    finalize(): void;
    /**
     * Get the aggregated test results
     */
    getResults(): TestResults;
    /**
     * Shutdown the aggregator and flush any remaining Prometheus metrics
     */
    shutdown(): Promise<void>;
    /**
     * Generate reports in specified formats
     */
    generateReports(config: ReportConfig): Promise<void>;
    /**
     * Calculate summary statistics from collected metrics
     */
    private calculateSummary;
    /**
     * Generate JSON report
     */
    private generateJSONReport;
    /**
     * Generate HTML report
     */
    private generateHTMLReport;
    /**
     * Generate CSV report
     */
    private generateCSVReport; /**
 
  * Generate HTML content for the report
   */
    private generateHTMLContent;
    /**
     * Generate browser metrics section for HTML report
     */
    private generateBrowserMetricsHTML;
    /**
     * Generate DRM metrics section for HTML report
     */
    private generateDRMMetricsHTML;
    /**
     * Generate error analysis section for HTML report
     */
    private generateErrorAnalysisHTML;
    /**
     * Generate summary CSV content
     */
    private generateSummaryCSV;
    /**
     * Generate network metrics CSV content
     */
    private generateNetworkMetricsCSV;
    /**
     * Generate browser metrics CSV content
     */
    private generateBrowserMetricsCSV;
}
//# sourceMappingURL=results-aggregator.d.ts.map