import type { LazyLoggerMessage, Logger } from '@graphql-mesh/types';
type MessageTransformer = (msg: string) => string;
export declare const warnColor: MessageTransformer;
export declare const infoColor: MessageTransformer;
export declare const errorColor: MessageTransformer;
export declare const debugColor: MessageTransformer;
export declare const titleBold: MessageTransformer;
export declare enum LogLevel {
    debug = 0,
    info = 1,
    warn = 2,
    error = 3,
    silent = 4
}
export declare class DefaultLogger implements Logger {
    name?: string;
    logLevel: LogLevel;
    private console;
    constructor(name?: string, logLevel?: LogLevel, 
    /** @deprecated Trimming messages is no longer supported. This argument is unused and will be removed in future versions. */
    _trim?: number | undefined, console?: Console);
    private get prefix();
    /** Logs a message at {@link LogLevel.info} but without the "INFO" prefix. */
    log(...args: any[]): VoidFunction;
    warn(...args: any[]): VoidFunction;
    info(...args: any[]): VoidFunction;
    error(...args: any[]): VoidFunction;
    debug(...lazyArgs: LazyLoggerMessage[]): VoidFunction;
    child(name: string | Record<string, string | number>): Logger;
    addPrefix(prefix: string | Record<string, string | number>): Logger;
    toJSON(): any;
}
export {};
