import { HttpHeaders, HttpParams } from '@angular/common/http';
import { NgxLoggerLevel } from './types/logger-level.enum';
import { INGXLoggerConfig } from './config/iconfig';
import { INGXLoggerMetadataService } from './metadata/imetadata.service';
import { INGXLoggerRulesService } from './rules/irules.service';
import { INGXLoggerMapperService } from './mapper/imapper.service';
import { INGXLoggerMonitor } from './monitor/ilogger-monitor';
import { INGXLoggerWriterService } from './writer/iwriter.service';
import { INGXLoggerServerService } from './server/iserver.service';
import { INGXLoggerConfigEngineFactory } from './config/iconfig-engine-factory';
import * as i0 from "@angular/core";
export declare class NGXLogger {
    private metadataService;
    private ruleService;
    private mapperService;
    private writerService;
    private serverService;
    private _loggerMonitor;
    private configEngine;
    constructor(config: INGXLoggerConfig, configEngineFactory: INGXLoggerConfigEngineFactory, metadataService: INGXLoggerMetadataService, ruleService: INGXLoggerRulesService, mapperService: INGXLoggerMapperService, writerService: INGXLoggerWriterService, serverService: INGXLoggerServerService);
    /** Get a readonly access to the level configured for the NGXLogger */
    get level(): NgxLoggerLevel;
    /** Get a readonly access to the serverLogLevel configured for the NGXLogger */
    get serverLogLevel(): NgxLoggerLevel;
    trace(message?: any | (() => any), ...additional: any[]): void;
    debug(message?: any | (() => any), ...additional: any[]): void;
    info(message?: any | (() => any), ...additional: any[]): void;
    log(message?: any | (() => any), ...additional: any[]): void;
    warn(message?: any | (() => any), ...additional: any[]): void;
    error(message?: any | (() => any), ...additional: any[]): void;
    fatal(message?: any | (() => any), ...additional: any[]): void;
    /** @deprecated customHttpHeaders is now part of the config, this should be updated via @see updateConfig */
    setCustomHttpHeaders(headers: HttpHeaders): void;
    /** @deprecated customHttpParams is now part of the config, this should be updated via @see updateConfig */
    setCustomParams(params: HttpParams): void;
    /** @deprecated withCredentials is now part of the config, this should be updated via @see updateConfig */
    setWithCredentialsOptionValue(withCredentials: boolean): void;
    /**
     * Register a INGXLoggerMonitor that will be trigger when a log is either written or sent to server
     *
     * There is only one monitor, registering one will overwrite the last one if there was one
     * @param monitor
     */
    registerMonitor(monitor: INGXLoggerMonitor): void;
    /** Set config of logger
     *
     * Warning : This overwrites all the config, if you want to update only one property, you should use @see getConfigSnapshot before
     */
    updateConfig(config: INGXLoggerConfig): void;
    partialUpdateConfig(partialConfig: Partial<INGXLoggerConfig>): void;
    /** Get config of logger */
    getConfigSnapshot(): INGXLoggerConfig;
    /**
     * Flush the serveur queue
     */
    flushServerQueue(): void;
    private _log;
    static ɵfac: i0.ɵɵFactoryDeclaration<NGXLogger, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NGXLogger>;
}
//# sourceMappingURL=logger.service.d.ts.map