import { INGXLoggerConfig } from './config/iconfig';
import { NGXLogger } from './logger.service';
import { INGXLoggerMapperService } from './mapper/imapper.service';
import { INGXLoggerMetadataService } from './metadata/imetadata.service';
import { INGXLoggerRulesService } from './rules/irules.service';
import { INGXLoggerServerService } from './server/iserver.service';
import { INGXLoggerWriterService } from './writer/iwriter.service';
import { INGXLoggerMonitor } from './monitor/ilogger-monitor';
import { INGXLoggerConfigEngineFactory } from './config/iconfig-engine-factory';
import * as i0 from "@angular/core";
/**
 * CustomNGXLoggerService is designed to allow users to get a new instance of a logger
 */
export declare class CustomNGXLoggerService {
    private logger;
    private configEngineFactory;
    private metadataService;
    private ruleService;
    private mapperService;
    private writerService;
    private serverService;
    constructor(logger: NGXLogger, configEngineFactory: INGXLoggerConfigEngineFactory, metadataService: INGXLoggerMetadataService, ruleService: INGXLoggerRulesService, mapperService: INGXLoggerMapperService, writerService: INGXLoggerWriterService, serverService: INGXLoggerServerService);
    /**
     * Create an instance of a logger
     * @deprecated this function does not have all the features, @see getNewInstance for every params available
     * @param config
     * @param serverService
     * @param logMonitor
     * @param mapperService
     * @returns
     */
    create(config: INGXLoggerConfig, serverService?: INGXLoggerServerService, logMonitor?: INGXLoggerMonitor, mapperService?: INGXLoggerMapperService): NGXLogger;
    /**
     * Get a new instance of NGXLogger
     * @param params list of optional params to use when creating an instance of NGXLogger
     * @returns the new instance of NGXLogger
     */
    getNewInstance(params?: {
        config?: INGXLoggerConfig;
        configEngineFactory?: INGXLoggerConfigEngineFactory;
        metadataService?: INGXLoggerMetadataService;
        ruleService?: INGXLoggerRulesService;
        mapperService?: INGXLoggerMapperService;
        writerService?: INGXLoggerWriterService;
        serverService?: INGXLoggerServerService;
        logMonitor?: INGXLoggerMonitor;
        partialConfig?: Partial<INGXLoggerConfig>;
    }): NGXLogger;
    static ɵfac: i0.ɵɵFactoryDeclaration<CustomNGXLoggerService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<CustomNGXLoggerService>;
}
//# sourceMappingURL=custom-logger.service.d.ts.map