/** * Sistema Modular de Mercado - Exportaciones Principales * Este archivo proporciona una interfaz simplificada para usar el sistema modular */ export { TimeValidator, BogotaTimeProvider, TimeRangeValidator, HolidayValidator } from '../time'; export { MarketConditionAnalyzer, MarketStatusDeterminer, MarketBusinessRules, MarketStatus, MarketCondition, isMarketOpen, shouldUseNextDayRate, shouldCompareNextDayWithYahoo, getMarketConditions } from '../conditions'; export { globalExchangeRateCache, ExchangeRateCache, InMemoryCache, setSuccessfulRate, getRate, getRateWithFallback, cleanupCache } from '../../cache'; export { RateProcessor, RateValidator, processExchangeRate, getLowestRate } from '../processors'; export { MarketOrchestrator, globalMarketOrchestrator, orchestrateMarketRates, getFinalRate, getMarketDebugInfo } from '../orchestrator'; export type { TimeInfo, TimeRange, HolidayConfig } from '../time'; export type { MarketConditionResult } from '../conditions'; export type { CacheEntry, CacheConfig, CacheStats } from '../../cache'; export type { RateSource, ProcessedRate, RateProcessingConfig } from '../processors'; export type { MarketOrchestrationResult, ExternalRateProviders, OrchestrationConfig } from '../orchestrator'; export { runMarketSystemExample, demonstrateMarketScenarios, runAllExamples } from './examples'; /** * Función de conveniencia para inicializar el sistema completo */ export declare function initializeMarketSystem(config?: { enableCaching?: boolean; enableFallback?: boolean; maxRetries?: number; timeoutMs?: number; }): any; /** * Función de conveniencia para obtener tasa de cambio con configuración mínima */ export declare function getExchangeRate(providers: { fetchSeticapSpotRate?: () => Promise; fetchSeticapNextDayRate?: () => Promise; fetchYahooRate?: () => Promise; }, date?: Date): Promise<{ rate: string; source: string; marketCondition: string; timestamp: string; }>; /** * Función para validar si el mercado está abierto en un momento específico */ export declare function checkMarketStatus(date?: Date): { isOpen: boolean; status: string; condition: string; description: string; timeInfo: { hour: number; minutes: number; isWeekend: boolean; isHoliday: boolean; bogotaTime: string; }; }; /** * Función para obtener estadísticas del sistema de caché */ export declare function getCacheStatistics(): { main: { totalEntries: number; validEntries: number; hitRate: string; }; fallback: { totalEntries: number; validEntries: number; hitRate: string; }; }; /** * Función para limpiar el caché */ export declare function clearCache(): { main: number; fallback: number; }; //# sourceMappingURL=index.d.ts.map