export declare enum LogLevel {
    DEBUG = 0,
    INFO = 1,
    WARN = 2,
    ERROR = 3
}
export interface LoggerConfig {
    level: LogLevel;
    prefix?: string;
    enableTimestamp?: boolean;
    enableColors?: boolean;
    customFormatter?: (level: LogLevel, message: string, meta?: any) => string;
    transport?: (level: LogLevel, message: string, meta?: any) => void;
}
export declare class Logger {
    private config;
    private static instance;
    private readonly colors;
    constructor(config: LoggerConfig);
    static getInstance(config?: LoggerConfig): Logger;
    debug(message: string, meta?: any): void;
    info(message: string, meta?: any): void;
    warn(message: string, meta?: any): void;
    error(message: string, meta?: any): void;
    private log;
    private formatMessage;
    private colorize;
    private getColorForLevel;
    private defaultTransport;
}
