import { LogLevel } from '../core/types';
export declare class Logger {
    private context;
    private static logLevel;
    constructor(context?: string);
    static setLogLevel(level: LogLevel): void;
    static getLogLevel(): LogLevel;
    debug(message: string, ...args: any[]): void;
    info(message: string, ...args: any[]): void;
    warn(message: string, ...args: any[]): void;
    error(message: string, ...args: any[]): void;
    private shouldLog;
    private log;
    private formatMessage;
    private colorizeMessage;
    private sendToExternalLogger;
    private logToFile;
    createChildLogger(childContext: string): Logger;
    logMethodEntry(methodName: string, args?: any[]): void;
    logMethodExit(methodName: string, result?: any): void;
    logPerformance(operation: string, startTime: number): void;
    static createLogger(context: string): Logger;
    static withPerformanceLogging<T>(logger: Logger, operation: string, fn: () => Promise<T>): Promise<T>;
}
export declare const logger: Logger;
//# sourceMappingURL=logger.util.d.ts.map