import { type LoggerConfig, type ILogger } from './types';
export declare class Logger implements ILogger {
    private static instance;
    private config;
    private readonly module;
    private constructor();
    /**
     * Get logger instance for a specific module
     * @param module Module name
     */
    static getLogger(module: string): Logger;
    /**
     * Log debug message
     * @param message Log message
     * @param data Optional data to log
     */
    debug(message: string, data?: unknown): void;
    /**
     * Log info message
     * @param message Log message
     * @param data Optional data to log
     */
    info(message: string, data?: unknown): void;
    /**
     * Log warning message
     * @param message Log message
     * @param data Optional data to log
     */
    warn(message: string, data?: unknown): void;
    /**
     * Log error message
     * @param message Log message
     * @param data Optional data to log
     */
    error(message: string, data?: unknown): void;
    /**
     * Update logger configuration
     * @param config Partial configuration to update
     */
    setConfig(config: Partial<LoggerConfig>): void;
    /**
     * Get current logger configuration
     */
    getConfig(): LoggerConfig;
    private log;
    private shouldLog;
    private logToConsole;
}
//# sourceMappingURL=logger.d.ts.map