import { GostAbiturFach } from '../../../../core/types/gost/GostAbiturFach';
import { AbiturFachbelegung } from '../../../../core/data/gost/AbiturFachbelegung';
import { GostBelegpruefungsArt } from '../../../../core/abschluss/gost/GostBelegpruefungsArt';
import { GostBelegpruefung } from '../../../../core/abschluss/gost/GostBelegpruefung';
import { AbiturdatenManager } from '../../../../core/abschluss/gost/AbiturdatenManager';
export declare class AbiFaecher extends GostBelegpruefung {
    private mapAbiturFachbelegungen;
    private anzahlAbiFaecher;
    private anzahlDeutschMatheFremdsprache;
    private anzahlFremdsprachen;
    private anzahlSportReligion;
    private hatAufgabenfeldI;
    private hatAufgabenfeldII;
    private hatAufgabenfeldIII;
    /**
     * Erstellt eine neue Belegprüfung für die Projektkurse.
     *
     * @param manager         der Daten-Manager für die Abiturdaten
     * @param pruefungs_art   die Art der durchzuführenden Prüfung (z.B. EF.1 oder GESAMT)
     */
    constructor(manager: AbiturdatenManager, pruefungs_art: GostBelegpruefungsArt);
    protected init(): void;
    protected pruefeEF1(): void;
    protected pruefeGesamt(): void;
    /**
     * Gesamtprüfung Punkt 70:
     * Prüfe, ob der erste LK eine fortgeführte Fremdsprache, eine klassische Naturwissenschaft, Mathematik oder Deutsch ist
     */
    private pruefeLK1;
    /**
     * Gesamtprüfung Punkt 71-74:
     * Prüfe, ob die Zahl der Abiturfächer 4 ist und diese alle Aufgabenfelder abdecken
     *    und ob mindestens 2 Fächer im Bereich Deutsch, Fremdsprache, Mathematik liegen
     *    und ob maximale 1 Fach im Bereich Sport und Religion liegt
     *    und ob Sport nicht als erstes oder drittes Abiturfach gewählt wurde
     */
    private pruefeAnzahlUndAufgabenfelderAbiFaecher;
    /**
     * Gesamtprüfung: Prüfe, ob eines der Abiturfächer mehrfach belegt wurde. Es ist nicht zulässig
     * Abiturfächer mehrfach belegt zu haben.
     */
    private pruefeMehrfacheAbiturfaecher;
    /**
     * Gesamtprüfung Punkte 76 und 77:
     * Prüfe ob das 3. Abiturfach von Q1.1 bis Q2.2 schriftlich belegt wurde
     *   und on das 4. Abiturfach von Q1.1 bis Q2.1 schritlich und in Q2.2 mündlich belegt wurde
     *
     */
    private pruefeSchriftlichkeitAB3undAB4;
    /**
     * Liefert die zugehörige Abitur-Fachbelegung zurück.
     *
     * @param abifach  die Art des Abifachs (1., 2., 3. oder 4. Fach)
     *
     * @return die Abitur-Fachbelegung oder null, falls es (noch) nicht festgelegt wurde
     */
    getAbiturfach(abifach: GostAbiturFach | null): AbiturFachbelegung | null;
    isTranspiledInstanceOf(name: string): boolean;
}
export declare function cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_AbiFaecher(obj: unknown): AbiFaecher;
