/** * UI18n 错误恢复和降级策略 * 为各框架提供统一的错误恢复机制 */ import { SupportedLanguage } from '../types'; /** * 恢复策略类型 */ export declare enum RecoveryStrategy { SHOW_ORIGINAL = "show_original", SHOW_KEY = "show_key", SHOW_FALLBACK = "show_fallback", USE_CACHED = "use_cached", FALLBACK_LANGUAGE = "fallback_language", SILENT_FAIL = "silent_fail", RETRY_TRANSLATION = "retry_translation" } /** * 降级级别 */ export declare enum DegradationLevel { FULL = "full", BASIC = "basic", CACHE_ONLY = "cache_only", OFFLINE = "offline", ERROR = "error" } /** * 错误恢复配置 */ export interface RecoveryConfig { primaryStrategy: RecoveryStrategy; fallbackStrategies?: RecoveryStrategy[]; retryConfig?: { maxRetries: number; retryDelay: number; backoffMultiplier: number; }; degradationConfig?: { enableDegradation: boolean; degradationLevel: DegradationLevel; autoRecovery: boolean; }; cacheConfig?: { useCachedTranslations: boolean; cacheExpiry: number; }; } /** * 恢复上下文 */ export interface RecoveryContext { originalText: string; translationKey?: string; targetLanguage: SupportedLanguage; fallbackLanguage?: SupportedLanguage; error: Error; retryCount: number; timestamp: number; } /** * 恢复结果 */ export interface RecoveryResult { success: boolean; displayText: string; strategy: RecoveryStrategy; degradationLevel: DegradationLevel; shouldRetry: boolean; nextStrategy?: RecoveryStrategy; metadata?: { isCached?: boolean; isOriginal?: boolean; isFallback?: boolean; languageUsed?: SupportedLanguage; }; } /** * 默认恢复配置 */ export declare const DEFAULT_RECOVERY_CONFIG: RecoveryConfig; /** * 错误恢复管理器 */ export declare class ErrorRecoveryManager { private config; private cache; constructor(config?: Partial); /** * 执行错误恢复 */ recover(context: RecoveryContext): Promise; /** * 执行特定的恢复策略 */ private executeStrategy; /** * 尝试使用缓存的翻译 */ private tryUseCached; /** * 尝试回退语言 */ private tryFallbackLanguage; /** * 尝试重试翻译 */ private tryRetryTranslation; /** * 获取最终的备用方案 */ private getFinalFallback; /** * 缓存翻译结果 */ cacheTranslation(originalText: string, translatedText: string, language: SupportedLanguage): void; /** * 清理过期缓存 */ private cleanupCache; /** * 更新配置 */ updateConfig(newConfig: Partial): void; /** * 获取当前配置 */ getConfig(): RecoveryConfig; /** * 清理所有缓存 */ clearCache(): void; /** * 获取缓存统计 */ getCacheStats(): { size: number; entries: { key: string; timestamp: number; language: string; isExpired: boolean; }[]; }; } /** * 创建错误恢复管理器的便捷函数 */ export declare function createRecoveryManager(config?: Partial): ErrorRecoveryManager; /** * 用户操作异常的具体恢复策略 */ export declare const USER_OPERATION_RECOVERY_CONFIG: RecoveryConfig; //# sourceMappingURL=recovery-strategies.d.ts.map