/**
 * Class logger
 * Permet de logger dans les différents fichiers
 */
export default class Logger {
    private properties_;
    private logFolder_;
    private logFullPath_;
    private appLogLevel;
    private aLogLevels_;
    private pid_;
    private engine_;
    private allow_console_return;
    /**
     * Constructeur
     * @param properties
     */
    constructor(properties: any);
    /**
     * Set moteur pour l'utiliser dans les logs
     * @param {any} engine engine_id
     */
    setEngine(engine: any): void;
    /**
     * Set le chemin vers le fichier e log à utiliser
     * @param {string} sPath chemin à utiliser pour logger
     */
    setLogFilePath(sPath: string): void;
    /**
     *
     * @returns {string}
     */
    private getDateFormat;
    /**
     * désactive les console.log du logger
     */
    disableConsoleMessage(): void;
    /**
     * active les console.log du logger
     */
    enableConsoleMessage(): void;
    /**
     * Écrit un message dans le logs
     * @param {string} message
     * @param {*} variable variable à logger dans le message
     * @param {string|undefined} level
     */
    log(message: any, variable?: any, level?: string): void;
    /**
     * Calcule le nouveau nom du fichier de log et renome l'ancien fichier
     * @param {string[]} aFilePath tableau chemin vers le fichier d'origine
     */
    private chunkLogFile;
    /**
     * Retourne les niveaux de logs disponibles selon la configuration utilisateur
     * @returns {Array}
     */
    private getAppLogLevels_;
    /**
     * Retourne le chemin vers le fichier de log
     * @return {Array} chemin vers la fichier de log
     */
    private getLogFilePath_;
    /**
     * Retourne la date formatée
     * @param {Date} d Date
     * @param {string | undefined} format https://momentjs.com/docs/#/displaying/format/
     * @returns {string} formated date
     */
    private getFormatedDate_;
    /**
     * Crée le fichier de log si il n'existe pas
     * @param {Array} chemin vers le fichier
     */
    private createLogFile_;
    /**
     * Écrit le message
     * @param {Array} filePath
     * @param {string} message message formatté
     */
    private appendMessage_;
    /**
     * écrit un message dans un fichier de log
     * @param {string} message message à logger
     * @param {any} variable variable à associé au message
     * @param {string} level Niveau de log
     */
    private getFormatedMessage_;
}
