/** * Configuration management * Externalizes configuration from environment variables and config files */ export interface AppConfig { appName: string; appVersion: string; environment: 'development' | 'staging' | 'production'; port?: number; institutionBIC: string; institutionName: string; institutionCountry: string; reportingThresholdUSD: number; amlStructuringThresholdUSD: number; amlStructuringWindowDays: number; iofRateInbound: number; iofRateOutbound: number; fxRateProvider: 'hardcoded' | 'central-bank' | 'bloomberg' | 'reuters' | 'xe'; fxRateCacheTTL: number; databaseUrl?: string; databasePoolSize?: number; logLevel: 'debug' | 'info' | 'warn' | 'error' | 'fatal'; logFormat: 'json' | 'text'; enableAuth: boolean; sessionSecret?: string; jwtSecret?: string; bcbReportingEnabled: boolean; bcbReportingApiUrl?: string; bcbReportingApiKey?: string; auditRetentionDays: number; auditAutoDelete: boolean; } /** * Load configuration from environment variables */ export declare function loadConfig(): AppConfig; /** * Validate configuration */ export declare function validateConfig(config: AppConfig): { valid: boolean; errors: string[]; }; /** * Get default configuration (for development) */ export declare function getDefaultConfig(): AppConfig; /** * Get configuration singleton */ export declare function getConfig(): AppConfig; /** * Reset configuration (useful for testing) */ export declare function resetConfig(): void; //# sourceMappingURL=config.d.ts.map