export declare const OUTPUTS: {
    STDOUT: string;
    STDERR: string;
};
export declare let logLevel: any;
export declare let externalLogger: any;
/**
 * We call this if stdio is not functional
 */
export declare function disableStdio(_unused?: any): void;
/**
 * Check if the current log level is at or below the given level.
 * @param level
 * @return {boolean}
 */
export declare function logsAtLevel(level: any): boolean;
/**
 * Get the log settings from the settings file.
 * If the settings file doesn't exist (during install) check for command or env vars, if there aren't
 * any, use default values.
 */
export declare function initLogSettings(forceInit?: boolean): void;
export declare function loggerWithTag(tag: string, conditional?: boolean, logger?: any): {
    notify: (...args: any[]) => any;
    fatal: (...args: any[]) => any;
    error: (...args: any[]) => any;
    warn: (...args: any[]) => any;
    info: (...args: any[]) => any;
    debug: (...args: any[]) => any;
    trace: (...args: any[]) => any;
};
export declare function suppressLogging(callback: any): void;
export declare function createLogger(options?: any): any;
/**
 * Log an info level log.
 * @param args - rest parameter syntax (...args), allows function to accept indefinite number of args as an array of log messages(strings/objects).
 * Provide args separated by commas. No need to stringify objects. Console will do that
 */
export declare function info(...args: any[]): void;
/**
 * Log a trace level log.
 * @param args - rest parameter syntax (...args), allows function to accept indefinite number of args as an array of log messages(strings/objects).
 * Provide args separated by commas. No need to stringify objects. Console will do that
 */
export declare function trace(...args: any[]): void;
/**
 * Log a error level log.
 * @param args - rest parameter syntax (...args), allows function to accept indefinite number of args as an array of log messages(strings/objects).
 * Provide args separated by commas. No need to stringify objects. Console will do that
 */
export declare function error(...args: any[]): void;
/**
 * Log a debug level log.
 * @param args - rest parameter syntax (...args), allows function to accept indefinite number of args as an array of log messages(strings/objects).
 * Provide args separated by commas. No need to stringify objects. Console will do that
 */
export declare function debug(...args: any[]): void;
/**
 * Log a notify level log.
 * @param args - rest parameter syntax (...args), allows function to accept indefinite number of args as an array of log messages(strings/objects).
 * Provide args separated by commas. No need to stringify objects. Console will do that
 */
export declare function notify(...args: any[]): void;
/**
 * Log a fatal level log.
 * @param args - rest parameter syntax (...args), allows function to accept indefinite number of args as an array of log messages(strings/objects).
 * Provide args separated by commas. No need to stringify objects. Console will do that
 */
export declare function fatal(...args: any[]): void;
/**
 * Log a warn level log.
 * @param args - rest parameter syntax (...args), allows function to accept indefinite number of args as an array of log messages(strings/objects).
 * Provide args separated by commas. No need to stringify objects. Console will do that
 */
export declare function warn(...args: any[]): void;
export declare function logCustomLevel(level: any, output: any, options: any, ...args: any[]): void;
/**
 * This is a duplicate of commonUtils.getPropsFilePath.  We need to have it duplicated here to avoid a circular dependency
 * that happens when commonUtils is imported.
 * @returns {*}
 */
export declare function getPropsFilePath(): string;
declare function setLogLevel(level: any): void;
/**
 * This converts an error to a human readable string. This follows the convention of standard console logging
 * of printing the error as "ErrorClassName: message". Strangely, this is _not_ how Error.prototype.toString
 * behaves, so this normalizes to match the bevahior of the console rather than default toString.
 * @param error
 * @return {string|string}
 */
export declare function errorToString(error: any): any;
export declare function setMainLogger(logger: any): void;
declare function closeLogFile(): void;
export declare function AuthAuditLog(this: any, username: any, status: any, type: any, originatingIp: any, requestMethod: any, path: any): void;
export declare const getLogFilePath: () => any;
export declare const forComponent: (name: string, isExternal?: boolean) => any;
declare const _default: {
    notify: typeof notify;
    fatal: typeof fatal;
    error: typeof error;
    warn: typeof warn;
    info: typeof info;
    debug: typeof debug;
    trace: typeof trace;
    readonly logLevel: any;
    loggerWithTag: typeof loggerWithTag;
    suppressLogging: typeof suppressLogging;
    initLogSettings: typeof initLogSettings;
    logCustomLevel: typeof logCustomLevel;
    closeLogFile: typeof closeLogFile;
    createLogger: typeof createLogger;
    logsAtLevel: typeof logsAtLevel;
    getLogFilePath: () => any;
    forComponent: (name: string, isExternal?: boolean) => any;
    setMainLogger: typeof setMainLogger;
    setLogLevel: typeof setLogLevel;
    OUTPUTS: {
        STDOUT: string;
        STDERR: string;
    };
    disableStdio: typeof disableStdio;
    externalLogger: any;
    AuthAuditLog: typeof AuthAuditLog;
    errorToString: typeof errorToString;
};
export default _default;
