/** * @finity.org/ccl - Currency Conversion Library * Librería avanzada para conversión de monedas con APIs externas y logging */ import './config'; export * from './models'; export { calculateBuyRate, calculateSellRate, calculateBothRates, convertUsdToCopBuy, convertUsdToCopSell, getAPIStatus, clearExchangeRateCache } from './utils/conversion'; export { APIService } from './services'; export { Logger, LogLevel } from './utils'; export { start as startTokenManager, isTokenAvailable, getCurrentToken } from './services/seticap-token-manager'; export { startExchangeRateJob } from './services/exchange-rate-manager'; export { TimeValidator, MarketConditionAnalyzer, RateProcessor, MarketOrchestrator } from './market'; export { globalExchangeRateCache } from './cache'; export { runMarketSystemExample, demonstrateMarketScenarios, runAllExamples, initializeMarketSystem, getExchangeRate, checkMarketStatus, getCacheStatistics, clearCache, MarketStatus, MarketCondition } from './market/system'; export type { TimeInfo, MarketConditionResult, ProcessedRate, MarketOrchestrationResult, ExternalRateProviders, OrchestrationConfig } from './market/system'; export type { CacheEntry, CacheConfig, ExchangeRateCache } from './cache'; export type { DetailedError, ErrorContext, RecoveryStrategy } from './errors'; export declare const VERSION = "2.0.0"; export declare const SUPPORTED_CURRENCIES: { USD: string; COP: string; EUR: string; GBP: string; JPY: string; CAD: string; }; export declare const DEFAULT_CONFIG: { profitPercentage: number; useCache: boolean; timeout: number; baseCurrency: string; targetCurrency: string; forceRefresh: boolean; }; /** * Formatea una cantidad en pesos colombianos * @param amount - Cantidad a formatear * @returns String formateado (ej: "$4,200.50 COP") */ export declare function formatCOP(amount: number): string; /** * Formatea una cantidad en dólares estadounidenses * @param amount - Cantidad a formatear * @returns String formateado (ej: "$100.00 USD") */ export declare function formatUSD(amount: number): string; /** * Formatea cualquier moneda soportada * @param amount - Cantidad a formatear * @param currency - Código de moneda (USD, COP, EUR, etc.) * @returns String formateado */ export declare function formatCurrency(amount: number, currency: string): string; /** * Valida si una tasa de cambio es razonable para USD/COP * @param rate - Tasa a validar * @returns true si la tasa está en un rango aceptable */ export declare function isValidRate(rate: number): boolean; /** * Valida si un porcentaje de beneficio es razonable * @param percentage - Porcentaje a validar * @returns true si el porcentaje está en un rango aceptable */ export declare function isValidProfitPercentage(percentage: number): boolean; /** * Calcula la diferencia porcentual entre dos tasas * @param rate1 - Primera tasa * @param rate2 - Segunda tasa * @returns Diferencia porcentual */ export declare function calculateRateDifference(rate1: number, rate2: number): number; /** * Obtiene un resumen de las tasas actuales * @param profitPercentage - Porcentaje de beneficio a aplicar * @returns Resumen con tasas y metadatos */ export declare function getRatesSummary(profitPercentage?: number): Promise<{ rates: { buy: import("./models").ConversionResult; sell: import("./models").ConversionResult; }; apiStatus: { available: boolean; source: string; lastUpdate: Date; cacheInfo: { size: number; keys: string[]; }; nextUpdateAt: Date | null; validityMs: number; nextDayRate: number | null; }; profitPercentage: number; spread: number; formattedRates: { buy: string; sell: string; base: string; }; timestamp: string; }>; /** * @deprecated Usar calculateBuyRate con nueva API */ export declare function calculateBuyRateOld(usdToCop: number, commissionPercentage: number): Promise<{ baseRate: number; finalRate: number; }>; /** * @deprecated Usar calculateSellRate con nueva API */ export declare function calculateSellRateOld(usdToCop: number, commissionPercentage: number): Promise<{ baseRate: number; finalRate: number; }>; export declare const utils: { formatCOP: typeof formatCOP; formatUSD: typeof formatUSD; formatCurrency: typeof formatCurrency; isValidRate: typeof isValidRate; isValidProfitPercentage: typeof isValidProfitPercentage; calculateRateDifference: typeof calculateRateDifference; getRatesSummary: typeof getRatesSummary; }; export declare const CURRENCY_CODES: { readonly USD: "USD"; readonly COP: "COP"; }; //# sourceMappingURL=index.d.ts.map