/** * Sistema de persistencia para tasas de cambio * Guarda la última tasa válida para usar como fallback inteligente */ import { ExchangeRateResult } from '../services'; interface PersistedRate { usdToCop: number; source: string; timestamp: string; validatedAt: string; confidence: 'high' | 'medium' | 'low'; metadata: { consecutiveSuccesses: number; lastValidationTime: string; rateAge: number; }; } interface RateHistory { rates: PersistedRate[]; lastUpdate: string; statistics: { averageRate: number; minRate: number; maxRate: number; volatility: number; }; } export declare class RatePersistence { private static readonly PERSISTENCE_FILE; private static readonly HISTORY_FILE; private static readonly MAX_HISTORY_SIZE; private static readonly MAX_RATE_AGE_MINUTES; /** * Guardar la última tasa válida */ static saveLastValidRate(rate: ExchangeRateResult): Promise; /** * Obtener la última tasa válida como fallback */ static getLastValidRate(): Promise; /** * Obtener fallback desde historial cuando la última tasa es muy antigua */ private static getFallbackFromHistory; /** * Actualizar historial de tasas */ private static updateRateHistory; /** * Calcular confianza de la tasa */ private static calculateConfidence; /** * Calcular edad de la tasa en minutos */ private static calculateRateAge; /** * Obtener número de éxitos consecutivos */ private static getConsecutiveSuccesses; /** * Calcular estadísticas del historial */ private static calculateStatistics; /** * Obtener estadísticas del historial */ static getHistoryStatistics(): RateHistory['statistics'] | null; /** * Limpiar datos antiguos */ static cleanOldData(): void; } export {}; //# sourceMappingURL=rate-persistence.d.ts.map