import { C8oCore } from "./c8oCore";
import { C8oLogLevel } from "./c8oLogLevel";
export declare class C8oLogger {
    private static LOG_INTERNAL_PREFIX;
    static REMOTE_LOG_LIMIT: number;
    private static JSON_KEY_REMOTE_LOG_LEVEL;
    private static JSON_KEY_TIME;
    private static JSON_KEY_LEVEL;
    private static JSON_KEY_MESSAGE;
    private static JSON_KEY_LOGS;
    private static JSON_KEY_ENV;
    private remoteLogUrl;
    private remoteLogs;
    private alreadyRemoteLogging;
    private remoteLogLevel;
    private uidRemoteLogs;
    private startTimeRemoteLog;
    initDone: boolean;
    private pending_remoteLogs;
    private pending_remoteLogsLevel;
    private c8o;
    private env;
    private pInit;
    private waitForSending;
    constructor(c8o: C8oCore, first: boolean);
    affect_val(c8o: C8oCore, first: boolean): Promise<void>;
    private isLoggableRemote;
    private isLoggableConsole;
    canLog(logLevel: C8oLogLevel): boolean;
    readonly isFatal: boolean;
    readonly isError: boolean;
    readonly isWarn: boolean;
    readonly isInfo: boolean;
    readonly isDebug: boolean;
    readonly isTrace: boolean;
    private log;
    fatal(message: string, exceptions?: Error): void;
    error(message: string, exceptions?: Error): void;
    warn(message: string, exceptions?: Error): void;
    info(message: string, exceptions?: Error): void;
    debug(message: string, exceptions?: Error): void;
    trace(message: string, exceptions?: Error): void;
    private _log;
    _fatal(message: string, exceptions?: Error): void;
    _error(message: string, exceptions?: Error): void;
    _warn(message: string, exceptions?: Error): void;
    _info(message: string, exceptions?: Error): void;
    _debug(message: string, exceptions?: Error): void;
    _trace(message: string, exceptions?: Error): void;
    logRemoteInit(): Promise<void>;
    checkInitDone(resolve?: any): Promise<any>;
    logTest(): Promise<any>;
    private logTestAction;
    private timeout;
    logRemote(wait?: number): Promise<void>;
    logMethodCall(methodName: string, ...parameters: any[]): void;
    logC8oCall(url: string, parameters: any): void;
    logC8oCallJSONResponse(response: JSON, url: string, parameters: any): void;
    logC8oCallXMLResponse(response: Document, url: string, parameters: Object): void;
    logC8oCallResponse(responseStr: string, responseType: string, url: string, parameters: any): void;
}
