/**
 * 🔄 AUDIT DATA ADAPTER - LEGACY TO STRICT CONVERSION
 *
 * Diese Adapter-Schicht transformiert die bestehenden flexiblen/lockeren
 * Audit-Datenstrukturen in strikt validierte, vollständige Strukturen.
 * Sie fungiert als Bridge zwischen dem bestehenden System und dem neuen
 * strikten Validierungs-System.
 */
import { StrictAuditData } from '../types/strict-audit-types';
export interface LegacyAuditResult {
    metadata?: {
        version?: string;
        timestamp?: string;
        sitemapUrl?: string;
        toolVersion?: string;
        duration?: number;
        maxPages?: number;
        timeout?: number;
        standard?: string;
        features?: string[];
    };
    summary?: {
        totalPages?: number;
        testedPages?: number;
        passedPages?: number;
        failedPages?: number;
        crashedPages?: number;
        redirectPages?: number;
        totalErrors?: number;
        totalWarnings?: number;
        averageScore?: number;
        overallGrade?: 'A' | 'B' | 'C' | 'D' | 'F';
    };
    pages?: LegacyPageResult[];
    systemPerformance?: {
        memoryUsageMB?: number;
    };
}
export interface LegacyPageResult {
    url?: string;
    title?: string;
    status?: string;
    duration?: number;
    testedAt?: string;
    accessibility?: LegacyAccessibilityResult;
    performance?: LegacyPerformanceResult;
    seo?: LegacySEOResult;
    contentWeight?: LegacyContentWeightResult;
    mobileFriendliness?: LegacyMobileFriendlinessResult;
}
export interface LegacyAccessibilityResult {
    score?: number;
    errors?: any[];
    warnings?: any[];
    notices?: any[];
}
export interface LegacyPerformanceResult {
    score?: number;
    grade?: string;
    coreWebVitals?: any;
    issues?: any[];
}
export interface LegacySEOResult {
    score?: number;
    grade?: string;
    metaTags?: any;
    issues?: any[];
    recommendations?: any[];
}
export interface LegacyContentWeightResult {
    score?: number;
    grade?: string;
    resources?: any;
    optimizations?: any[];
}
export interface LegacyMobileFriendlinessResult {
    overallScore?: number;
    grade?: string;
    recommendations?: any[];
}
export type AuditResult = LegacyAuditResult;
export type PageResult = LegacyPageResult;
export type AccessibilityResult = LegacyAccessibilityResult;
export type PerformanceResult = LegacyPerformanceResult;
export type SEOResult = LegacySEOResult;
export type ContentWeightResult = LegacyContentWeightResult;
export type MobileFriendlinessResult = LegacyMobileFriendlinessResult;
/**
 * Adapter: Konvertiert Legacy AuditResult zu StrictAuditData
 */
export declare class AuditDataAdapter {
    /**
     * Hauptkonvertierung: Legacy AuditResult → StrictAuditData
     */
    static convertToStrict(legacyResult: AuditResult): StrictAuditData;
    /**
     * Legacy-Struktur zu Intermediate-Format transformieren
     */
    private static transformLegacyStructure;
    /**
     * Legacy PageResult zu Strict-kompatiblem Format transformieren
     */
    private static transformLegacyPage;
    /**
     * Normalisiert Page Status zu erlaubten Werten
     */
    private static normalizePageStatus;
    /**
     * Legacy Accessibility zu Strict-Format transformieren
     */
    private static transformAccessibilityResult;
    /**
     * Transformiert Accessibility-Issues zu Strict-Format
     */
    private static transformAccessibilityIssues;
    /**
     * Legacy Performance zu Strict-Format transformieren
     */
    private static transformPerformanceResult;
    /**
     * Core Web Vitals transformieren mit Fallback-Werten
     */
    private static transformCoreWebVitals;
    /**
     * Standard Core Web Vitals für fehlende Performance-Daten
     */
    private static createDefaultCoreWebVitals;
    /**
     * Legacy SEO zu Strict-Format transformieren
     */
    private static transformSEOResult;
    /**
     * SEO Meta-Tags transformieren
     */
    private static transformSEOMetaTags;
    /**
     * Standard SEO-Daten für fehlende SEO-Analyse
     */
    private static createDefaultSEOData;
    /**
     * Legacy Content Weight zu Strict-Format transformieren
     */
    private static transformContentWeightResult;
    /**
     * Content Weight Resources transformieren
     */
    private static transformContentWeightResources;
    /**
     * Standard Content Weight Daten für fehlende Analyse
     */
    private static createDefaultContentWeightData;
    /**
     * Legacy Mobile Friendliness zu Strict-Format transformieren
     */
    private static transformMobileFriendlinessResult;
    /**
     * Mobile Recommendations transformieren
     */
    private static transformMobileRecommendations;
    /**
     * Score zu Grade konvertieren
     */
    private static scoreToGrade;
    /**
     * Diagnose-Funktion: Analysiert Legacy-Daten auf Vollständigkeit
     */
    static diagnoseLegacyData(legacyResult: AuditResult): {
        isComplete: boolean;
        missingFields: string[];
        warnings: string[];
        pageAnalysis: {
            url: string;
            missingAnalyses: string[];
        }[];
    };
}
/**
 * High-level Convenience-Function: Konvertiert und validiert Legacy-Daten
 */
export declare function convertAndValidateAuditData(legacyResult: AuditResult): StrictAuditData;
/**
 * Safe Conversion: Versucht Konvertierung, fängt Fehler ab
 */
export declare function safeConvertAuditData(legacyResult: AuditResult): {
    success: boolean;
    data?: StrictAuditData;
    error?: string;
    warnings: string[];
};
//# sourceMappingURL=audit-data-adapter.d.ts.map