import winston from 'winston';
import { SystemLogEntry, SystemLoggerConfig } from './types';
/**
 * Creates a Winston logger configured for system logging
 * @param config Configuration options for the system logger
 * @returns Configured Winston logger instance
 */
export declare function createSystemLogger(config?: SystemLoggerConfig): winston.Logger;
/**
 * Logs a system entry with proper formatting
 * @param logger Winston logger instance
 * @param entry System log entry data
 */
export declare function logSystem(logger: winston.Logger, entry: SystemLogEntry): void;
/**
 * Convenience functions for different log levels
 */
export declare function logError(logger: winston.Logger, message: string, error?: Error, metadata?: Record<string, unknown>): void;
export declare function logWarn(logger: winston.Logger, message: string, metadata?: Record<string, unknown>): void;
export declare function logInfo(logger: winston.Logger, message: string, metadata?: Record<string, unknown>): void;
export declare function logDebug(logger: winston.Logger, message: string, metadata?: Record<string, unknown>): void;
/**
 * Convenience function to create and log system entry in one call
 * @param entry System log entry data
 * @param config Optional logger configuration
 */
export declare function logSystemEntry(entry: SystemLogEntry, config?: SystemLoggerConfig): void;
//# sourceMappingURL=systemLogger.d.ts.map