import { InjectionToken } from '@angular/core';
import { LogAppender, Logger, LogLevel } from '@eui/base';
import * as i0 from "@angular/core";
export declare const BASE_LOGGER_NAME_TOKEN: InjectionToken<string>;
export declare const LOG_LEVEL_TOKEN: InjectionToken<LogLevel>;
export declare const LOG_APPENDERS_TOKEN: InjectionToken<LogAppender<import("@eui/base").LogAppenderConfig>[]>;
/**
 * Log service, responsible for getting or creating loggers. It itself acts as a base logger
 */
export declare class LogService extends Logger {
    protected name: string;
    protected level: LogLevel;
    protected appenders: LogAppender[];
    /** the list of persistent loggers */
    protected loggers: {};
    constructor(name: string, level: LogLevel, appenders: LogAppender[]);
    /**
     * Gets a logger by name. If the logger does not exist, it is created
     *
     * @param loggerName logger name
     * @param persist optional parameter. Set it to true if you want to reuse the logger. By default, it is set to false
     * @returns the logger
     */
    getLogger(loggerName: string, persist?: boolean): Logger;
    static ɵfac: i0.ɵɵFactoryDeclaration<LogService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<LogService>;
}
//# sourceMappingURL=log.service.d.ts.map