export declare enum LogLevel {
    DEBUG = "DEBUG",
    INFO = "INFO",
    WARN = "WARN",
    ERROR = "ERROR"
}
export interface LoggerConfig {
    minLevel: LogLevel;
    timestamps?: boolean;
    showLevel?: boolean;
    logHandler?: (level: LogLevel, message: string, ...args: unknown[]) => void;
}
export declare class Logger {
    private readonly config;
    constructor(config: LoggerConfig);
    debug(message: string, ...args: unknown[]): void;
    info(message: string, ...args: unknown[]): void;
    warn(message: string, ...args: unknown[]): void;
    error(message: string, ...args: unknown[]): void;
    private log;
    private shouldLog;
    private formatMessage;
}
