import { Service } from '../../../core/Service';
import { GEAbschlussFaecher } from '../../../core/data/abschluss/GEAbschlussFaecher';
import { AbschlussErgebnis } from '../../../core/data/abschluss/AbschlussErgebnis';
export declare class ServiceBerechtigungMSAQ extends Service<GEAbschlussFaecher, AbschlussErgebnis> {
    private filterDefizite;
    private filterDefizite1NS;
    private filterDefizite2NS;
    private filterDefizitWP;
    private filterDefizitNichtWP;
    private filterFG1NichtAusgleichbar;
    private filterFG2NichtAusgleichbar;
    private filterAusgleiche;
    private filterEKurse;
    constructor();
    /**
     * Führt die Abschlussberechnung (bzw. Berechtigungsberechnung) anhand der übergebenen
     * Abschlussfächer durch und gibt das Berechnungsergebnis zurück.
     *
     * @param input    die Abschlussfächer
     *
     * @return das Ergebnis der Abschlussberechnung
     */
    handle(input: GEAbschlussFaecher): AbschlussErgebnis;
    /**
     * Prüft in Bezug auf Defizite, ob der Abschluss erworben wurde.
     *
     * @param faecher      die Asbchlussfächer nach Fächergruppen sortiert
     * @param log_indent   die Einrückung für das Logging
     *
     * @return das Ergebnis der Abschlussberechnung in Bezug die Defizitberechnung
     */
    private pruefeDefizite;
    /**
     * Führt eine Detailprüfung in der Fächergruppe 2 durch. Diese Methode wird ggf. mehrfach - auch rekursiv - aufgerufen.
     *
     * @param faecher                die Abschlussfächer nach Fächergruppen sortiert
     * @param log_indent             die Einrückung für das Logging
     * @param npFaecher              die Liste der Nachprüfungsfächer, die bisher schon feststehen
     * @param nachpruefung_genutzt   gibt an, ob die Nachprüfungsmöglichkeit bereits eingesetzt werden musste
     *
     * @return das Ergebnis der Abschlussberechnung in Bezug auf den Stand dieser Detailprüfung
     */
    private pruefeFG2;
    isTranspiledInstanceOf(name: string): boolean;
}
export declare function cast_de_nrw_schule_svws_core_abschluss_ge_ServiceBerechtigungMSAQ(obj: unknown): ServiceBerechtigungMSAQ;
