import { JavaObject } from '../java/lang/JavaObject';
import { LogData } from '../logger/LogData';
import { Consumer } from '../java/util/function/Consumer';
import { LogLevel } from '../logger/LogLevel';
export declare class Logger extends JavaObject {
    private readonly consumer;
    private defaultLevel;
    private indent;
    constructor();
    /**
     * Fügt einen Consumer für Log-Informationen zum Logger hinzu.
     *
     * @param c   der hinzuzufügende Consumer von Log-Informationen
     */
    addConsumer(c: Consumer<LogData>): void;
    /**
     * Fügt alle Consumer des anderen Loggers zu diesem hinzu.
     *
     * @param other   der andere Logger
     */
    copyConsumer(other: Logger): void;
    /**
     * Entfernt den angegeben Consumer für Log-Informationen aus dem Logger.
     *
     * @param c   der zu entfernende Consumer von Log-Informationen
     */
    removeConsumer(c: Consumer<LogData>): void;
    /**
     * Gibt das aktuelle Default-Log-Level für neue Log-Informationen zurück.
     *
     * @return das aktuelle Default-Log-Level für neue Log-Informationen
     */
    getDefaultLevel(): LogLevel;
    /**
     * Setzt das Default-Log-Level für neue Log-Informationen.
     *
     * @param defaultLevel   das neue Default-Log-Level für neue Log-Informationen
     */
    setDefaultLevel(defaultLevel: LogLevel): void;
    /**
     * Setzt die Anzahl der Leerzeichen, die für die Einrückung bei einer Ausgabe von
     * neuen Log-Informationen genutzt wird.
     *
     * @param indent   die Anzahl der Leerzeichen
     */
    setIndent(indent: number): void;
    /**
     * Verändert die Anzahl der Leerzeichen, die für die Einrückung bei einer Ausgabe von
     * neuen Log-Informationen genutzt wird.
     *
     * @param indent   die Veränderung bei der Anzahl der Leerzeichen
     */
    modifyIndent(indent: number): void;
    /**
     * Loggt die übergebenen Log-Informationen bei diesem Debugger.
     *
     * @param data   die Log-Informationen
     */
    log(data: LogData): void;
    /**
     * Loggt den angebenen Text mit dem angegebenen Log-Level und der angebenen Einrückung.
     *
     * @param level    das Log-Level des zu loggenden Textes
     * @param indent   die Einrückung, die bei dem Text verwendet werden soll
     * @param text     der Text
     */
    log(level: LogLevel, indent: number, text: String): void;
    /**
     * Loggt den angebenen Text mit dem angegebenen Log-Level und der Standard-Einrückung.
     *
     * @param level    das Log-Level des zu loggenden Textes
     * @param text     der Text
     */
    log(level: LogLevel, text: String): void;
    /**
     * Loggt den angebenen Text mit dem Standard-Log-Level und der angebenen Einrückung.
     *
     * @param indent   die Einrückung, die bei dem Text verwendet werden soll
     * @param text     der Text
     */
    log(indent: number, text: String): void;
    /**
     * Loggt den angebenen Text mit dem Standard-Log-Level und der Standard-Einrückung.
     *
     * @param text     der Text
     */
    log(text: String): void;
    /**
     * Loggt den angebenen Text mit dem angegebenen Log-Level und der angebenen Einrückung
     * und gibt an, dass am Ende eine neue Zeile angefangen werden soll.
     *
     * @param level    das Log-Level des zu loggenden Textes
     * @param indent   die Einrückung, die bei dem Text verwendet werden soll
     * @param text     der Text
     */
    logLn(level: LogLevel, indent: number, text: String): void;
    /**
     * Loggt den angebenen Text mit dem angegebenen Log-Level und der Standard-Einrückung
     * und gibt an, dass am Ende eine neue Zeile angefangen werden soll.
     *
     *
     * @param level    das Log-Level des zu loggenden Textes
     * @param text     der Text
     */
    logLn(level: LogLevel, text: String): void;
    /**
     * Loggt den angebenen Text mit dem Standard-Log-Level und der angebenen Einrückung
     * und gibt an, dass am Ende eine neue Zeile angefangen werden soll.
     *
     * @param indent   die Einrückung, die bei dem Text verwendet werden soll
     * @param text     der Text
     */
    logLn(indent: number, text: String): void;
    /**
     * Loggt den angebenen Text mit dem Standard-Log-Level und der Standard-Einrückung
     * und gibt an, dass am Ende eine neue Zeile angefangen werden soll.
     *
     * @param text     der Text
     */
    logLn(text: String): void;
    isTranspiledInstanceOf(name: string): boolean;
}
export declare function cast_de_nrw_schule_svws_logger_Logger(obj: unknown): Logger;
