import { JavaObject } from '../../../java/lang/JavaObject';
import { Comparable } from '../../../java/lang/Comparable';
export declare class GostHalbjahr extends JavaObject implements Comparable<GostHalbjahr | null> {
    private static readonly map;
    private static readonly mapKuerzel;
    private static readonly mapKuerzelAlt;
    static readonly maxHalbjahre: number;
    static readonly EF1: GostHalbjahr;
    static readonly EF2: GostHalbjahr;
    static readonly Q11: GostHalbjahr;
    static readonly Q12: GostHalbjahr;
    static readonly Q21: GostHalbjahr;
    static readonly Q22: GostHalbjahr;
    readonly id: number;
    readonly jahrgang: String;
    readonly halbjahr: number;
    readonly kuerzel: String;
    readonly kuerzelAlt: String;
    readonly beschreibung: String;
    /**
     * Erzeugt ein neues Halbjahr der Gymnasialen Oberstufe für diese Aufzählung.
     *
     * @param id             die ID für das Halbjahr, welches die Reihenfolge der Halbjahre wiederspiegelt
     * @param jahrgang       das Jahrgangskürzel des Halbjahres
     * @param halbjahr       die Nummer des Halbjahres
     * @param kuerzel        das eindeutige Kürzel für das Halbjahr der gymnasialen Oberstufe
     * @param kuerzelAlt     ein eindeutiges Kürzel, welche in alten Tabellen verwendet wurde.
     * @param beschreibung   die textuelle Beschreibung für das Halbjahr der gymnasialen Oberstufe
     */
    private constructor();
    /**
     * Gibt das nachfolgende Halbjahr zurück.
     *
     * @return das nachfolgende Halbjahr oder null, wenn es keines mehr gibt
     */
    next(): GostHalbjahr | null;
    /**
     * Gibt das vorherige Halbjahr zurück.
     *
     * @return das vorherige Halbjahr oder null, wenn es keines mehr gibt
     */
    previous(): GostHalbjahr | null;
    /**
     * Gibt alle Halbjahre zurück.
     *
     * @return ein Array mit allen Halbjahren der gymnasialen Oberstufe
     */
    static values(): Array<GostHalbjahr>;
    /**
     * Gibt alle Halbjahre der Einführungsphase zurück.
     *
     * @return ein Array mit allen Halbjahren der Einführungsphase der gymnasialen Oberstufe
     */
    static getEinfuehrungsphase(): Array<GostHalbjahr>;
    /**
     * Gibt alle Halbjahre der Qualifikationsphase zurück.
     *
     * @return ein Array mit allen Halbjahren der Qualifikationsphase der gymnasialen Oberstufe
     */
    static getQualifikationsphase(): Array<GostHalbjahr>;
    /**
     * Gibt alle Halbjahre des übergebenen Jahrgangs zurück.
     *
     * @param jahrgang     der Jahrgang
     *
     * @return ein Array mit den Halbjahren des Jahrgangs
     */
    static getHalbjahreFromJahrgang(jahrgang: String): Array<GostHalbjahr>;
    /**
     * Gibt das Halbjahr zurück, welches die übergebene ID hat.
     *
     * @param id   die ID des Halbjahres
     *
     * @return das Halbjahr oder null, falls die ID nicht gültig ist
     */
    static fromID(id: Number | null): GostHalbjahr | null;
    /**
     * Gibt das Halbjahr zurück, welches das übergebene Kürzel hat.
     *
     * @param kuerzel   das Kürzel
     *
     * @return das Halbjahr oder null, falls das Kürzel nicht gültig ist
     */
    static fromKuerzel(kuerzel: String | null): GostHalbjahr | null;
    /**
     * Gibt das Halbjahr zurück, welches das übergebene alte Kürzel hat.
     *
     * @param kuerzelAlt   das alte Kürzel
     *
     * @return das Halbjahr oder null, falls das Kürzel nicht gültig ist
     */
    static fromKuerzelAlt(kuerzelAlt: String | null): GostHalbjahr | null;
    /**
     * Gibt das Halbjahr zurück, welches zu dem übergebenen Jahrgang und Halbjahr gehört.
     *
     * @param jahrgang     der Jahrgang
     * @param halbjahr     die Nummer des Halbjahres
     *
     * @return das Halbjahr oder null, falls es kein gültiges Halbjahr mit den Angaben gibt.
     */
    static fromJahrgangUndHalbjahr(jahrgang: String | null, halbjahr: number): GostHalbjahr | null;
    /**
     * Ermittelt das Halbjahr der gymnasialen Oberstufe anhand des angegegebenen Abiturjahres und
     * dem aktuellen Schuljahr und Halbjahr
     *
     * @param abiturjahr   das Abiturjahr
     * @param schuljahr    das aktuelle Schuljahr
     * @param halbjahr     das aktuelle Halbjahr
     *
     * @return das Halbjahr der gymnasialen Oberstufe oder null
     */
    static fromAbiturjahrSchuljahrUndHalbjahr(abiturjahr: number, schuljahr: number, halbjahr: number): GostHalbjahr | null;
    /**
     * Bestimmt das Halbjahr der gymnasialen Oberstufe anhand des angegegebenen Abiturjahres und
     * dem aktuellen Schuljahr und Halbjahr und gibt anhand dessen das Halbjahr der gymnasialen
     * Oberstufe zurück, welches als nächstes geplant wird.
     *
     * @param abiturjahr   das Abiturjahr
     * @param schuljahr    das aktuelle Schuljahr
     * @param halbjahr     das aktuelle Halbjahr
     *
     * @return das nächste Halbjahr der gymnasialen Oberstufe zur Planung oder null, wenn der
     *         Jahrgang in der Q2.2 ist oder das Abitur bereits abgeschlossen ist.
     */
    static getPlanungshalbjahrFromAbiturjahrSchuljahrUndHalbjahr(abiturjahr: number, schuljahr: number, halbjahr: number): GostHalbjahr | null;
    /**
     * Gibt zurück, ob es Einführungsphase ist.
     *
     * @return  Einführungsphase, true oder false
     */
    istEinfuehrungsphase(): boolean;
    /**
     * Gibt zurück, ob es Qualifikationsphase ist.
     *
     * @return  Qualifikationsphase, true oder false
     */
    istQualifikationsphase(): boolean;
    /**
     * Prüft anhand der übergebenen Halbjahre, ob es sich um die beiden Halbjahre
     * der Einführungsphase handelt.
     *
     * @param halbjahre    die Halbjahre
     *
     * @return true, wenn es sich um die beiden Halbjahre der Einführungsphase handelt
     *         und ansonsten false
     */
    static pruefeEinfuehrungsphase(...halbjahre: Array<GostHalbjahr>): boolean;
    /**
     * Prüft anhand der übergebenen Halbjahre, ob es sich um die vier Halbjahre
     * der Qualifikationsphase handelt.
     *
     * @param halbjahre    die Halbjahre
     *
     * @return true, wenn es sich um die vier Halbjahre der Qualifikationsphase
     *         handelt und ansonsten false
     */
    static pruefeQualifikationsphase(...halbjahre: Array<GostHalbjahr>): boolean;
    compareTo(other: GostHalbjahr | null): number;
    isTranspiledInstanceOf(name: string): boolean;
}
export declare function cast_de_nrw_schule_svws_core_types_gost_GostHalbjahr(obj: unknown): GostHalbjahr;
