/** * Log levels enum */ export declare enum LogLevel { TRACE = "trace", DEBUG = "debug", INFO = "info", WARN = "warn", ERROR = "error", FATAL = "fatal", SILENT = "silent" } /** * Log format options */ export declare enum LogFormat { TEXT = "text", JSON = "json" } /** * Log destination options */ export declare enum LogDestination { CONSOLE = "console", FILE = "file", BOTH = "both" } /** * Logging configuration interface */ export interface LoggingConfig { level: LogLevel; format: LogFormat; destination: LogDestination; pretty: boolean; includeTimestamp: boolean; includeRequestId: boolean; filePath?: string; redactedFields: string[]; } /** * Load logging configuration from environment * @returns Logging configuration */ export declare function loadLoggingConfig(): LoggingConfig; /** * Check if a log level is valid * @param level The log level to check * @returns Whether the log level is valid */ export declare function isValidLogLevel(level: string): boolean; /** * Check if a log level meets the minimum level * @param level The log level to check * @param minLevel The minimum log level * @returns Whether the log level meets the minimum */ export declare function shouldLog(level: LogLevel, minLevel: LogLevel): boolean; /** * Redact sensitive fields from an object * @param obj The object to redact * @param fields Fields to redact * @returns Redacted object */ export declare function redactSensitiveFields(obj: Record, fields: string[]): Record;