export declare enum LogLevel {
    DEBUG = "DEBUG",
    INFO = "INFO",
    WARN = "WARN",
    ERROR = "ERROR",
    NONE = "NONE"
}
export type LoggerConfig = {
    level: LogLevel;
    customLogger?: CustomLogger;
};
export interface CustomLogger {
    debug(message: string, ...args: unknown[]): void;
    info(message: string, ...args: unknown[]): void;
    warn(message: string, ...args: unknown[]): void;
    error(message: string, ...args: unknown[]): void;
}
declare class Logger {
    private static instance;
    private loggerImpl;
    private logLevel;
    private constructor();
    static getInstance(): Logger;
    configure(config: LoggerConfig): void;
    debug(message: string, ...args: unknown[]): void;
    info(message: string, ...args: unknown[]): void;
    warn(message: string, ...args: unknown[]): void;
    error(message: string, error?: unknown): void;
    logError(error: unknown): void;
    private shouldLog;
    private formatError;
}
export declare const logger: Logger;
export {};
//# sourceMappingURL=logger.d.ts.map