/**
 * Sistema de log para o serviço CoConuT
 * Fornece logs formatados com diferentes níveis e timestamps
 */
/**
 * Interface para o sistema de logs
 */
export interface ILogger {
    debug(message: string, meta?: any): void;
    info(message: string, meta?: any): void;
    warn(message: string, meta?: any): void;
    error(message: string, meta?: any): void;
}
/**
 * Níveis de log
 */
export declare enum LogLevel {
    DEBUG = 0,
    INFO = 1,
    WARN = 2,
    ERROR = 3
}
/**
 * Opções de configuração do logger
 */
export interface LoggerOptions {
    minLevel?: LogLevel;
    enableConsole?: boolean;
    includeTimestamp?: boolean;
    logFilePath?: string;
}
/**
 * Implementação do sistema de logs
 */
export declare class Logger implements ILogger {
    private static instance;
    private minLevel;
    private enableConsole;
    private includeTimestamp;
    private logFilePath?;
    private fs;
    /**
     * Construtor privado para implementação Singleton
     */
    private constructor();
    /**
     * Obtém a instância singleton do logger
     */
    static getInstance(options?: LoggerOptions): Logger;
    /**
     * Obtém o nível de log numérico a partir do nome
     */
    static getLevelFromName(levelName: string): LogLevel;
    /**
     * Formatação base de mensagens de log
     */
    private formatMessage;
    /**
     * Escreve um log no nível DEBUG
     */
    debug(message: string, meta?: any): void;
    /**
     * Escreve um log no nível INFO
     */
    info(message: string, meta?: any): void;
    /**
     * Escreve um log no nível WARN
     */
    warn(message: string, meta?: any): void;
    /**
     * Escreve um log no nível ERROR
     */
    error(message: string, meta?: any): void;
    /**
     * Escreve o log no destino adequado (console e/ou arquivo)
     */
    private writeLog;
}
//# sourceMappingURL=logger.d.ts.map