import { BaseApi } from '../api/BaseApi';
import { AbschlussErgebnis } from '../core/data/abschluss/AbschlussErgebnis';
import { GEAbschlussFaecher } from '../core/data/abschluss/GEAbschlussFaecher';
import { GostBelegpruefungErgebnis } from '../core/abschluss/gost/GostBelegpruefungErgebnis';
import { GostBelegpruefungsdaten } from '../core/data/gost/GostBelegpruefungsdaten';
export declare class ApiServerAlgorithmen extends BaseApi {
    /**
     *
     * Erstellt eine neue API mit der übergebenen Konfiguration.
     *
     * @param {string} url - die URL des Servers: Alle Pfadangaben sind relativ zu dieser URL
     * @param {string} username - der Benutzername für den API-Zugriff
     * @param {string} password - das Kennwort des Benutzers für den API-Zugriff
     */
    constructor(url: string, username: string, password: string);
    /**
     * Implementierung der POST-Methode getGesamtschuleAbschlussHA10 für den Zugriff auf die URL https://{hostname}/api/gesamtschule/abschluss/ha10
     *
     * Prüft anhand der übergeben Fächerdaten, ob ein Hauptschulabschluss der Klasse 10 an einer Gesamtschule erreicht wird oder nicht. Im Falle, dass er nicht erreicht wird, werden ggf. Nachprüfungsfächer zurückgegeben.
     *
     * Mögliche HTTP-Antworten:
     *   Code 200: Das Ergebnis der Abschlussberechnung, ggf. mit Nachprüfungsmöglichkeiten
     *     - Mime-Type: application/json
     *     - Rückgabe-Typ: AbschlussErgebnis
     *
     * @param {GEAbschlussFaecher} data - der Request-Body für die HTTP-Methode
     *
     * @returns Das Ergebnis der Abschlussberechnung, ggf. mit Nachprüfungsmöglichkeiten
     */
    getGesamtschuleAbschlussHA10(data: GEAbschlussFaecher): Promise<AbschlussErgebnis>;
    /**
     * Implementierung der POST-Methode getGesamtschuleAbschlussHA9 für den Zugriff auf die URL https://{hostname}/api/gesamtschule/abschluss/ha9
     *
     * Prüft anhand der übergeben Fächerdaten, ob ein Hauptschulabschluss der Klasse 9 an einer Gesamtschule erreicht wird oder nicht. Im Falle, dass er nicht erreicht wird, werden ggf. Nachprüfungsfächer zurückgegeben.
     *
     * Mögliche HTTP-Antworten:
     *   Code 200: Das Ergebnis der Abschlussberechnung, ggf. mit Nachprüfungsmöglichkeiten
     *     - Mime-Type: application/json
     *     - Rückgabe-Typ: AbschlussErgebnis
     *   Code 400: Es wurden ungültige Werte übergeben, so dass kein Abschluss berechnet werden kann.
     *
     * @param {GEAbschlussFaecher} data - der Request-Body für die HTTP-Methode
     *
     * @returns Das Ergebnis der Abschlussberechnung, ggf. mit Nachprüfungsmöglichkeiten
     */
    getGesamtschuleAbschlussHA9(data: GEAbschlussFaecher): Promise<AbschlussErgebnis>;
    /**
     * Implementierung der POST-Methode getGesamtschuleAbschlussMSA für den Zugriff auf die URL https://{hostname}/api/gesamtschule/abschluss/msa
     *
     * Prüft anhand der übergeben Fächerdaten, ob ein Mittlerer Schulabschluss nach der Klasse 10 an einer Gesamtschule erreicht wird oder nicht. Im Falle, dass er nicht erreicht wird, werden ggf. Nachprüfungsfächer zurückgegeben.
     *
     * Mögliche HTTP-Antworten:
     *   Code 200: Das Ergebnis der Abschlussberechnung, ggf. mit Nachprüfungsmöglichkeiten
     *     - Mime-Type: application/json
     *     - Rückgabe-Typ: AbschlussErgebnis
     *
     * @param {GEAbschlussFaecher} data - der Request-Body für die HTTP-Methode
     *
     * @returns Das Ergebnis der Abschlussberechnung, ggf. mit Nachprüfungsmöglichkeiten
     */
    getGesamtschuleAbschlussMSA(data: GEAbschlussFaecher): Promise<AbschlussErgebnis>;
    /**
     * Implementierung der POST-Methode getGesamtschuleAbschlussMSAQ für den Zugriff auf die URL https://{hostname}/api/gesamtschule/abschluss/msaq
     *
     * Prüft anhand der übergeben Fächerdaten, ob die Berechtigung zum Besuch der gymnasialen Oberstufe im Rahmen eines Mittlerer Schulabschlusses nach der Klasse 10 an einer Gesamtschule erreicht wird oder nicht.
     *
     * Mögliche HTTP-Antworten:
     *   Code 200: Das Ergebnis der Abschlussberechnung, ggf. mit Nachprüfungsmöglichkeiten
     *     - Mime-Type: application/json
     *     - Rückgabe-Typ: AbschlussErgebnis
     *
     * @param {GEAbschlussFaecher} data - der Request-Body für die HTTP-Methode
     *
     * @returns Das Ergebnis der Abschlussberechnung, ggf. mit Nachprüfungsmöglichkeiten
     */
    getGesamtschuleAbschlussMSAQ(data: GEAbschlussFaecher): Promise<AbschlussErgebnis>;
    /**
     * Implementierung der POST-Methode getGesamtschuleAbschlussPrognose für den Zugriff auf die URL https://{hostname}/api/gesamtschule/abschluss/prognose
     *
     * Führt anhand der übergeben Fächerdaten eine Abschlussprognose für den Gesamtschulabschluss nach Klasse 9 bzw. Klasse 10 durch.Wird der Jahrgang 10 angegeben, so findet keine Prüfung auf den HA9 statt.
     *
     * Mögliche HTTP-Antworten:
     *   Code 200: Das Ergebnis der Prognoseberechnung, ggf. mit Nachprüfungsmöglichkeiten
     *     - Mime-Type: application/json
     *     - Rückgabe-Typ: AbschlussErgebnis
     *
     * @param {GEAbschlussFaecher} data - der Request-Body für die HTTP-Methode
     *
     * @returns Das Ergebnis der Prognoseberechnung, ggf. mit Nachprüfungsmöglichkeiten
     */
    getGesamtschuleAbschlussPrognose(data: GEAbschlussFaecher): Promise<AbschlussErgebnis>;
    /**
     * Implementierung der POST-Methode getGostBelegpruefungEF1 für den Zugriff auf die URL https://{hostname}/api/gost/belegpruefung/EF1
     *
     * Prüft anhand der übergeben Abiturdaten, ob die Belegung in den Abiturdaten korrekt ist oder nicht. Es werden ggf. auch Belegungsfehler und Hinweise zur Belegung zurückgegeben.
     *
     * Mögliche HTTP-Antworten:
     *   Code 200: Das Ergebnis der Belegprüfung, ggf. mit Belegungsfehlern
     *     - Mime-Type: application/json
     *     - Rückgabe-Typ: GostBelegpruefungErgebnis
     *
     * @param {GostBelegpruefungsdaten} data - der Request-Body für die HTTP-Methode
     *
     * @returns Das Ergebnis der Belegprüfung, ggf. mit Belegungsfehlern
     */
    getGostBelegpruefungEF1(data: GostBelegpruefungsdaten): Promise<GostBelegpruefungErgebnis>;
    /**
     * Implementierung der POST-Methode getGostBelegpruefungGesamt für den Zugriff auf die URL https://{hostname}/api/gost/belegpruefung/gesamt
     *
     * Prüft anhand der übergeben Abiturdaten, ob die Belegung in den Abiturdaten korrekt ist oder nicht. Es werden ggf. auch Belegungsfehler und Hinweise zur Belegung zurückgegeben.
     *
     * Mögliche HTTP-Antworten:
     *   Code 200: Das Ergebnis der Belegprüfung, ggf. mit Belegungsfehlern
     *     - Mime-Type: application/json
     *     - Rückgabe-Typ: GostBelegpruefungErgebnis
     *
     * @param {GostBelegpruefungsdaten} data - der Request-Body für die HTTP-Methode
     *
     * @returns Das Ergebnis der Belegprüfung, ggf. mit Belegungsfehlern
     */
    getGostBelegpruefungGesamt(data: GostBelegpruefungsdaten): Promise<GostBelegpruefungErgebnis>;
}
