import {$BlockRightClickedKubeEvent, $BlockRightClickedKubeEvent$$Type} from "dev.latvian.mods.kubejs.block.BlockRightClickedKubeEvent"
import {$CommandRegistryKubeEvent, $CommandRegistryKubeEvent$$Type} from "dev.latvian.mods.kubejs.command.CommandRegistryKubeEvent"
import {$BlockStoppedFallingKubeEvent, $BlockStoppedFallingKubeEvent$$Type} from "dev.latvian.mods.kubejs.block.BlockStoppedFallingKubeEvent"
import {$ExplosionKubeEvent$After, $ExplosionKubeEvent$After$$Type} from "dev.latvian.mods.kubejs.level.ExplosionKubeEvent$After"
import {$FoodEatenKubeEvent, $FoodEatenKubeEvent$$Type} from "dev.latvian.mods.kubejs.item.FoodEatenKubeEvent"
import {$CheckLivingEntitySpawnKubeEvent, $CheckLivingEntitySpawnKubeEvent$$Type} from "dev.latvian.mods.kubejs.entity.CheckLivingEntitySpawnKubeEvent"
import {$KubeDataGenerator, $KubeDataGenerator$$Type} from "dev.latvian.mods.kubejs.generator.KubeDataGenerator"
import {$InventoryKubeEvent, $InventoryKubeEvent$$Type} from "dev.latvian.mods.kubejs.player.InventoryKubeEvent"
import {$SimpleLevelKubeEvent, $SimpleLevelKubeEvent$$Type} from "dev.latvian.mods.kubejs.level.SimpleLevelKubeEvent"
import {$ItemSmeltedKubeEvent, $ItemSmeltedKubeEvent$$Type} from "dev.latvian.mods.kubejs.item.ItemSmeltedKubeEvent"
import {$AddEntriesKubeEvent, $AddEntriesKubeEvent$$Type} from "dev.latvian.mods.kubejs.recipe.viewer.AddEntriesKubeEvent"
import {$BlockLeftClickedKubeEvent, $BlockLeftClickedKubeEvent$$Type} from "dev.latvian.mods.kubejs.block.BlockLeftClickedKubeEvent"
import {$AfterLivingEntityHurtKubeEvent, $AfterLivingEntityHurtKubeEvent$$Type} from "dev.latvian.mods.kubejs.entity.AfterLivingEntityHurtKubeEvent"
import {$LivingEntityDeathKubeEvent, $LivingEntityDeathKubeEvent$$Type} from "dev.latvian.mods.kubejs.entity.LivingEntityDeathKubeEvent"
import {$EntityType, $EntityType$$Type} from "net.minecraft.world.entity.EntityType"
import {$RemoveEntriesKubeEvent, $RemoveEntriesKubeEvent$$Type} from "dev.latvian.mods.kubejs.recipe.viewer.RemoveEntriesKubeEvent"
import {$ItemCraftedKubeEvent, $ItemCraftedKubeEvent$$Type} from "dev.latvian.mods.kubejs.item.ItemCraftedKubeEvent"
import {$CommandKubeEvent, $CommandKubeEvent$$Type} from "dev.latvian.mods.kubejs.server.CommandKubeEvent"
import {$BeforeLivingEntityHurtKubeEvent, $BeforeLivingEntityHurtKubeEvent$$Type} from "dev.latvian.mods.kubejs.entity.BeforeLivingEntityHurtKubeEvent"
import {$AddInformationKubeEvent, $AddInformationKubeEvent$$Type} from "dev.latvian.mods.kubejs.recipe.viewer.AddInformationKubeEvent"
import {$FarmlandTrampledKubeEvent, $FarmlandTrampledKubeEvent$$Type} from "dev.latvian.mods.kubejs.block.FarmlandTrampledKubeEvent"
import {$AfterRecipesLoadedKubeEvent, $AfterRecipesLoadedKubeEvent$$Type} from "dev.latvian.mods.kubejs.recipe.AfterRecipesLoadedKubeEvent"
import {$PlayerAdvancementKubeEvent, $PlayerAdvancementKubeEvent$$Type} from "dev.latvian.mods.kubejs.player.PlayerAdvancementKubeEvent"
import {$TagKubeEvent, $TagKubeEvent$$Type} from "dev.latvian.mods.kubejs.server.tag.TagKubeEvent"
import {$ChestKubeEvent, $ChestKubeEvent$$Type} from "dev.latvian.mods.kubejs.player.ChestKubeEvent"
import {$RegisterSubtypesKubeEvent, $RegisterSubtypesKubeEvent$$Type} from "dev.latvian.mods.kubejs.recipe.viewer.RegisterSubtypesKubeEvent"
import {$DetectorBlockKubeEvent, $DetectorBlockKubeEvent$$Type} from "dev.latvian.mods.kubejs.block.DetectorBlockKubeEvent"
import {$BlockDropsKubeEvent, $BlockDropsKubeEvent$$Type} from "dev.latvian.mods.kubejs.block.BlockDropsKubeEvent"
import {$ItemDestroyedKubeEvent, $ItemDestroyedKubeEvent$$Type} from "dev.latvian.mods.kubejs.item.ItemDestroyedKubeEvent"
import {$PlayerClonedKubeEvent, $PlayerClonedKubeEvent$$Type} from "dev.latvian.mods.kubejs.player.PlayerClonedKubeEvent"
import {$NetworkKubeEvent, $NetworkKubeEvent$$Type} from "dev.latvian.mods.kubejs.net.NetworkKubeEvent"
import {$BlockBrokenKubeEvent, $BlockBrokenKubeEvent$$Type} from "dev.latvian.mods.kubejs.block.BlockBrokenKubeEvent"
import {$ItemPickedUpKubeEvent, $ItemPickedUpKubeEvent$$Type} from "dev.latvian.mods.kubejs.item.ItemPickedUpKubeEvent"
import {$Level, $Level$$Type} from "net.minecraft.world.level.Level"
import {$PlayerRespawnedKubeEvent, $PlayerRespawnedKubeEvent$$Type} from "dev.latvian.mods.kubejs.player.PlayerRespawnedKubeEvent"
import {$ModifyCraftingItemKubeEvent, $ModifyCraftingItemKubeEvent$$Type} from "dev.latvian.mods.kubejs.recipe.ModifyCraftingItemKubeEvent"
import {$BlockEntityTickKubeEvent, $BlockEntityTickKubeEvent$$Type} from "dev.latvian.mods.kubejs.block.entity.BlockEntityTickKubeEvent"
import {$RemoveRecipesKubeEvent, $RemoveRecipesKubeEvent$$Type} from "dev.latvian.mods.kubejs.recipe.viewer.RemoveRecipesKubeEvent"
import {$ResourceLocation, $ResourceLocation$$Type} from "net.minecraft.resources.ResourceLocation"
import {$RecipeSchemaRegistry, $RecipeSchemaRegistry$$Type} from "dev.latvian.mods.kubejs.recipe.schema.RecipeSchemaRegistry"
import {$RecipesKubeEvent, $RecipesKubeEvent$$Type} from "dev.latvian.mods.kubejs.recipe.RecipesKubeEvent"
import {$EntitySpawnedKubeEvent, $EntitySpawnedKubeEvent$$Type} from "dev.latvian.mods.kubejs.entity.EntitySpawnedKubeEvent"
import {$RecipeMappingRegistry, $RecipeMappingRegistry$$Type} from "dev.latvian.mods.kubejs.recipe.schema.RecipeMappingRegistry"
import {$Item, $Item$$Type} from "net.minecraft.world.item.Item"
import {$RemoveCategoriesKubeEvent, $RemoveCategoriesKubeEvent$$Type} from "dev.latvian.mods.kubejs.recipe.viewer.RemoveCategoriesKubeEvent"
import {$ResourceKey, $ResourceKey$$Type} from "net.minecraft.resources.ResourceKey"
import {$StageChangedEvent, $StageChangedEvent$$Type} from "dev.latvian.mods.kubejs.player.StageChangedEvent"
import {$ModifyItemTooltipsKubeEvent, $ModifyItemTooltipsKubeEvent$$Type} from "dev.latvian.mods.kubejs.item.ModifyItemTooltipsKubeEvent"
import {$LivingEntityDropsKubeEvent, $LivingEntityDropsKubeEvent$$Type} from "dev.latvian.mods.kubejs.entity.LivingEntityDropsKubeEvent"
import {$InventoryChangedKubeEvent, $InventoryChangedKubeEvent$$Type} from "dev.latvian.mods.kubejs.player.InventoryChangedKubeEvent"
import {$BlockStartedFallingKubeEvent, $BlockStartedFallingKubeEvent$$Type} from "dev.latvian.mods.kubejs.block.BlockStartedFallingKubeEvent"
import {$BlockPlacedKubeEvent, $BlockPlacedKubeEvent$$Type} from "dev.latvian.mods.kubejs.block.BlockPlacedKubeEvent"
import {$SimplePlayerKubeEvent, $SimplePlayerKubeEvent$$Type} from "dev.latvian.mods.kubejs.player.SimplePlayerKubeEvent"
import {$BasicCommandKubeEvent, $BasicCommandKubeEvent$$Type} from "dev.latvian.mods.kubejs.server.BasicCommandKubeEvent"
import {$PlayerChatReceivedKubeEvent, $PlayerChatReceivedKubeEvent$$Type} from "dev.latvian.mods.kubejs.player.PlayerChatReceivedKubeEvent"
import {$Block, $Block$$Type} from "net.minecraft.world.level.block.Block"
import {$GeneratedDataStage, $GeneratedDataStage$$Type} from "dev.latvian.mods.kubejs.script.data.GeneratedDataStage"
import {$CompostableRecipesKubeEvent, $CompostableRecipesKubeEvent$$Type} from "dev.latvian.mods.kubejs.recipe.CompostableRecipesKubeEvent"
import {$RandomTickKubeEvent, $RandomTickKubeEvent$$Type} from "dev.latvian.mods.kubejs.block.RandomTickKubeEvent"
import {$ItemEntityInteractedKubeEvent, $ItemEntityInteractedKubeEvent$$Type} from "dev.latvian.mods.kubejs.item.ItemEntityInteractedKubeEvent"
import {$Registry, $Registry$$Type} from "net.minecraft.core.Registry"
import {$ItemDroppedKubeEvent, $ItemDroppedKubeEvent$$Type} from "dev.latvian.mods.kubejs.item.ItemDroppedKubeEvent"
import {$ItemClickedKubeEvent, $ItemClickedKubeEvent$$Type} from "dev.latvian.mods.kubejs.item.ItemClickedKubeEvent"
import {$MenuType, $MenuType$$Type} from "net.minecraft.world.inventory.MenuType"
import {$SpecialRecipeSerializerManager, $SpecialRecipeSerializerManager$$Type} from "dev.latvian.mods.kubejs.recipe.special.SpecialRecipeSerializerManager"
import {$GroupEntriesKubeEvent, $GroupEntriesKubeEvent$$Type} from "dev.latvian.mods.kubejs.recipe.viewer.GroupEntriesKubeEvent"
import {$ExplosionKubeEvent$Before, $ExplosionKubeEvent$Before$$Type} from "dev.latvian.mods.kubejs.level.ExplosionKubeEvent$Before"
import {$ServerKubeEvent, $ServerKubeEvent$$Type} from "dev.latvian.mods.kubejs.server.ServerKubeEvent"

declare global {
export namespace ServerEvents {
function recipeMappingRegistry(handler: (event: $RecipeMappingRegistry) => void): void
function recipes(handler: (event: $RecipesKubeEvent) => void): void
function specialRecipeSerializers(handler: (event: $SpecialRecipeSerializerManager) => void): void
function compostableRecipes(handler: (event: $CompostableRecipesKubeEvent) => void): void
function recipeSchemaRegistry(handler: (event: $RecipeSchemaRegistry) => void): void
function modifyRecipeResult(extra: string, handler: (event: $ModifyCraftingItemKubeEvent) => void): void
function tick(handler: (event: $ServerKubeEvent) => void): void
function command(extra: string, handler: (event: $CommandKubeEvent) => void): void
function command(handler: (event: $CommandKubeEvent) => void): void
function tags(extra: $ResourceKey$$Type<($Registry<(object)>)>, handler: (event: $TagKubeEvent) => void): void
function loaded(handler: (event: $ServerKubeEvent) => void): void
function commandRegistry(handler: (event: $CommandRegistryKubeEvent) => void): void
function afterRecipes(handler: (event: $AfterRecipesLoadedKubeEvent) => void): void
function unloaded(handler: (event: $ServerKubeEvent) => void): void
function modifyRecipeIngredient(extra: string, handler: (event: $ModifyCraftingItemKubeEvent) => void): void
function basicCommand(extra: string, handler: (event: $BasicCommandKubeEvent) => void): void
function generateData(extra: $GeneratedDataStage$$Type, handler: (event: $KubeDataGenerator) => void): void
}
export namespace ItemEvents {
/**
 * Invoked when a player right clicks with an item **without targeting anything**.
 * 
 * Not to be confused with `BlockEvents.rightClick` or `ItemEvents.entityInteracted`.
 */
function rightClicked(extra: $ResourceKey$$Type<($Item)>, handler: (event: $ItemClickedKubeEvent) => void): void
/**
 * Invoked when a player right clicks with an item **without targeting anything**.
 * 
 * Not to be confused with `BlockEvents.rightClick` or `ItemEvents.entityInteracted`.
 */
function rightClicked(handler: (event: $ItemClickedKubeEvent) => void): void
/**
 * Invoked when a player crafts an item.
 */
function crafted(extra: $ResourceKey$$Type<($Item)>, handler: (event: $ItemCraftedKubeEvent) => void): void
/**
 * Invoked when a player crafts an item.
 */
function crafted(handler: (event: $ItemCraftedKubeEvent) => void): void
/**
 * Invoked when a player drops an item.
 */
function dropped(extra: $ResourceKey$$Type<($Item)>, handler: (event: $ItemDroppedKubeEvent) => void): void
/**
 * Invoked when a player drops an item.
 */
function dropped(handler: (event: $ItemDroppedKubeEvent) => void): void
/**
 * Invoked when a player right clicks with an item **without targeting anything**.
 * 
 * Not to be confused with `BlockEvents.rightClick` or `ItemEvents.entityInteracted`.
 */
function firstRightClicked(extra: $ResourceKey$$Type<($Item)>, handler: (event: $ItemClickedKubeEvent) => void): void
/**
 * Invoked when a player right clicks with an item **without targeting anything**.
 * 
 * Not to be confused with `BlockEvents.rightClick` or `ItemEvents.entityInteracted`.
 */
function firstRightClicked(handler: (event: $ItemClickedKubeEvent) => void): void
/**
 * Invoked when a player picks up an item. Cancelling (in `ItemEvents.canPickUp`) will prevent the item from being picked up.
 */
function pickedUp(extra: $ResourceKey$$Type<($Item)>, handler: (event: $ItemPickedUpKubeEvent) => void): void
/**
 * Invoked when a player picks up an item. Cancelling (in `ItemEvents.canPickUp`) will prevent the item from being picked up.
 */
function pickedUp(handler: (event: $ItemPickedUpKubeEvent) => void): void
function destroyed(extra: $ResourceKey$$Type<($Item)>, handler: (event: $ItemDestroyedKubeEvent) => void): void
function destroyed(handler: (event: $ItemDestroyedKubeEvent) => void): void
/**
 * Invoked when a player right clicks on an entity.
 */
function entityInteracted(extra: $ResourceKey$$Type<($Item)>, handler: (event: $ItemEntityInteractedKubeEvent) => void): void
/**
 * Invoked when a player right clicks on an entity.
 */
function entityInteracted(handler: (event: $ItemEntityInteractedKubeEvent) => void): void
/**
 * Invoked when an entity eats food.
 */
function foodEaten(extra: $ResourceKey$$Type<($Item)>, handler: (event: $FoodEatenKubeEvent) => void): void
/**
 * Invoked when an entity eats food.
 */
function foodEaten(handler: (event: $FoodEatenKubeEvent) => void): void
/**
 * Invoked when a player right clicks with an item **without targeting anything**.
 * 
 * Not to be confused with `BlockEvents.rightClick` or `ItemEvents.entityInteracted`.
 */
function firstLeftClicked(extra: $ResourceKey$$Type<($Item)>, handler: (event: $ItemClickedKubeEvent) => void): void
/**
 * Invoked when a player right clicks with an item **without targeting anything**.
 * 
 * Not to be confused with `BlockEvents.rightClick` or `ItemEvents.entityInteracted`.
 */
function firstLeftClicked(handler: (event: $ItemClickedKubeEvent) => void): void
/**
 * Invoked when a player picks up an item. Cancelling (in `ItemEvents.canPickUp`) will prevent the item from being picked up.
 */
function canPickUp(extra: $ResourceKey$$Type<($Item)>, handler: (event: $ItemPickedUpKubeEvent) => void): void
/**
 * Invoked when a player picks up an item. Cancelling (in `ItemEvents.canPickUp`) will prevent the item from being picked up.
 */
function canPickUp(handler: (event: $ItemPickedUpKubeEvent) => void): void
/**
 * Invoked when an item is smelted by a player.
 */
function smelted(extra: $ResourceKey$$Type<($Item)>, handler: (event: $ItemSmeltedKubeEvent) => void): void
/**
 * Invoked when an item is smelted by a player.
 */
function smelted(handler: (event: $ItemSmeltedKubeEvent) => void): void
function modifyTooltips(handler: (event: $ModifyItemTooltipsKubeEvent) => void): void
}
export namespace LevelEvents {
function loaded(extra: $ResourceKey$$Type<($Level)>, handler: (event: $SimpleLevelKubeEvent) => void): void
function loaded(handler: (event: $SimpleLevelKubeEvent) => void): void
function unloaded(extra: $ResourceKey$$Type<($Level)>, handler: (event: $SimpleLevelKubeEvent) => void): void
function unloaded(handler: (event: $SimpleLevelKubeEvent) => void): void
/**
 * Invoked right before an explosion happens.
 */
function beforeExplosion(extra: $ResourceKey$$Type<($Level)>, handler: (event: $ExplosionKubeEvent$Before) => void): void
/**
 * Invoked right before an explosion happens.
 */
function beforeExplosion(handler: (event: $ExplosionKubeEvent$Before) => void): void
function saved(extra: $ResourceKey$$Type<($Level)>, handler: (event: $SimpleLevelKubeEvent) => void): void
function saved(handler: (event: $SimpleLevelKubeEvent) => void): void
function tick(extra: $ResourceKey$$Type<($Level)>, handler: (event: $SimpleLevelKubeEvent) => void): void
function tick(handler: (event: $SimpleLevelKubeEvent) => void): void
/**
 * Invoked right after an explosion happens.
 */
function afterExplosion(extra: $ResourceKey$$Type<($Level)>, handler: (event: $ExplosionKubeEvent$After) => void): void
/**
 * Invoked right after an explosion happens.
 */
function afterExplosion(handler: (event: $ExplosionKubeEvent$After) => void): void
}
export namespace NetworkEvents {
/**
 * Invoked when a network packet is received.
 * 
 * Note that the behaviour of this event is depending on the **script type**.
 * 
 * In `server_scripts`, this event is invoked on the server side when a packet is received from a client.
 * 
 * In `client_scripts`, this event is invoked on the client side when a packet is received from the server.
 */
function dataReceived(extra: string, handler: (event: $NetworkKubeEvent) => void): void
}
export namespace RecipeViewerEvents {
function addEntries(extra: string, handler: (event: $AddEntriesKubeEvent) => void): void
function removeEntriesCompletely(extra: string, handler: (event: $RemoveEntriesKubeEvent) => void): void
function addInformation(extra: string, handler: (event: $AddInformationKubeEvent) => void): void
function removeRecipes(handler: (event: $RemoveRecipesKubeEvent) => void): void
function removeEntries(extra: string, handler: (event: $RemoveEntriesKubeEvent) => void): void
function removeCategories(handler: (event: $RemoveCategoriesKubeEvent) => void): void
function registerSubtypes(extra: string, handler: (event: $RegisterSubtypesKubeEvent) => void): void
function groupEntries(extra: string, handler: (event: $GroupEntriesKubeEvent) => void): void
}
export namespace EntityEvents {
/**
 * Invoked after an entity is hurt by a damage source.
 */
function afterHurt(extra: $ResourceKey$$Type<($EntityType<(object)>)>, handler: (event: $AfterLivingEntityHurtKubeEvent) => void): void
/**
 * Invoked after an entity is hurt by a damage source.
 */
function afterHurt(handler: (event: $AfterLivingEntityHurtKubeEvent) => void): void
/**
 * Invoked when an entity is about to be added to the world.
 * 
 * This event also fires for existing entities when they are loaded from a save.
 */
function spawned(extra: $ResourceKey$$Type<($EntityType<(object)>)>, handler: (event: $EntitySpawnedKubeEvent) => void): void
/**
 * Invoked when an entity is about to be added to the world.
 * 
 * This event also fires for existing entities when they are loaded from a save.
 */
function spawned(handler: (event: $EntitySpawnedKubeEvent) => void): void
function drops(extra: $ResourceKey$$Type<($EntityType<(object)>)>, handler: (event: $LivingEntityDropsKubeEvent) => void): void
function drops(handler: (event: $LivingEntityDropsKubeEvent) => void): void
/**
 * Invoked before an entity is spawned into the world.
 * 
 * Only entities from a `BaseSpawner` or world generation will trigger this event.
 */
function checkSpawn(extra: $ResourceKey$$Type<($EntityType<(object)>)>, handler: (event: $CheckLivingEntitySpawnKubeEvent) => void): void
/**
 * Invoked before an entity is spawned into the world.
 * 
 * Only entities from a `BaseSpawner` or world generation will trigger this event.
 */
function checkSpawn(handler: (event: $CheckLivingEntitySpawnKubeEvent) => void): void
/**
 * Invoked before a living entity dies.
 * 
 * **NOTE**: You need to set hp to > 0 besides cancelling the event to prevent the entity from dying.
 */
function death(extra: $ResourceKey$$Type<($EntityType<(object)>)>, handler: (event: $LivingEntityDeathKubeEvent) => void): void
/**
 * Invoked before a living entity dies.
 * 
 * **NOTE**: You need to set hp to > 0 besides cancelling the event to prevent the entity from dying.
 */
function death(handler: (event: $LivingEntityDeathKubeEvent) => void): void
/**
 * Invoked before an entity is hurt by a damage source.
 */
function beforeHurt(extra: $ResourceKey$$Type<($EntityType<(object)>)>, handler: (event: $BeforeLivingEntityHurtKubeEvent) => void): void
/**
 * Invoked before an entity is hurt by a damage source.
 */
function beforeHurt(handler: (event: $BeforeLivingEntityHurtKubeEvent) => void): void
}
export namespace BlockEvents {
/**
 * Invoked when a block is destroyed by a player.
 */
function broken(extra: $ResourceKey$$Type<($Block)>, handler: (event: $BlockBrokenKubeEvent) => void): void
/**
 * Invoked when a block is destroyed by a player.
 */
function broken(handler: (event: $BlockBrokenKubeEvent) => void): void
/**
 * Invoked when a block is placed.
 */
function placed(extra: $ResourceKey$$Type<($Block)>, handler: (event: $BlockPlacedKubeEvent) => void): void
/**
 * Invoked when a block is placed.
 */
function placed(handler: (event: $BlockPlacedKubeEvent) => void): void
/**
 * Invoked when a player left clicks on a block.
 */
function leftClicked(extra: $ResourceKey$$Type<($Block)>, handler: (event: $BlockLeftClickedKubeEvent) => void): void
/**
 * Invoked when a player left clicks on a block.
 */
function leftClicked(handler: (event: $BlockLeftClickedKubeEvent) => void): void
function randomTick(extra: $ResourceKey$$Type<($Block)>, handler: (event: $RandomTickKubeEvent) => void): void
/**
 * Invoked when a player right clicks on a block.
 */
function rightClicked(extra: $ResourceKey$$Type<($Block)>, handler: (event: $BlockRightClickedKubeEvent) => void): void
/**
 * Invoked when a player right clicks on a block.
 */
function rightClicked(handler: (event: $BlockRightClickedKubeEvent) => void): void
/**
 * Invoked when a falling block starts to fall.
 */
function startedFalling(extra: $ResourceKey$$Type<($Block)>, handler: (event: $BlockStartedFallingKubeEvent) => void): void
/**
 * Invoked when a falling block starts to fall.
 */
function startedFalling(handler: (event: $BlockStartedFallingKubeEvent) => void): void
/**
 * Invoked when a detector block registered in KubeJS receives a block update.
 * 
 * `Powered`/`Unpowered` event will be fired when the detector block is powered/unpowered.
 */
function detectorPowered(extra: string, handler: (event: $DetectorBlockKubeEvent) => void): void
/**
 * Invoked when a detector block registered in KubeJS receives a block update.
 * 
 * `Powered`/`Unpowered` event will be fired when the detector block is powered/unpowered.
 */
function detectorPowered(handler: (event: $DetectorBlockKubeEvent) => void): void
/**
 * Invoked when an entity attempts to trample farmland.
 */
function farmlandTrampled(extra: $ResourceKey$$Type<($Block)>, handler: (event: $FarmlandTrampledKubeEvent) => void): void
/**
 * Invoked when an entity attempts to trample farmland.
 */
function farmlandTrampled(handler: (event: $FarmlandTrampledKubeEvent) => void): void
/**
 * Invoked when a falling block finishes falling.
 */
function stoppedFalling(extra: $ResourceKey$$Type<($Block)>, handler: (event: $BlockStoppedFallingKubeEvent) => void): void
/**
 * Invoked when a falling block finishes falling.
 */
function stoppedFalling(handler: (event: $BlockStoppedFallingKubeEvent) => void): void
/**
 * Modify dropped items and xp from block.
 */
function drops(extra: $ResourceKey$$Type<($Block)>, handler: (event: $BlockDropsKubeEvent) => void): void
/**
 * Modify dropped items and xp from block.
 */
function drops(handler: (event: $BlockDropsKubeEvent) => void): void
/**
 * Invoked when a detector block registered in KubeJS receives a block update.
 * 
 * `Powered`/`Unpowered` event will be fired when the detector block is powered/unpowered.
 */
function detectorUnpowered(extra: string, handler: (event: $DetectorBlockKubeEvent) => void): void
/**
 * Invoked when a detector block registered in KubeJS receives a block update.
 * 
 * `Powered`/`Unpowered` event will be fired when the detector block is powered/unpowered.
 */
function detectorUnpowered(handler: (event: $DetectorBlockKubeEvent) => void): void
/**
 * Invoked when a detector block registered in KubeJS receives a block update.
 * 
 * `Powered`/`Unpowered` event will be fired when the detector block is powered/unpowered.
 */
function detectorChanged(extra: string, handler: (event: $DetectorBlockKubeEvent) => void): void
/**
 * Invoked when a detector block registered in KubeJS receives a block update.
 * 
 * `Powered`/`Unpowered` event will be fired when the detector block is powered/unpowered.
 */
function detectorChanged(handler: (event: $DetectorBlockKubeEvent) => void): void
function blockEntityTick(extra: $ResourceKey$$Type<($Block)>, handler: (event: $BlockEntityTickKubeEvent) => void): void
}
export namespace PlayerEvents {
/**
 * Invoked when a player opens a chest.
 * 
 * Same as `PlayerEvents.inventoryOpened`, but only for chests.
 */
function chestOpened(extra: $ResourceKey$$Type<($MenuType<(object)>)>, handler: (event: $ChestKubeEvent) => void): void
/**
 * Invoked when a player opens a chest.
 * 
 * Same as `PlayerEvents.inventoryOpened`, but only for chests.
 */
function chestOpened(handler: (event: $ChestKubeEvent) => void): void
function loggedOut(handler: (event: $SimplePlayerKubeEvent) => void): void
function tick(handler: (event: $SimplePlayerKubeEvent) => void): void
function stageRemoved(extra: string, handler: (event: $StageChangedEvent) => void): void
function stageRemoved(handler: (event: $StageChangedEvent) => void): void
/**
 * Invoked when a player respawns.
 * 
 * The reason of respawn can be either death or returning from the end.
 */
function respawned(handler: (event: $PlayerRespawnedKubeEvent) => void): void
function decorateChat(handler: (event: $PlayerChatReceivedKubeEvent) => void): void
/**
 * Invoked when a player respawns.
 * 
 * The reason of respawn can be either death or returning from the end.
 */
function cloned(handler: (event: $PlayerClonedKubeEvent) => void): void
function stageAdded(extra: string, handler: (event: $StageChangedEvent) => void): void
function stageAdded(handler: (event: $StageChangedEvent) => void): void
/**
 * Invoked when a player gets an advancement.
 */
function advancement(extra: $ResourceLocation$$Type, handler: (event: $PlayerAdvancementKubeEvent) => void): void
/**
 * Invoked when a player gets an advancement.
 */
function advancement(handler: (event: $PlayerAdvancementKubeEvent) => void): void
function chat(handler: (event: $PlayerChatReceivedKubeEvent) => void): void
/**
 * Invoked when a player opens a chest.
 * 
 * Same as `PlayerEvents.inventoryOpened`, but only for chests.
 */
function chestClosed(extra: $ResourceKey$$Type<($MenuType<(object)>)>, handler: (event: $ChestKubeEvent) => void): void
/**
 * Invoked when a player opens a chest.
 * 
 * Same as `PlayerEvents.inventoryOpened`, but only for chests.
 */
function chestClosed(handler: (event: $ChestKubeEvent) => void): void
function loggedIn(handler: (event: $SimplePlayerKubeEvent) => void): void
/**
 * Invoked when a player opens or closes a container.
 */
function inventoryClosed(extra: $ResourceKey$$Type<($MenuType<(object)>)>, handler: (event: $InventoryKubeEvent) => void): void
/**
 * Invoked when a player opens or closes a container.
 */
function inventoryClosed(handler: (event: $InventoryKubeEvent) => void): void
/**
 * Invoked when a player's inventory changes.
 */
function inventoryChanged(extra: $ResourceKey$$Type<($Item)>, handler: (event: $InventoryChangedKubeEvent) => void): void
/**
 * Invoked when a player's inventory changes.
 */
function inventoryChanged(handler: (event: $InventoryChangedKubeEvent) => void): void
/**
 * Invoked when a player opens or closes a container.
 */
function inventoryOpened(extra: $ResourceKey$$Type<($MenuType<(object)>)>, handler: (event: $InventoryKubeEvent) => void): void
/**
 * Invoked when a player opens or closes a container.
 */
function inventoryOpened(handler: (event: $InventoryKubeEvent) => void): void
}
}