/**
 * 🔒 STRICT REPORT GENERATOR - GUARANTEED COMPLETE DATA
 *
 * Dieser Report-Generator nutzt die strikten Validatoren und Adapter,
 * um sicherzustellen, dass alle Reports auf vollständigen und validierten
 * Daten basieren. Kein Report wird erstellt, wenn kritische Daten fehlen.
 */
import { StrictAuditData } from '../types/strict-audit-types';
import { AuditResult } from '../adapters/audit-data-adapter';
export interface StrictReportOptions {
    /** Basis-Ausgabeformat */
    format: 'markdown' | 'html' | 'json' | 'csv';
    /** Ausgabe-Dateiname ohne Extension */
    filename: string;
    /** Ausgabe-Verzeichnis */
    outputDir: string;
    /** Ob fehlende Daten toleriert werden sollen (false = fail-fast) */
    tolerateMissingData: boolean;
    /** Minimale Anzahl vollständiger Analysen pro Seite erforderlich */
    requiredAnalysisTypes: ('accessibility' | 'performance' | 'seo' | 'contentWeight' | 'mobileFriendliness')[];
    /** Ob detaillierte Validierungs-Logs ausgegeben werden sollen */
    verboseValidation: boolean;
}
export interface StrictReportResult {
    success: boolean;
    generatedFiles: string[];
    validationWarnings: string[];
    error?: string;
    strictData?: StrictAuditData;
}
export declare class StrictReportGenerator {
    private options;
    constructor(options?: Partial<StrictReportOptions>);
    /**
     * Hauptfunktion: Generiert Reports aus Legacy-Daten mit strikter Validierung
     */
    generateFromLegacyData(legacyResult: AuditResult): Promise<StrictReportResult>;
    /**
     * Generiert Report-Dateien aus validierten strikten Daten
     */
    private generateReportFiles;
    /**
     * Validiert ob erforderliche Analyse-Typen vorhanden sind
     */
    private validateRequiredAnalyses;
    /**
     * Fallback: Erstellt einen einfachen Report aus unvollständigen Daten
     */
    private generateBasicReportFromIncompleteData;
    /**
     * Erstellt einen Report für unvollständige Daten mit Diagnose-Informationen
     */
    private createIncompleteDataReport;
    /**
     * Generiert Markdown-Report mit inline Implementierung
     */
    private generateMarkdownReport;
    /**
     * Generiert HTML-Report mit inline Implementierung
     */
    private generateHTMLReport;
    /**
     * Generiert JSON-Report direkt aus strikten Daten
     */
    private generateJSONReport;
    /**
     * Generiert CSV-Report aus strikten Daten
     */
    private generateCSVReport;
    /**
     * Konvertiert strikte Daten zurück zu Legacy-Format für bestehende Generatoren
     */
    private convertStrictToLegacy;
    /**
     * Erstellt einfachen Markdown-Report
     */
    private createMarkdownReport;
    /**
     * Erstellt einfachen HTML-Report
     */
    private createHTMLReport;
}
/**
 * High-level function: Generiert strikten Report aus Legacy-Daten
 */
export declare function generateStrictReport(legacyResult: AuditResult, options?: Partial<StrictReportOptions>): Promise<StrictReportResult>;
/**
 * Batch-Funktion: Generiert mehrere Report-Formate gleichzeitig
 */
export declare function generateMultipleStrictReports(legacyResult: AuditResult, formats: ('markdown' | 'html' | 'json' | 'csv')[], baseOptions?: Partial<StrictReportOptions>): Promise<{
    [format: string]: StrictReportResult;
}>;
//# sourceMappingURL=strict-report-generator.d.ts.map