/**
 * Error Diagnostics
 *
 * Advanced diagnostic functions including report generation,
 * recoverability checks, retry delay calculation, error grouping,
 * and error summaries.
 */
import { ErrorCategory, ErrorSeverity } from "./error-categories.js";
import { ErrorContext, ERROR_TEMPLATES } from "./error-templates.js";
/**
 * Interface pour les informations de diagnostic
 */
export interface DiagnosticInfo {
    /** Code d'erreur */
    code: string;
    /** Categorie de l'erreur */
    category: ErrorCategory;
    /** Severite de l'erreur */
    severity: ErrorSeverity;
    /** Message traduit */
    translatedMessage: string;
    /** Message original */
    originalMessage: string;
    /** Timestamp de l'erreur */
    timestamp: string;
    /** Stack trace formatee */
    stackTrace: string[];
    /** Suggestions de resolution */
    suggestions: string[];
    /** Environnement systeme */
    environment: {
        nodeVersion: string;
        platform: string;
        arch: string;
        cwd: string;
    };
}
/**
 * Genere un rapport de diagnostic complet pour une erreur
 */
export declare function generateDiagnosticReport(error: Error, template?: keyof typeof ERROR_TEMPLATES): DiagnosticInfo;
/**
 * Formate un rapport de diagnostic pour l'affichage
 */
export declare function formatDiagnosticReport(diagnostic: DiagnosticInfo): string;
/**
 * Verifie si une erreur est recuperable (peut etre retentee)
 */
export declare function isRecoverableError(error: Error): boolean;
/**
 * Calcule le delai de retry recommande pour une erreur recuperable (en ms)
 */
export declare function getRetryDelay(error: Error, attempt?: number): number;
/**
 * Groupe les erreurs par categorie pour un rapport resume
 */
export declare function groupErrorsByCategory(errors: Error[]): Map<ErrorCategory, ErrorContext[]>;
/**
 * Cree un resume des erreurs pour l'affichage
 */
export declare function createErrorSummary(errors: Error[]): string;
