declare namespace org {
    namespace bukkit {
        namespace entity {
            namespace Villager {
                // @ts-ignore
                 class Profession implements org.bukkit.Keyed {
                    public static NONE: org.bukkit.entity.Villager.Profession;
                    public static ARMORER: org.bukkit.entity.Villager.Profession;
                    public static BUTCHER: org.bukkit.entity.Villager.Profession;
                    public static CARTOGRAPHER: org.bukkit.entity.Villager.Profession;
                    public static CLERIC: org.bukkit.entity.Villager.Profession;
                    public static FARMER: org.bukkit.entity.Villager.Profession;
                    public static FISHERMAN: org.bukkit.entity.Villager.Profession;
                    public static FLETCHER: org.bukkit.entity.Villager.Profession;
                    public static LEATHERWORKER: org.bukkit.entity.Villager.Profession;
                    public static LIBRARIAN: org.bukkit.entity.Villager.Profession;
                    public static MASON: org.bukkit.entity.Villager.Profession;
                    public static NITWIT: org.bukkit.entity.Villager.Profession;
                    public static SHEPHERD: org.bukkit.entity.Villager.Profession;
                    public static TOOLSMITH: org.bukkit.entity.Villager.Profession;
                    public static WEAPONSMITH: org.bukkit.entity.Villager.Profession;
                    public static values(): org.bukkit.entity.Villager.Profession[];
                    public static valueOf(name: string): org.bukkit.entity.Villager.Profession;
                    public getKey(): org.bukkit.NamespacedKey;
                }
            }
        }
    }
}
