import { ILogger, LoggerOptions } from '@midwayjs/logger';
import { Application } from 'egg';
import { MidwayLoggerService } from '@midwayjs/core';
declare class MidwayLoggers extends Map<string, ILogger> {
    protected app: Application;
    protected loggerService: MidwayLoggerService;
    /**
     * @constructor
     * - logger
     *   - {String} env - egg app runtime env string, detail please see `app.config.env`
     *   - {String} type - current process type, `application` or `agent`
     *   - {String} dir - log file dir
     *   - {String} [encoding = utf8] - log string encoding
     *   - {String} [level = INFO] - file log level
     *   - {String} [consoleLevel = NONE] - console log level
     *   - {Boolean} [outputJSON = false] - send JSON log or not
     *   - {Boolean} [buffer = true] - use {@link FileBufferTransport} or not
     *   - {String} appLogName - egg app file logger name
     *   - {String} coreLogName - egg core file logger name
     *   - {String} agentLogName - egg agent file logger name
     *   - {String} errorLogName - err common error logger name
     *   - {String} eol - end of line char
     *   - {String} [concentrateError = duplicate] - whether write error logger to common-error.log, `duplicate` / `redirect` / `ignore`
     * - customLogger
     * @param app
     */
    constructor(app: Application);
    createLogger(options: any, loggerKey: string): ILogger;
    disableConsole(): void;
    reload(): void;
    transformEggLogger(eggCustomLogger: any, midwayLoggerConfig: LoggerOptions): {
        midwayLogger: {
            clients: {};
        };
    };
}
export declare const createLoggers: (app: Application, processType: 'agent' | 'app') => MidwayLoggers;
export {};
//# sourceMappingURL=logger.d.ts.map