export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'mute';
export declare const LOG_LEVELS: LogLevel[];
export declare abstract class Logger {
    abstract info(message: string, object?: any): void;
    abstract warn(message: string, object?: any): void;
    abstract error(message: string, object?: any): void;
    abstract debug(message: string, object?: any): void;
}
export declare abstract class LoggerBase extends Logger {
    contextData: object;
    level: LogLevel;
    protected abstract write(level: LogLevel, message: string, details: object): void;
    log(level: LogLevel, message: string, details: object): void;
    info(message: string, details?: object): void;
    warn(message: string, details?: object): void;
    error(message: string, details?: object): void;
    debug(message: string, details?: object): void;
}
export declare class ConsoleLogger extends LoggerBase {
    constructor();
    protected write(level: LogLevel, message: string, details: object): void;
    child(data: object): ConsoleLogger;
}
//# sourceMappingURL=logger.d.ts.map