/**
 * Report Data Validator
 * Ensures audit results are complete and properly aggregated
 */
import { AccessibilityResult, TestSummary } from '../types';
export interface ValidationResult {
    valid: boolean;
    errors: ValidationError[];
    warnings: ValidationWarning[];
    stats: ValidationStats;
}
export interface ValidationError {
    field: string;
    message: string;
    severity: 'critical' | 'error';
    context?: Record<string, unknown>;
}
export interface ValidationWarning {
    field: string;
    message: string;
    suggestion?: string;
}
export interface ValidationStats {
    totalPages: number;
    validPages: number;
    pagesWithErrors: number;
    pagesWithWarnings: number;
    missingFields: string[];
    completenessScore: number;
}
export declare class ReportValidator {
    private logger;
    constructor();
    /**
     * Validate complete audit results
     */
    validateAuditResults(results: AccessibilityResult[]): ValidationResult;
    /**
     * Validate individual page result
     */
    private validatePageResult;
    /**
     * Validate performance metrics
     */
    private validatePerformanceMetrics;
    /**
     * Validate test summary
     */
    validateTestSummary(summary: TestSummary): ValidationResult;
    /**
     * Calculate completeness score (0-100)
     */
    private calculateCompletenessScore;
    /**
     * Generate validation report
     */
    generateReport(validation: ValidationResult): string;
    /**
     * Log validation results
     */
    logValidation(validation: ValidationResult): void;
}
//# sourceMappingURL=report-validator.d.ts.map