export declare enum LogLevel {
    Trace = 0,
    Debug = 1,
    Info = 2,
    Warn = 3,
    Error = 4,
    Never = 10
}
export declare enum LogTarget {
    Console = 0
}
export declare class Logger {
    readonly name: string;
    private _level;
    constructor(name: string);
    debug(msg: string, error?: Error): void;
    error(msg: string, error?: Error): void;
    info(msg: string, error?: Error): void;
    trace(msg: string, error?: Error): void;
    warn(msg: string, error?: Error): void;
    private log;
    setLevel(level: LogLevel): void;
    private levelToString;
}
export declare class LogFactory {
    private _logger;
    private _levels;
    getLogger(name: string): Logger;
    setLevel(level: LogLevel, selector?: RegExp): void;
    private createLogger;
    private updateLevels;
}
export declare const factory: LogFactory;
