import { JavaObject } from '../../../java/lang/JavaObject';
import { LehrerKatalogFachrichtungEintrag } from '../../../core/data/lehrer/LehrerKatalogFachrichtungEintrag';
export declare class LehrerFachrichtung extends JavaObject {
    /** the name of the enumeration value */
    private readonly __name;
    /** the ordinal value for the enumeration value */
    private readonly __ordinal;
    /** an array containing all values of this enumeration */
    private static readonly all_values_by_ordinal;
    /** an array containing all values of this enumeration indexed by their name*/
    private static readonly all_values_by_name;
    static readonly ID_03: LehrerFachrichtung;
    static readonly ID_04: LehrerFachrichtung;
    static readonly ID_05: LehrerFachrichtung;
    static readonly ID_08: LehrerFachrichtung;
    static readonly ID_09: LehrerFachrichtung;
    static readonly ID_11: LehrerFachrichtung;
    static readonly ID_12: LehrerFachrichtung;
    static readonly ID_21: LehrerFachrichtung;
    static readonly ID_22: LehrerFachrichtung;
    static readonly ID_23: LehrerFachrichtung;
    static readonly ID_31: LehrerFachrichtung;
    static readonly ID_35: LehrerFachrichtung;
    static readonly ID_41: LehrerFachrichtung;
    static readonly ID_42: LehrerFachrichtung;
    static readonly ID_55: LehrerFachrichtung;
    static readonly ID_60: LehrerFachrichtung;
    static readonly ID_65: LehrerFachrichtung;
    static readonly ID_66: LehrerFachrichtung;
    static readonly ID_70: LehrerFachrichtung;
    static readonly ID_71: LehrerFachrichtung;
    static readonly ID_80: LehrerFachrichtung;
    static readonly ID_91: LehrerFachrichtung;
    static readonly ID_92: LehrerFachrichtung;
    static readonly ID_BL: LehrerFachrichtung;
    static readonly ID_EZ: LehrerFachrichtung;
    static readonly ID_GB: LehrerFachrichtung;
    static readonly ID_GH: LehrerFachrichtung;
    static readonly ID_KB: LehrerFachrichtung;
    static readonly ID_LB: LehrerFachrichtung;
    static readonly ID_SB: LehrerFachrichtung;
    static readonly ID_SG: LehrerFachrichtung;
    static readonly ID_SH: LehrerFachrichtung;
    static readonly ID_51: LehrerFachrichtung;
    static readonly ID_FT: LehrerFachrichtung;
    static readonly ID_KT: LehrerFachrichtung;
    static readonly ID_VT: LehrerFachrichtung;
    static readonly ID_TI: LehrerFachrichtung;
    static readonly ID_ET: LehrerFachrichtung;
    static readonly ID_NT: LehrerFachrichtung;
    static readonly ID_HC: LehrerFachrichtung;
    static readonly ID_HT: LehrerFachrichtung;
    static readonly ID_TB: LehrerFachrichtung;
    static readonly ID_BK: LehrerFachrichtung;
    static readonly ID_HB: LehrerFachrichtung;
    static readonly ID_IB: LehrerFachrichtung;
    static readonly ID_VR: LehrerFachrichtung;
    static readonly ID_VL: LehrerFachrichtung;
    static readonly ID_OL: LehrerFachrichtung;
    static readonly ID_ST: LehrerFachrichtung;
    static readonly ID_WL: LehrerFachrichtung;
    static readonly ID_WG: LehrerFachrichtung;
    static readonly ID_WI: LehrerFachrichtung;
    static readonly ID_LT: LehrerFachrichtung;
    static readonly ID_99: LehrerFachrichtung;
    static readonly ID_AS: LehrerFachrichtung;
    static readonly ID_BS: LehrerFachrichtung;
    static readonly ID_UR: LehrerFachrichtung;
    static readonly ID_81: LehrerFachrichtung;
    static readonly ID_02: LehrerFachrichtung;
    static readonly ID_06: LehrerFachrichtung;
    static readonly ID_07: LehrerFachrichtung;
    static readonly ID_13: LehrerFachrichtung;
    static readonly ID_24: LehrerFachrichtung;
    static readonly ID_25: LehrerFachrichtung;
    static readonly ID_36: LehrerFachrichtung;
    static readonly ID_67: LehrerFachrichtung;
    static readonly ID_BB: LehrerFachrichtung;
    static readonly ID_BW: LehrerFachrichtung;
    static readonly ID_PW: LehrerFachrichtung;
    static readonly ID_VB: LehrerFachrichtung;
    static readonly ID_ES: LehrerFachrichtung;
    static readonly ID_GG: LehrerFachrichtung;
    static readonly ID_HK: LehrerFachrichtung;
    static readonly ID_KM: LehrerFachrichtung;
    static readonly ID_LE: LehrerFachrichtung;
    static readonly ID_SQ: LehrerFachrichtung;
    static readonly ID_SE: LehrerFachrichtung;
    static readonly ID_32: LehrerFachrichtung;
    static readonly ID_57: LehrerFachrichtung;
    static readonly ID_58: LehrerFachrichtung;
    static readonly ID_59: LehrerFachrichtung;
    static readonly ID_68: LehrerFachrichtung;
    static readonly ID_86: LehrerFachrichtung;
    static readonly ID_93: LehrerFachrichtung;
    static readonly ID_IT: LehrerFachrichtung;
    static readonly ID_AU: LehrerFachrichtung;
    static readonly ID_VE: LehrerFachrichtung;
    static readonly ID_6A: LehrerFachrichtung;
    static readonly ID_6B: LehrerFachrichtung;
    static readonly ID_6C: LehrerFachrichtung;
    static readonly ID_6D: LehrerFachrichtung;
    static readonly ID_6E: LehrerFachrichtung;
    static readonly ID_6F: LehrerFachrichtung;
    static readonly ID_6G: LehrerFachrichtung;
    static readonly ID_6H: LehrerFachrichtung;
    static readonly ID_6I: LehrerFachrichtung;
    static readonly ID_6J: LehrerFachrichtung;
    static readonly ID_6K: LehrerFachrichtung;
    static readonly ID_PK: LehrerFachrichtung;
    static readonly ID_GZ: LehrerFachrichtung;
    static readonly ID_GA: LehrerFachrichtung;
    static readonly ID_GL: LehrerFachrichtung;
    static readonly ID_PB: LehrerFachrichtung;
    static readonly ID_TH: LehrerFachrichtung;
    static readonly ID_NU: LehrerFachrichtung;
    static VERSION: number;
    readonly daten: LehrerKatalogFachrichtungEintrag;
    readonly historie: Array<LehrerKatalogFachrichtungEintrag>;
    private static readonly _fachrichtungenByID;
    private static readonly _fachrichtungenByKuerzel;
    /**
     * Erzeugt eine neuen Fachrichtung in der Aufzählung.
     *
     * @param historie   die Historie der Fachrichtung, welches ein Array von {@link LehrerKatalogFachrichtungEintrag} ist
     */
    private constructor();
    /**
     * Gibt eine Map von den IDs der Fachrichtungen auf die zugehörigen Fachrichtungen
     * zurück. Sollte diese noch nicht initialisiert sein, so wird sie initielisiert.
     *
     * @return die Map von den IDs der Fachrichtungen auf die zugehörigen Fachrichtungen
     */
    private static getMapFachrichtungByID;
    /**
     * Gibt eine Map von den Kürzeln der Fachrichtungen auf die zugehörigen Fachrichtungen
     * zurück. Sollte diese noch nicht initialisiert sein, so wird sie initielisiert.
     *
     * @return die Map von den Kürzeln der Fachrichtungen auf die zugehörigen Fachrichtungen
     */
    private static getMapFachrichtungByKuerzel;
    /**
     * Gibt die Fachrichtung anhand der angegebenen ID zurück.
     *
     * @param id   die ID der Fachrichtung
     *
     * @return die Fachrichtung oder null, falls die ID ungültig ist
     */
    static getByID(id: number): LehrerFachrichtung | null;
    /**
     * Gibt die Fachrichtung anhand des angegebenen Kürzels zurück.
     *
     * @param kuerzel   das Kürzel der Fachrichtung
     *
     * @return die Fachrichtung oder null, falls das Kürzel ungültig ist
     */
    static getByKuerzel(kuerzel: String | null): LehrerFachrichtung | null;
    /**
     * Returns the name of this enumeration value.
     *
     * @returns the name
     */
    private name;
    /**
     * Returns the ordinal value of this enumeration value.
     *
     * @returns the ordinal value
     */
    private ordinal;
    /**
     * Returns the name of this enumeration value.
     *
     * @returns the name
     */
    toString(): String;
    /**
     * Returns true if this and the other enumeration values are equal.
     *
     * @param other   the other enumeration value
     *
     * @returns true if they are equal and false otherwise
     */
    equals(other: JavaObject): boolean;
    /**
     * Returns the ordinal value as hashcode, since the ordinal value is unique.
     *
     * @returns the ordinal value as hashcode
     */
    hashCode(): number;
    /**
     * Compares this enumeration value with the other enumeration value by their ordinal value.
     *
     * @param other   the other enumeration value
     *
     * @returns a negative, zero or postive value as this enumeration value is less than, equal to
     *          or greater than the other enumeration value
     */
    compareTo(other: LehrerFachrichtung): number;
    /**
     * Returns an array with enumeration values.
     *
     * @returns the array with enumeration values
     */
    static values(): Array<LehrerFachrichtung>;
    /**
     * Returns the enumeration value with the specified name.
     *
     * @param name   the name of the enumeration value
     *
     * @returns the enumeration values or null
     */
    static valueOf(name: String): LehrerFachrichtung | null;
    isTranspiledInstanceOf(name: string): boolean;
}
export declare function cast_de_nrw_schule_svws_core_types_statkue_LehrerFachrichtung(obj: unknown): LehrerFachrichtung;
