import { LogLevel, LogMetadata } from "../interfaces";
export declare class Logger {
    private readonly logLevel;
    private readonly logFormat;
    private readonly traceIds;
    private readonly logLevelPriority;
    constructor(logLevel?: LogLevel, logFormat?: "simple" | "detailed");
    error(message: string, metadata?: LogMetadata): void;
    warning(message: string, metadata?: LogMetadata): void;
    info(message: string, metadata?: LogMetadata): void;
    debug(message: string, metadata?: LogMetadata): void;
    verbose(message: string, metadata?: LogMetadata): void;
    startTrace(message: string, metadata?: LogMetadata): string;
    endTrace(traceId: string, message: string, metadata?: LogMetadata): void;
    private shouldLog;
    private formatMessage;
    private safeStringify;
}
export declare const logger: Logger;
