---@meta
---@diagnostic disable

--$Factorio 1.1.70
--$Overlay 5
--$Section LuaTile
-- This file is automatically generated. Edits will be overwritten.

---A single "square" on the map.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTile.html)
---@class LuaTile:LuaObject
---[R]  
---The name of the [LuaTilePrototype](https://lua-api.factorio.com/latest/LuaTilePrototype.html) hidden under this tile, if any. During normal gameplay, only [non-mineable](https://lua-api.factorio.com/latest/LuaTilePrototype.html#LuaTilePrototype.mineable_properties) tiles can become hidden. This can however be circumvented with [LuaSurface::set_hidden_tile](https://lua-api.factorio.com/latest/LuaSurface.html#LuaSurface.set_hidden_tile).
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTile.html#LuaTile.hidden_tile)
---@field hidden_tile? string 
---[R]  
---Prototype name of this tile. E.g. `"sand-3"` or `"grass-2"`.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTile.html#LuaTile.name)
---@field name string 
---[R]  
---The class name of this object. Available even when `valid` is false. For LuaStruct objects it may also be suffixed with a dotted path to a member of the struct.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTile.html#LuaTile.object_name)
---@field object_name string 
---[R]  
---The position this tile references.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTile.html#LuaTile.position)
---@field position TilePosition 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTile.html#LuaTile.prototype)
---@field prototype LuaTilePrototype 
---[R]  
---The surface this tile is on.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTile.html#LuaTile.surface)
---@field surface LuaSurface 
---[R]  
---Is this object valid? This Lua object holds a reference to an object within the game engine. It is possible that the game-engine object is removed whilst a mod still holds the corresponding Lua object. If that happens, the object becomes invalid, i.e. this attribute will be `false`. Mods are advised to check for object validity if any change to the game state might have occurred between the creation of the Lua object and its access.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTile.html#LuaTile.valid)
---@field valid boolean 
local LuaTile={
---Cancels deconstruction if it is scheduled, does nothing otherwise.
---
---**Events:**  
--- * May raise [on_cancelled_deconstruction](https://lua-api.factorio.com/latest/events.html#on_cancelled_deconstruction) instantly.  
---Raised if the tile's deconstruction was successfully cancelled.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTile.html#LuaTile.cancel_deconstruction)
---@param force ForceIdentification@The force who did the deconstruction order.
---@param player PlayerIdentification?@The player to set the last_user to if any.
cancel_deconstruction=function(force,player)end,
---What type of things can collide with this tile?
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTile.html#LuaTile.collides_with)
---
---### Example  
---Check if the character would collide with a tile 
---```
---game.player.print(tostring(game.player.surface.get_tile(1, 1).collides_with("player-layer")))
---```
---@param layer CollisionMaskLayer
---@return boolean
collides_with=function(layer)end,
---Gets all tile ghosts on this tile.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTile.html#LuaTile.get_tile_ghosts)
---@param force ForceIdentification?@Get tile ghosts of this force.
---@return LuaTile[]
get_tile_ghosts=function(force)end,
---Does this tile have any tile ghosts on it.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTile.html#LuaTile.has_tile_ghost)
---@param force ForceIdentification?@Check for tile ghosts of this force.
---@return boolean
has_tile_ghost=function(force)end,
---All methods and properties that this object supports.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTile.html#LuaTile.help)
---@return string
help=function()end,
---Orders deconstruction of this tile by the given force.
---
---**Events:**  
--- * May raise [on_marked_for_deconstruction](https://lua-api.factorio.com/latest/events.html#on_marked_for_deconstruction) instantly.  
---Raised if the tile was successfully marked for deconstruction.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTile.html#LuaTile.order_deconstruction)
---@param force ForceIdentification@The force whose robots are supposed to do the deconstruction.
---@param player PlayerIdentification?@The player to set the last_user to if any.
---@return LuaEntity?@The deconstructible tile proxy created, if any.
order_deconstruction=function(force,player)end,
---Is this tile marked for deconstruction?
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTile.html#LuaTile.to_be_deconstructed)
---@param force ForceIdentification?@The force who did the deconstruction order.
---@return boolean
to_be_deconstructed=function(force)end,
}


