import { AccessibilityReport, ReportOptions } from '../types/output';
import { ScanResult } from '../types';
import { CrawlSession } from '../types/crawler';
/**
 * JSON report generator for accessibility scan results
 * Converts scan results into comprehensive JSON reports with detailed analysis
 */
export declare class JsonReporter {
    private static readonly REPORT_VERSION;
    private static readonly TOOL_NAME;
    private static readonly TOOL_VERSION;
    /**
     * Generate a single page accessibility report
     */
    generatePageReport(scanResult: ScanResult, options?: Partial<ReportOptions>): Promise<AccessibilityReport>;
    /**
     * Generate a multi-page site accessibility report
     */
    generateSiteReport(crawlSession: CrawlSession, scanResults: ScanResult[], options?: Partial<ReportOptions>): Promise<AccessibilityReport>;
    /**
     * Generate report metadata
     * @private
     */
    private generateMetadata;
    /**
     * Generate executive summary
     * @private
     */
    private generateExecutiveSummary;
    /**
     * Generate page report details
     * @private
     */
    private generatePageReportDetails;
    /**
     * Generate site report details
     * @private
     */
    private generateSiteReportDetails;
    /**
     * Convert crawl session to crawl info
     * @private
     */
    private convertCrawlInfo;
    /**
     * Calculate site statistics
     * @private
     */
    private calculateSiteStatistics;
    /**
     * Generate page summaries
     * @private
     */
    private generatePageSummaries;
    /**
     * Analyze issues across the site
     * @private
     */
    private analyzeIssues;
    /**
     * Analyze WCAG compliance
     * @private
     */
    private analyzeCompliance;
    /**
     * Calculate compliance level statistics
     * @private
     */
    private calculateComplianceLevel;
    /**
     * Convert scan result issues to report issues
     * @private
     */
    private convertToReportIssues;
    /**
     * Convert accessibility issue to affected element
     * @private
     */
    private convertToAffectedElement;
    /**
     * Calculate severity breakdown
     * @private
     */
    private calculateSeverityBreakdown;
    /**
     * Calculate WCAG level breakdown
     * @private
     */
    private calculateWCAGLevelBreakdown;
    /**
     * Calculate average accessibility score
     * @private
     */
    private calculateAverageScore;
    /**
     * Determine overall compliance status
     * @private
     */
    private determineOverallCompliance;
    /**
     * Determine achieved WCAG level
     * @private
     */
    private determineAchievedWCAGLevel;
    /**
     * Generate key recommendations
     * @private
     */
    private generateKeyRecommendations;
    /**
     * Helper methods for data processing
     * @private
     */
    private mergeDefaultOptions;
    private generateDefaultTitle;
    private filterIssuesBySeverity;
    private categorizeIssue;
    private generateIssueTitle;
    private truncateHtml;
    private extractElementText;
    private convertPageMetadata;
    private convertPerformanceMetrics;
    private extractScreenshots;
    private mapCrawlStatus;
    private calculateScoreDistribution;
    private calculateResponseTimeStats;
    private findMostCommonIssues;
    private categorizeIssues;
    private identifyIssuePatterns;
    private analyzeSuccessCriteria;
    private calculateDomainBreakdown;
    private findBlockingIssues;
    private groupIssuesByType;
    private generateTechnicalDetails;
    private extractReportErrors;
    private validateAndEnhanceReport;
    private generateErrorReport;
}
//# sourceMappingURL=json-reporter.d.ts.map