import type { TranslationFile } from "../translate.interface.js"; /** * Recovery strategy for handling corrupted or problematic files */ export interface RecoveryStrategy { name: string; description: string; canRecover: (error: Error, content: string, filePath?: string) => boolean; recover: (error: Error, content: string, filePath?: string) => RecoveryResult; } /** * Result of a recovery attempt */ export interface RecoveryResult { success: boolean; data?: TranslationFile; warnings: string[]; errors: string[]; recoveryMethod: string; originalError: string; partialRecovery?: boolean; } /** * Error recovery manager that attempts to salvage data from corrupted files */ export declare class ErrorRecoveryManager { private static strategies; /** * Register a recovery strategy */ static registerStrategy(strategy: RecoveryStrategy): void; /** * Attempt to recover data from a corrupted file */ static attemptRecovery(error: Error, content: string, filePath?: string): RecoveryResult; /** * Get all registered recovery strategies */ static getStrategies(): RecoveryStrategy[]; /** * Clear all strategies (useful for testing) */ static clearStrategies(): void; } /** * JSON recovery strategies */ export declare const jsonRecoveryStrategies: RecoveryStrategy[]; /** * XML recovery strategies */ export declare const xmlRecoveryStrategies: RecoveryStrategy[]; /** * Format fallback strategies */ export declare const formatFallbackStrategies: RecoveryStrategy[]; /** * Initialize all recovery strategies */ export declare function initializeErrorRecovery(): void; /** * User guidance system for common format issues */ export declare class UserGuidanceSystem { private static commonIssues; /** * Get guidance for a specific error type */ static getGuidance(errorType: string): string[]; /** * Add custom guidance for an error type */ static addGuidance(errorType: string, guidance: string[]): void; /** * Get formatted guidance message */ static getFormattedGuidance(errorType: string, error?: Error): string; }