/**
 * Data Completeness Checker
 * Real-time monitoring of audit data completeness during execution
 */
import { AccessibilityResult } from '../types';
export interface CompletenessCheckResult {
    pageUrl: string;
    isComplete: boolean;
    missingFields: string[];
    presentFields: string[];
    score: number;
    recommendations: string[];
}
export interface AggregationCheck {
    field: string;
    expected: number;
    actual: number;
    correct: boolean;
}
export declare class DataCompletenessChecker {
    private logger;
    private readonly CRITICAL_FIELDS;
    private readonly RECOMMENDED_FIELDS;
    private readonly OPTIONAL_FIELDS;
    constructor();
    /**
     * Check completeness of a single page result
     */
    checkPageCompleteness(result: AccessibilityResult): CompletenessCheckResult;
    /**
     * Check if field exists in result (supports nested fields)
     */
    private hasField;
    /**
     * Verify aggregations are correct
     */
    verifyAggregations(results: AccessibilityResult[]): AggregationCheck[];
    /**
     * Generate completeness report for multiple pages
     */
    generateBatchReport(results: AccessibilityResult[]): {
        overallScore: number;
        totalPages: number;
        completePages: number;
        incompletePages: number;
        commonMissingFields: Map<string, number>;
        pageReports: CompletenessCheckResult[];
    };
    /**
     * Log completeness check results
     */
    logCompletenessCheck(result: CompletenessCheckResult): void;
    /**
     * Log batch completeness report
     */
    logBatchReport(report: ReturnType<typeof this.generateBatchReport>): void;
    /**
     * Check aggregations and log results
     */
    logAggregationChecks(checks: AggregationCheck[]): void;
}
//# sourceMappingURL=data-completeness-checker.d.ts.map