type Level = 'debug' | 'info' | 'warn' | 'error';
interface Logger {
    debug: (s: string) => void;
    info: (s: string) => void;
    warn: (s: string) => void;
    error: (s: string) => void;
    setLevel: (level: Level) => void;
}
declare class DefaultLogger implements Logger {
    debug(): void;
    info(): void;
    warn(): void;
    error(): void;
    setLevel(): void;
}
declare class ConsoleLogger implements Logger {
    protected readonly prefix: string;
    debug: (s: string) => void;
    info: (s: string) => void;
    warn: (s: string) => void;
    error: (s: string) => void;
    constructor(prefix?: string);
    protected _debug(s: string): void;
    protected _info(s: string): void;
    protected _warn(s: string): void;
    protected _error(s: string): void;
    _void(_s: string): void;
    setLevel(level: Level): void;
}
declare class ColorConsoleLogger extends ConsoleLogger {
    protected _debug(s: string): void;
    protected _info(s: string): void;
    protected _warn(s: string): void;
    protected _error(s: string): void;
}
declare function wrapLogger(name: string, logger: Logger): Logger;
export { Logger, DefaultLogger, ConsoleLogger, ColorConsoleLogger, wrapLogger };
