import { JavaObject } from '../java/lang/JavaObject';
import { Sprachbelegung } from '../core/data/Sprachbelegung';
import { Vector } from '../java/util/Vector';
import { Sprachendaten } from '../core/data/Sprachendaten';
export declare class SprachendatenManager extends JavaObject {
    constructor();
    /**
     * Prüft, ob eine unterrichtliche Belegung der übergebenen Sprache existiert.
     *
     * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen
     * @param sprache   das einstellige Kürzel der Sprache
     *
     * @return true, falls eine Belegung existiert und ansonsten false
     */
    static hatSprachbelegung(sprachendaten: Sprachendaten | null, sprache: String | null): boolean;
    /**
     * Prüft, ob eine unterrichtliche Belegung der übergebenen Sprache in der Sekundarstufe I existiert.
     *
     * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen
     * @param sprache   das einstellige Kürzel der Sprache
     *
     * @return true, falls eine Belegung existiert und ansonsten false
     */
    static hatSprachbelegungInSekI(sprachendaten: Sprachendaten | null, sprache: String | null): boolean;
    /**
     * Prüft, ob eine unterrichtliche Belegung der übergebenen Sprache in der Sekundarstufe I mit der angegebenen Belegungsdauer existiert.
     *
     * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen
     * @param sprache das einstellige Kürzel der Sprache
     * @param mindestBelegdauer Zulässig sind Werte 1 bis 5 für die minimale Dauer der Sprachbelegung, damit die Sprache berücksichtigt wird.
     *
     * @return true, falls eine Belegung existiert und ansonsten false
     */
    static hatSprachbelegungInSekIMitDauer(sprachendaten: Sprachendaten | null, sprache: String | null, mindestBelegdauer: Number | null): boolean;
    /**
     * Gibt die zu der übergebenen Sprache gehörende Sprachbelegung zurück.
     *
     * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen
     * @param sprache   das einstellige Kürzel der Sprache
     *
     * @return die Sprachbelegung oder null, falls keine existiert
     */
    static getSprachbelegung(sprachendaten: Sprachendaten | null, sprache: String | null): Sprachbelegung | null;
    /**
     * Liefert die Sprachen aus der Sprachenfolge zurück, deren Beginn im angegebenen Zeitraum liegt und die angegebene Dauer besitzt.
     * Dabei wird davon ausgegangen, dass Sprachen ohne Ende der Belegung am Ende der Sekundarstufe I belegt wurden.
     * Bei einem Schüler der Sek-II wird auch nur die Dauer der Belegung in der Sek-I betrachtet.
     * Sprachprüfungen werden nicht berücksichtigt.
     *
     * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen
     * @param belegungbeginnStart Es werden nur Sprachen berücksichtigt, deren Belegungsbeginn größer oder gleich dem angegebenen ASDJahrgang ist.
     * @param belegungbeginnEnde Es werden nur Sprachen berücksichtigt, deren Belegungsbeginn kleiner oder gleich dem angegebenen ASDJahrgang ist.
     * @param mindestBelegdauer Zulässig sind Werte 1 bis 5 für die minimale Dauer der Sprachbelegung, damit die Sprache berücksichtigt wird.
     *
     * @return Vector mit Sprachbelegungen, die die Kriterien erfüllen. Die Liste ist nach Belegungsbeginn aufsteigend sortiert
     */
    static getSprachlegungenNachBeginnUndDauerEndeSekI(sprachendaten: Sprachendaten | null, belegungbeginnStart: String | null, belegungbeginnEnde: String | null, mindestBelegdauer: Number | null): Vector<Sprachbelegung>;
    /**
     * Prüft, ob die übergebene Sprache als eine fortgeführte Fremdsprache in der gymnasialen Oberstufe
     * gemäß APO-GOSt ab EF belegt werden kann. Dazu zählen alle belegten Sprachen mit mind. 2 Jahren Belegung in Sek-I
     * sowie Sprachen aus bestimmten Sprachprüfungen.
     *
     * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen
     * @param sprache das einstellige Kürzel der Sprache
     *
     * @return true, falls die Sprache als fortgeführte Fremdsprache als EF belegt werden kann, andernfalls false
     */
    static istFortfuehrbareSpracheInGOSt(sprachendaten: Sprachendaten | null, sprache: String | null): boolean;
    /**
     * Sammelt alle Sprachen, die in der GOSt als fortgeführte Sprachen belegt werden können, sei
     * es aufgrund einer Belegung von mindestens zwei Jahren oder aufgrund einer Sprachprüfung.
     *
     * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen
     *
     * @return Liste alle Sprachen, die in der GOSt fortgeführt werden können.
     */
    static getFortfuehrbareSprachenInGOSt(sprachendaten: Sprachendaten | null): Vector<String>;
    /**
     * Prüft für den Zeitpunkt Ende Sek-I, ob eine Fremdsprache im Umfang von mindestens 4 Jahren belegt wurde.
     * Dabei wird davon ausgegangen, dass Sprachen ohne Ende der Belegung am Ende der Sekundarstufe I belegt wurden.
     * Ist dies in der Sprachenfolge nicht der Fall, werden zusätzlich evtl. Sprachprüfungen herangezogen.
     *
     * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen
     *
     * @return true, falls der Nachweis gemäß der aktuellen Sprachdaten erfüllt ist, andernfalls false.
     */
    static hatEineSpracheMitMin4JahrenDauerEndeSekI(sprachendaten: Sprachendaten | null): boolean;
    /**
     * Prüft für den Zeitpunkt Ende Sek-I, ob eine zweite Fremdsprache im Umfang von mindestens 4 Jahren belegt wurde.
     * Dabei wird davon ausgegangen, dass Sprachen ohne Ende der Belegung am Ende der Sekundarstufe I belegt wurden.
     * Ist dies in der Sprachenfolge nicht der Fall, werden zusätzlich evtl. Sprachprüfungen herangezogen.
     *
     * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen
     *
     * @return true, falls der Nachweis gemäß der aktuellen Sprachdaten erfüllt ist, andernfalls false.
     */
    static hatZweiSprachenMitMin4JahrenDauerEndeSekI(sprachendaten: Sprachendaten | null): boolean;
    /**
     * Prüft für den Zeitpunkt Ende Sek-I, ob eine Fremdsprache ab Kasse 8/9 im Umfang von mindestens 2 Jahren belegt wurde.
     * Dabei wird davon ausgegangen, dass Sprachen ohne Ende der Belegung am Ende der Sekundarstufe I belegt wurden.
     *
     * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen
     *
     * @return true, falls der Nachweis gemäß der aktuellen Sprachdaten erfüllt ist, andernfalls false.
     */
    static hatSpracheMit2JahrenDauerEndeSekI(sprachendaten: Sprachendaten | null): boolean;
    /**
     * Prüft, ob eine Sprachfeststellungsprüfung auf dem Niveau der Einführungsphase (EF) der GOSt vorliegt.
     * Nach §11 (2) APO-GOSt setzt das eine Prüfung in der gleichen Sprache am Ende der Sek-I voraus
     *
     * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen
     *
     * @return true, falls entsprechende Sprachprüfungen vorhanden sind, andernfalls false.
     */
    static hatSprachfeststellungspruefungAufEFNiveau(sprachendaten: Sprachendaten | null): boolean;
    /**
     * Gibt die Fremdsprache zurück, die als erste Fremdsprache der Sekundarstufe I gewertet werden kann.
     * Im Falle einer Sprachprüfung als erste Pflichtfremdsprache wird diese mit der als Ersatz eingetragene Fremdsprache zurückgegeben.
     * Ist keine Sprachprüfung als erste Pflichtfremdsprache vorhanden, so wird die als erste Sprache in der Sekundarstufe I belegt
     * Sprache zurückgegeben, unabhängig von deren Belegdauer.
     *
     * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen
     *
     * @return Die erste belegte Sprache (gemäß Belegung oder Prüfung) oder null, falls keine existiert
     */
    static getErsteSpracheInSekI(sprachendaten: Sprachendaten | null): String | null;
    /**
     * Gibt die Fremdsprache zurück, die als zweite Fremdsprache der Sekundarstufe I gewertet werden kann.
     * Im Falle einer Sprachprüfung als zweite Pflichtfremdsprache bzw. WP-Sprache wird diese mit der als Ersatz eingetragene Fremdsprache zurückgegeben.
     * Ist keine Sprachprüfung als zweite Pflichtfremdsprache bzw. WP-Sprache vorhanden, so wird die als zweite Sprache in der Sekundarstufe I belegt
     * Sprache zurückgegeben, unabhängig von deren Belegdauer.
     *
     * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen
     *
     * @return Die zweite belegte Sprache (gemäß Belegung oder Prüfung) oder null, falls keine existiert
     */
    static getZweiteSpracheInSekI(sprachendaten: Sprachendaten | null): String | null;
    /**
     * Ermittelt, ob eine Fremdsprache ab Kasse 8/9 im Umfang von mindestens 2 Jahren belegt wurde und gibt sie zurück
     * Dabei wird davon ausgegangen, dass Sprachen ohne Ende der Belegung am Ende der Sekundarstufe I belegt wurden.
     *
     * @param sprachendaten die Sprachendaten mit Sprachbelegungen und Sprachprüfungen
     *
     * @return Sprache, falls eine Belegung vorhanden ist, sonst null
     */
    static getSpracheMit2JahrenDauerEndeSekI(sprachendaten: Sprachendaten | null): String | null;
    /**
     * Hilfsfunktion, die einen ASDJahrgang nach APO-SI und APO-GOSt und in einen numerischen Wert für Vergleiche umwandelt.
     * Dabei wird EF zu 11, Q1 zu 12 und Q2 zu 13. Die übrigen Stufen werden gemäß ihrer numerischen Stufenangaben umgewandelt.
     *
     * @param ASDJahrgang Der in den mumerischen Wert umzuwandelnde ASDJahrgang.
     *
     * @return Wert des ASDJahrgangs zwischen 5 und 13, wenn dieser nicht bestimmt werden kann, wird der Wert 0 zurückgegeben.
     */
    private static ASDJahrgangNumerisch;
    isTranspiledInstanceOf(name: string): boolean;
}
export declare function cast_de_nrw_schule_svws_core_SprachendatenManager(obj: unknown): SprachendatenManager;
