import { BaseTransportOptions, ContextLoggerOptions, ILogger, ITransport, LegacyLoggerOptions, LoggerLevel, LoggerOptions, LogMeta } from './interface'; export declare const TransportManager: Map; export declare class MidwayLogger implements ILogger { private transports; private closeHandlers; protected options: LoggerOptions; constructor(options?: LoggerOptions & LegacyLoggerOptions); get level(): LoggerLevel; set level(level: LoggerLevel); log(level: LoggerLevel, ...args: any[]): void; debug(...args: any[]): void; info(...args: any[]): void; warn(...args: any[]): void; error(...args: any[]): void; verbose(...args: any[]): void; write(...args: any[]): void; silly(...args: any[]): void; add(name: string, transport: ITransport | Record | false): void; get(name: string): ITransport; remove(name: string, options?: { close?: boolean; }): void; close(): void; onClose(closeHandler: () => void): void; createContextLogger(ctx: any, options?: ContextLoggerOptions): MidwayContextLogger; transit(level: LoggerLevel | false, meta?: LogMeta, ...args: any[]): void; getChild(meta?: Record & LogMeta): MidwayChildLogger; } export declare class MidwayContextLogger implements ILogger { protected readonly ctx: CTX; protected readonly parentLogger: MidwayLogger; protected readonly options: ContextLoggerOptions; constructor(ctx: CTX, parentLogger: MidwayLogger, options?: ContextLoggerOptions); debug(...args: any[]): void; info(...args: any[]): void; warn(...args: any[]): void; error(...args: any[]): void; verbose(...args: any[]): void; write(...args: any[]): void; transit(level: LoggerLevel | false, ...args: any[]): void; getContext(): CTX; } export declare class MidwayChildLogger implements ILogger { protected readonly parentLogger: MidwayLogger; protected readonly meta: Record & LogMeta; constructor(parentLogger: MidwayLogger, meta?: Record & LogMeta); debug(...args: any[]): void; info(...args: any[]): void; warn(...args: any[]): void; error(...args: any[]): void; verbose(...args: any[]): void; write(...args: any[]): void; transit(level: LoggerLevel | false, ...args: any[]): void; } //# sourceMappingURL=logger.d.ts.map