import { LogLevel } from '../logger';
/**
 * Logger Config
 */
export declare class LoggerConfigs {
    /**
     * The correlation id provider.
     * To set this is required.
     */
    private correlationIdProvider;
    /**
     * Enable logging to a file.
     * Default to false.
     */
    private logToFile;
    /**
     * The directory where the potential
     * log file will be written.
     * Default to "./log".
     */
    private logDir;
    /**
     * Log rotation file nb
     */
    private logRotateFilesNbr;
    /**
     * Log rotation threshhold in MB
     */
    private logRotateThresholdMB;
    /**
     * Log maximum total size in MB
     */
    private logRotateMaxTotalSizeMB;
    /**
     * Logging level (info, debug, warning, error)
     *
     * Default value : DEBUG in DEV or WARNING otherwise.
     */
    private logLevel;
    /**
     * Log in human readable form in the console.
     */
    private logHumanReadableinConsole;
    /**
     * Add the stack trace to the error log in development
     */
    private addStackTraceToErrorMessagesInDev;
    /**
     * Log the source of the error in the log message
     */
    private logSource;
    /**
     * The Correlation Id provider is required.
     */
    constructor(correlationIdProvider: () => string);
    /**
     * The current Correlation Id.
     */
    get correlationId(): string;
    /**
     * Logging to a file?
     */
    isLogToFile(): boolean;
    /**
     * Get the directory where the log files should be written
     */
    getLogDirectory(): string;
    /**
     * Get the current logging level
     */
    getLogLevel(): LogLevel;
    isLogHumanReadableinConsole(): boolean;
    isAddStackTraceToErrorMessagesInDev(): boolean;
    isLogSource(): boolean;
    getLogRotateFilesNbr(): number;
    getLogRotateThresholdMB(): number;
    getLogRotateMaxTotalSizeMB(): number;
    /**
     * Enable logging to a file in addition to
     * logging to the standard output.
     * This should probably be let to FALSE in our
     * current network where Graylog is used : no
     * log files are indeed required!
     */
    setSlowerLogToFileToo(logToFile: boolean): void;
    /**
     * Set the directory where the log files should be written
     */
    setLogDirectory(logDir: string): void;
    /**
     * Set the logging level
     */
    setLogLevel(loglevel: LogLevel): void;
    /**
     * Set the logs in the console to be human readable
     */
    setLogHumanReadableinConsole(logHumanReadableinConsole: boolean): void;
    /**
     * Set the stack trace to be logged in development environment
     */
    setAddStackTraceToErrorMessagesInDev(addStackTraceToErrorMessagesInDev: boolean): void;
    /**
     * Set if the source of the error should be logged
     */
    setLogSource(logSource: boolean): void;
    /**
     * Set the number of log files to rotate
     */
    setLogRotateFilesNbr(logRotateFilesNb: number): void;
    /**
     * Set the log rotation threshhold.
     */
    setLogRotateThresholdMB(logRotateThresholdMB: number): void;
    /**
     * Set the maximum total size of the logfile
     */
    setLogRotateMaxTotalSizeMB(logRotateMaxTotalSizeMB: number): void;
}
//# sourceMappingURL=configs.d.ts.map