import { JavaObject } from '../java/lang/JavaObject';
import { LogData } from '../logger/LogData';
import { Consumer } from '../java/util/function/Consumer';
import { List } from '../java/util/List';
import { LogLevel } from '../logger/LogLevel';
export declare class LogConsumerVector extends JavaObject implements Consumer<LogData> {
    readonly printTime: boolean;
    readonly printLevel: boolean;
    private readonly logData;
    /**
     * Erzeugt einen neuen Consumer für Log-Informationen, mit den Standardeinstellungen,
     * das weder Zeit noch Log-Level mit ausgegeben werden.
     */
    constructor();
    /**
     * Erzeugt einen neuen Consumer für Log-Informationen.
     *
     * @param printTime     gibt an, ob die Zeit beim Loggen ausgegeben wird oder nicht
     * @param printLevel    gibt an, ob das Log-Level beim Loggen ausgegeben wird oder nicht
     */
    constructor(printTime: boolean, printLevel: boolean);
    /**
     * Hängt einen anderen Log vom gleichen Typ an diesen an.
     *
     * @param log   der anzuhängende Log
     */
    append(log: LogConsumerVector): void;
    /**
     * Diese Methode implementiert das funktionale Interface java.util.function.Consumer
     * und hängt die empfangenen Log-Informationen an den Vektor an.
     *
     * @param t   die anzuhängenden Log-Informationen
     */
    accept(t: LogData | null): void;
    /**
     * Gibt den Vektor mit den gesammelten Log-Informationen zurück.
     *
     * @return der Vektor mit den gesammelten Log-Informationen
     */
    getLogData(): List<LogData>;
    /**
     * Gibt die gesammelten Log-Informationen als Liste von Strings zurück.
     *
     * @return die gesammelten Log-Informationen als Liste von Strings
     */
    getStrings(): List<String> | null;
    /**
     * Gibt die gesammelten Log-Informationen als Liste von Strings zurück, die alle
     * als Präfix indet erhalten. Dies dient z.B. dem Einrücken der Log-Informationen.
     *
     * @param indent   das Präfix, welches zum Einrücken der Log-Informationen genutzt wird
     *
     * @return die gesammelten Log-Informationen als Liste von Strings
     */
    getStrings(indent: String): List<String> | null;
    /**
     * Gibt die gesammelten Log-Informationen als Text zurück, bei dem
     * die einzelnen Log-Informationen durch Zeilenumbrüche voneinander
     * getrennt werden. Dabei werden Informationen ausgelassen,
     * die aufgrund des hier vorgegebenen Log-Levels LogLevel.INFO nicht
     * berücksichtigt werden sollen.
     *
     * @return der Text der Log-Informationen für das Log-Level LogLevel.INFO
     */
    getText(): String;
    /**
     * Gibt die gesammelten Log-Informationen als Text zurück, bei dem
     * die einzelnen Log-Informationen durch Zeilenumbrüche voneinander
     * getrennt werden. Dabei werden Informationen ausgelassen,
     * die aufgrund des angebenen Log-Levels nicht berücksichtigt werden
     * sollen.
     *
     * @param level    das Log-Level, welches mindestens geben sein muss, damit die
     *                 Log-Informationen berücksichtigt werden.
     *
     * @return der Text der Log-Informationen für das angegebene Log-Level
     */
    getText(level: LogLevel): String;
    /**
     * Gibt die gesammelten Log-Informationen als Text zurück, bei dem
     * die einzelnen Log-Informationen durch Zeilenumbrüche voneinander
     * getrennt werden. Dabei werden Informationen ausgelassen,
     * die aufgrund des angebenen Log-Levels nicht berücksichtigt werden
     * sollen.
     *
     * @param level    das Log-Level, welches mindestens geben sein muss, damit die
     *                 Log-Informationen berücksichtigt werden.
     * @param indent   das Präfix, welches zum Einrücken der Log-Informationen genutzt wird
     *
     * @return der Text der Log-Informationen für das angegebene Log-Level
     */
    getText(level: LogLevel, indent: String): String;
    isTranspiledInstanceOf(name: string): boolean;
}
export declare function cast_de_nrw_schule_svws_logger_LogConsumerVector(obj: unknown): LogConsumerVector;
