import { ClassType } from '@deepkit/core';
import { LogData, Logger, LoggerFormatter, LoggerLevel } from '@deepkit/logger';
export declare const shouldUsePinoPretty: boolean;
export declare const shouldUseSingleLine: boolean;
export declare const LoggerContextProps: string[];
export declare const LoggerContextSymbol: unique symbol;
declare const PinoSeverityMap: {
    readonly 0: "DEFAULT";
    readonly 1: "ALERT";
    readonly 2: "ERROR";
    readonly 3: "WARNING";
    readonly 4: "NOTICE";
    readonly 5: "INFO";
    readonly 6: "DEBUG";
    readonly 7: "DEBUG";
};
type Severity = (typeof PinoSeverityMap)[keyof typeof PinoSeverityMap];
export declare const pinoLogger: import("pino").Logger<Severity, true>;
export declare class ExtendedLogger extends Logger {
    protected scopeData?: LogData;
    addFormatter(formatter: LoggerFormatter): void;
    scoped(shortName: string, data?: LogData): ExtendedLogger;
    protected send(messages: any[], level: LoggerLevel, data?: LogData): void;
    debug(...message: any[]): void;
    getContextProps(): {
        [k: string]: any;
    } | undefined;
    stripColors(message: string): string;
    setScopeData(data?: LogData): this;
    handleError(level: LoggerLevel, message: string | undefined, err: Error | undefined, data: LogData | undefined): void;
}
export declare function createLogger(subject: string | InstanceType<ClassType>, defaultData?: LogData): ExtendedLogger;
export declare function withLoggerContext<T>(data: LogData, fn: () => Promise<T>): Promise<T>;
export {};
//# sourceMappingURL=logger.d.ts.map