declare namespace org {
    namespace bukkit {
        namespace event {
            namespace entity {
                namespace EntityDamageEvent {
                    // @ts-ignore
                     class DamageCause extends java.lang.Enum {
                        // @ts-ignore
                        public static CONTACT: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static ENTITY_ATTACK: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static ENTITY_SWEEP_ATTACK: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static PROJECTILE: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static SUFFOCATION: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static FALL: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static FIRE: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static FIRE_TICK: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static MELTING: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static LAVA: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static DROWNING: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static BLOCK_EXPLOSION: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static ENTITY_EXPLOSION: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static VOID: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static LIGHTNING: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static SUICIDE: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static STARVATION: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static POISON: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static MAGIC: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static WITHER: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static FALLING_BLOCK: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static THORNS: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static DRAGON_BREATH: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static CUSTOM: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static FLY_INTO_WALL: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static HOT_FLOOR: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static CRAMMING: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static DRYOUT: org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                        // @ts-ignore
                        public static values(): org.bukkit.event.entity.EntityDamageEvent.DamageCause[];
                        // @ts-ignore
                        public static valueOf(name: string): org.bukkit.event.entity.EntityDamageEvent.DamageCause;
                    }
                }
            }
        }
    }
}
