---@meta
---@diagnostic disable

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

---**Global Description:**  
---Allows rendering of geometric shapes, text and sprites in the game world.
---
---**Class Description:**  
---Allows rendering of geometric shapes, text and sprites in the game world. Each render object is identified by an id that is universally unique for the lifetime of a whole game.
---
---**Note:** If an entity target of an object is destroyed or changes surface, then the object is also destroyed.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html)
---@class LuaRendering:LuaObject
---[R]  
---This object's name.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.object_name)
---@field object_name string 
rendering={
---Reorder this object so that it is drawn in front of the already existing objects.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.bring_to_front)
---@param id uint64
bring_to_front=function(id)end,
---Destroys all render objects.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.clear)
---@param mod_name string?@If provided, only the render objects created by this mod are destroyed.
clear=function(mod_name)end,
---Destroy the object with the given id.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.destroy)
---@param id uint64
destroy=function(id)end,
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_animation)
---@class LuaRendering.draw_animation_param
---Name of an [animation prototype](https://wiki.factorio.com/Prototype/Animation).
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_animation)
---@field animation string 
---The orientation of the animation. Default is 0.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_animation)
---@field orientation? RealOrientation 
---Horizontal scale of the animation. Default is 1.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_animation)
---@field x_scale? double 
---Vertical scale of the animation. Default is 1.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_animation)
---@field y_scale? double 
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_animation)
---@field tint? Color 
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_animation)
---@field render_layer? RenderLayer 
---How many frames the animation goes forward per tick. Default is 1.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_animation)
---@field animation_speed? double 
---Offset of the animation in frames. Default is 0.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_animation)
---@field animation_offset? double 
---If given, the animation rotates so that it faces this target. Note that `orientation` is still applied to the animation.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_animation)
---@field orientation_target? MapPosition|LuaEntity 
---Only used if `orientation_target` is a LuaEntity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_animation)
---@field orientation_target_offset? Vector 
---Offsets the center of the animation if `orientation_target` is given. This offset will rotate together with the animation.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_animation)
---@field oriented_offset? Vector 
---Center of the animation.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_animation)
---@field target MapPosition|LuaEntity 
---Only used if `target` is a LuaEntity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_animation)
---@field target_offset? Vector 
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_animation)
---@field surface SurfaceIdentification 
---In ticks. Defaults to living forever.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_animation)
---@field time_to_live? uint 
---The forces that this object is rendered to. Passing `nil` or an empty table will render it to all forces.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_animation)
---@field forces? ForceIdentification[] 
---The players that this object is rendered to. Passing `nil` or an empty table will render it to all players.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_animation)
---@field players? PlayerIdentification[] 
---If this is rendered to anyone at all. Defaults to true.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_animation)
---@field visible? boolean 
---If this should only be rendered in alt mode. Defaults to false.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_animation)
---@field only_in_alt_mode? boolean 


---Create an animation.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_animation)
---@param param LuaRendering.draw_animation_param
---@return uint64@Id of the render object
draw_animation=function(param)end,
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_arc)
---@class LuaRendering.draw_arc_param
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_arc)
---@field color Color 
---The radius of the outer edge of the arc, in tiles.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_arc)
---@field max_radius double 
---The radius of the inner edge of the arc, in tiles.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_arc)
---@field min_radius double 
---Where the arc starts, in radian.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_arc)
---@field start_angle float 
---The angle of the arc, in radian.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_arc)
---@field angle float 
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_arc)
---@field target MapPosition|LuaEntity 
---Only used if `target` is a LuaEntity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_arc)
---@field target_offset? Vector 
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_arc)
---@field surface SurfaceIdentification 
---In ticks. Defaults to living forever.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_arc)
---@field time_to_live? uint 
---The forces that this object is rendered to. Passing `nil` or an empty table will render it to all forces.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_arc)
---@field forces? ForceIdentification[] 
---The players that this object is rendered to. Passing `nil` or an empty table will render it to all players.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_arc)
---@field players? PlayerIdentification[] 
---If this is rendered to anyone at all. Defaults to true.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_arc)
---@field visible? boolean 
---If this should be drawn below sprites and entities.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_arc)
---@field draw_on_ground? boolean 
---If this should only be rendered in alt mode. Defaults to false.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_arc)
---@field only_in_alt_mode? boolean 


---Create an arc.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_arc)
---@param param LuaRendering.draw_arc_param
---@return uint64@Id of the render object
draw_arc=function(param)end,
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_circle)
---@class LuaRendering.draw_circle_param
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_circle)
---@field color Color 
---In tiles.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_circle)
---@field radius double 
---Width of the outline, used only if filled = false. Value is in pixels (32 per tile).
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_circle)
---@field width? float 
---If the circle should be filled.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_circle)
---@field filled boolean 
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_circle)
---@field target MapPosition|LuaEntity 
---Only used if `target` is a LuaEntity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_circle)
---@field target_offset? Vector 
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_circle)
---@field surface SurfaceIdentification 
---In ticks. Defaults to living forever.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_circle)
---@field time_to_live? uint 
---The forces that this object is rendered to. Passing `nil` or an empty table will render it to all forces.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_circle)
---@field forces? ForceIdentification[] 
---The players that this object is rendered to. Passing `nil` or an empty table will render it to all players.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_circle)
---@field players? PlayerIdentification[] 
---If this is rendered to anyone at all. Defaults to true.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_circle)
---@field visible? boolean 
---If this should be drawn below sprites and entities.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_circle)
---@field draw_on_ground? boolean 
---If this should only be rendered in alt mode. Defaults to false.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_circle)
---@field only_in_alt_mode? boolean 


---Create a circle.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_circle)
---@param param LuaRendering.draw_circle_param
---@return uint64@Id of the render object
draw_circle=function(param)end,
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_light)
---@class LuaRendering.draw_light_param
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_light)
---@field sprite SpritePath 
---The orientation of the light. Default is 0.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_light)
---@field orientation? RealOrientation 
---Default is 1.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_light)
---@field scale? float 
---Default is 1.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_light)
---@field intensity? float 
---The minimum darkness at which this light is rendered. Default is 0.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_light)
---@field minimum_darkness? float 
---If this light has the same orientation as the entity target, default is false. Note that `orientation` is still applied to the sprite.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_light)
---@field oriented? boolean 
---Defaults to white (no tint).
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_light)
---@field color? Color 
---Center of the light.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_light)
---@field target MapPosition|LuaEntity 
---Only used if `target` is a LuaEntity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_light)
---@field target_offset? Vector 
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_light)
---@field surface SurfaceIdentification 
---In ticks. Defaults to living forever.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_light)
---@field time_to_live? uint 
---The forces that this object is rendered to. Passing `nil` or an empty table will render it to all forces.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_light)
---@field forces? ForceIdentification[] 
---The players that this object is rendered to. Passing `nil` or an empty table will render it to all players.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_light)
---@field players? PlayerIdentification[] 
---If this is rendered to anyone at all. Defaults to true.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_light)
---@field visible? boolean 
---If this should only be rendered in alt mode. Defaults to false.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_light)
---@field only_in_alt_mode? boolean 


---Create a light.
---
---**Note:** The base game uses the utility sprites `light_medium` and `light_small` for lights.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_light)
---@param param LuaRendering.draw_light_param
---@return uint64@Id of the render object
draw_light=function(param)end,
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_line)
---@class LuaRendering.draw_line_param
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_line)
---@field color Color 
---In pixels (32 per tile).
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_line)
---@field width float 
---Length of the gaps that this line has, in tiles. Default is 0.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_line)
---@field gap_length? double 
---Length of the dashes that this line has. Used only if gap_length > 0. Default is 0.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_line)
---@field dash_length? double 
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_line)
---@field from MapPosition|LuaEntity 
---Only used if `from` is a LuaEntity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_line)
---@field from_offset? Vector 
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_line)
---@field to MapPosition|LuaEntity 
---Only used if `to` is a LuaEntity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_line)
---@field to_offset? Vector 
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_line)
---@field surface SurfaceIdentification 
---In ticks. Defaults to living forever.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_line)
---@field time_to_live? uint 
---The forces that this object is rendered to. Passing `nil` or an empty table will render it to all forces.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_line)
---@field forces? ForceIdentification[] 
---The players that this object is rendered to. Passing `nil` or an empty table will render it to all players.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_line)
---@field players? PlayerIdentification[] 
---If this is rendered to anyone at all. Defaults to true.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_line)
---@field visible? boolean 
---If this should be drawn below sprites and entities.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_line)
---@field draw_on_ground? boolean 
---If this should only be rendered in alt mode. Defaults to false.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_line)
---@field only_in_alt_mode? boolean 


---Create a line.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_line)
---
---### Example  
---Draw a white and 2 pixel wide line from {0, 0} to {2, 2}. 
---```
---rendering.draw_line{surface = game.player.surface, from = {0, 0}, to = {2, 2}, color = {1, 1, 1}, width = 2}
---```
---
---### Example  
---Draw a red and 3 pixel wide line from {0, 0} to {0, 5}. The line has 1 tile long dashes and gaps. 
---```
---rendering.draw_line{surface = game.player.surface, from = {0, 0}, to = {0, 5}, color = {r = 1}, width = 3, gap_length = 1, dash_length = 1}
---```
---@param param LuaRendering.draw_line_param
---@return uint64@Id of the render object
draw_line=function(param)end,
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_polygon)
---@class LuaRendering.draw_polygon_param
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_polygon)
---@field color Color 
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_polygon)
---@field vertices ScriptRenderVertexTarget[] 
---Acts like an offset applied to all vertices that are not set to an entity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_polygon)
---@field target? MapPosition|LuaEntity 
---Only used if `target` is a LuaEntity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_polygon)
---@field target_offset? Vector 
---The orientation applied to all vertices. Default is 0.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_polygon)
---@field orientation? RealOrientation 
---If given, the vertices (that are not set to an entity) rotate so that it faces this target. Note that `orientation` is still applied.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_polygon)
---@field orientation_target? MapPosition|LuaEntity 
---Only used if `orientation_target` is a LuaEntity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_polygon)
---@field orientation_target_offset? Vector 
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_polygon)
---@field surface SurfaceIdentification 
---In ticks. Defaults to living forever.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_polygon)
---@field time_to_live? uint 
---The forces that this object is rendered to. Passing `nil` or an empty table will render it to all forces.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_polygon)
---@field forces? ForceIdentification[] 
---The players that this object is rendered to. Passing `nil` or an empty table will render it to all players.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_polygon)
---@field players? PlayerIdentification[] 
---If this is rendered to anyone at all. Defaults to true.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_polygon)
---@field visible? boolean 
---If this should be drawn below sprites and entities.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_polygon)
---@field draw_on_ground? boolean 
---If this should only be rendered in alt mode. Defaults to false.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_polygon)
---@field only_in_alt_mode? boolean 


---Create a triangle mesh defined by a triangle strip.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_polygon)
---@param param LuaRendering.draw_polygon_param
---@return uint64@Id of the render object
draw_polygon=function(param)end,
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_rectangle)
---@class LuaRendering.draw_rectangle_param
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_rectangle)
---@field color Color 
---Width of the outline, used only if filled = false. Value is in pixels (32 per tile).
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_rectangle)
---@field width? float 
---If the rectangle should be filled.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_rectangle)
---@field filled boolean 
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_rectangle)
---@field left_top MapPosition|LuaEntity 
---Only used if `left_top` is a LuaEntity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_rectangle)
---@field left_top_offset? Vector 
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_rectangle)
---@field right_bottom MapPosition|LuaEntity 
---Only used if `right_bottom` is a LuaEntity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_rectangle)
---@field right_bottom_offset? Vector 
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_rectangle)
---@field surface SurfaceIdentification 
---In ticks. Defaults to living forever.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_rectangle)
---@field time_to_live? uint 
---The forces that this object is rendered to. Passing `nil` or an empty table will render it to all forces.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_rectangle)
---@field forces? ForceIdentification[] 
---The players that this object is rendered to. Passing `nil` or an empty table will render it to all players.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_rectangle)
---@field players? PlayerIdentification[] 
---If this is rendered to anyone at all. Defaults to true.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_rectangle)
---@field visible? boolean 
---If this should be drawn below sprites and entities.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_rectangle)
---@field draw_on_ground? boolean 
---If this should only be rendered in alt mode. Defaults to false.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_rectangle)
---@field only_in_alt_mode? boolean 


---Create a rectangle.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_rectangle)
---@param param LuaRendering.draw_rectangle_param
---@return uint64@Id of the render object
draw_rectangle=function(param)end,
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_sprite)
---@class LuaRendering.draw_sprite_param
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_sprite)
---@field sprite SpritePath 
---The orientation of the sprite. Default is 0.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_sprite)
---@field orientation? RealOrientation 
---Horizontal scale of the sprite. Default is 1.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_sprite)
---@field x_scale? double 
---Vertical scale of the sprite. Default is 1.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_sprite)
---@field y_scale? double 
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_sprite)
---@field tint? Color 
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_sprite)
---@field render_layer? RenderLayer 
---If given, the sprite rotates so that it faces this target. Note that `orientation` is still applied to the sprite.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_sprite)
---@field orientation_target? MapPosition|LuaEntity 
---Only used if `orientation_target` is a LuaEntity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_sprite)
---@field orientation_target_offset? Vector 
---Offsets the center of the sprite if `orientation_target` is given. This offset will rotate together with the sprite.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_sprite)
---@field oriented_offset? Vector 
---Center of the sprite.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_sprite)
---@field target MapPosition|LuaEntity 
---Only used if `target` is a LuaEntity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_sprite)
---@field target_offset? Vector 
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_sprite)
---@field surface SurfaceIdentification 
---In ticks. Defaults to living forever.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_sprite)
---@field time_to_live? uint 
---The forces that this object is rendered to. Passing `nil` or an empty table will render it to all forces.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_sprite)
---@field forces? ForceIdentification[] 
---The players that this object is rendered to. Passing `nil` or an empty table will render it to all players.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_sprite)
---@field players? PlayerIdentification[] 
---If this is rendered to anyone at all. Defaults to true.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_sprite)
---@field visible? boolean 
---If this should only be rendered in alt mode. Defaults to false.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_sprite)
---@field only_in_alt_mode? boolean 


---Create a sprite.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_sprite)
---
---### Example  
---This will draw an iron plate icon at the character's feet. The sprite will move together with the character. 
---```
---rendering.draw_sprite{sprite = "item.iron-plate", target = game.player.character, surface = game.player.surface}
---```
---
---### Example  
---This will draw an iron plate icon at the character's head. The sprite will move together with the character. 
---```
---rendering.draw_sprite{sprite = "item.iron-plate", target = game.player.character, target_offset = {0, -2}, surface = game.player.surface}
---```
---@param param LuaRendering.draw_sprite_param
---@return uint64@Id of the render object
draw_sprite=function(param)end,
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_text)
---@class LuaRendering.draw_text_param
---The text to display.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_text)
---@field text LocalisedString 
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_text)
---@field surface SurfaceIdentification 
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_text)
---@field target MapPosition|LuaEntity 
---Only used if `target` is a LuaEntity.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_text)
---@field target_offset? Vector 
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_text)
---@field color Color 
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_text)
---@field scale? double 
---Name of font to use. Defaults to the same font as flying-text.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_text)
---@field font? string 
---In ticks. Defaults to living forever.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_text)
---@field time_to_live? uint 
---The forces that this object is rendered to. Passing `nil` or an empty table will render it to all forces.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_text)
---@field forces? ForceIdentification[] 
---The players that this object is rendered to. Passing `nil` or an empty table will render it to all players.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_text)
---@field players? PlayerIdentification[] 
---If this is rendered to anyone at all. Defaults to true.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_text)
---@field visible? boolean 
---If this should be drawn below sprites and entities.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_text)
---@field draw_on_ground? boolean 
---The orientation of the text. Default is 0.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_text)
---@field orientation? RealOrientation 
---Defaults to "left". Other options are "right" and "center".
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_text)
---@field alignment? string 
---Defaults to "top". Other options are "middle", "baseline" and "bottom".
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_text)
---@field vertical_alignment? string 
---Defaults to false. If true, the text scales with player zoom, resulting in it always being the same size on screen, and the size compared to the game world changes.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_text)
---@field scale_with_zoom? boolean 
---If this should only be rendered in alt mode. Defaults to false.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_text)
---@field only_in_alt_mode? boolean 


---Create a text.
---
---**Note:** Not all fonts support scaling.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.draw_text)
---@param param LuaRendering.draw_text_param
---@return uint64@Id of the render object
draw_text=function(param)end,
---Get the alignment of the text with this id.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_alignment)
---
---_Can only be used if this is Text_
---@param id uint64
---@return string?@`nil` if the object is not a text.
get_alignment=function(id)end,
---Gets an array of all valid object ids.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_all_ids)
---@param mod_name string?@If provided, get only the render objects created by this mod.
---@return uint64[]
get_all_ids=function(mod_name)end,
---Get the angle of the arc with this id.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_angle)
---
---_Can only be used if this is Arc_
---@param id uint64
---@return float?@Angle in radian. `nil` if the object is not a arc.
get_angle=function(id)end,
---Get the animation prototype name of the animation with this id.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_animation)
---
---_Can only be used if this is Animation_
---@param id uint64
---@return string?@`nil` if the object is not an animation.
get_animation=function(id)end,
---Get the animation offset of the animation with this id.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_animation_offset)
---
---_Can only be used if this is Animation_
---@param id uint64
---@return double?@Animation offset in frames. `nil` if the object is not an animation.
get_animation_offset=function(id)end,
---Get the animation speed of the animation with this id.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_animation_speed)
---
---_Can only be used if this is Animation_
---@param id uint64
---@return double?@Animation speed in frames per tick. `nil` if the object is not an animation.
get_animation_speed=function(id)end,
---Get the color or tint of the object with this id.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_color)
---
---_Can only be used if this is Text, Line, Circle, Rectangle, Arc, Polygon, Sprite, Light or Animation_
---@param id uint64
---@return Color?@`nil` if the object does not support color.
get_color=function(id)end,
---Get the dash length of the line with this id.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_dash_length)
---
---_Can only be used if this is Line_
---@param id uint64
---@return double?@`nil` if the object is not a line.
get_dash_length=function(id)end,
---Get whether this is being drawn on the ground, under most entities and sprites.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_draw_on_ground)
---
---_Can only be used if this is Text, Line, Circle, Rectangle, Arc or Polygon_
---@param id uint64
---@return boolean
get_draw_on_ground=function(id)end,
---Get if the circle or rectangle with this id is filled.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_filled)
---
---_Can only be used if this is Circle or Rectangle_
---@param id uint64
---@return boolean?@`nil` if the object is not a circle or rectangle.
get_filled=function(id)end,
---Get the font of the text with this id.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_font)
---
---_Can only be used if this is Text_
---@param id uint64
---@return string?@`nil` if the object is not a text.
get_font=function(id)end,
---Get the forces that the object with this id is rendered to or `nil` if visible to all forces.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_forces)
---@param id uint64
---@return LuaForce[]?
get_forces=function(id)end,
---Get from where the line with this id is drawn.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_from)
---
---_Can only be used if this is Line_
---@param id uint64
---@return ScriptRenderTarget?@`nil` if this object is not a line.
get_from=function(id)end,
---Get the length of the gaps in the line with this id.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_gap_length)
---
---_Can only be used if this is Line_
---@param id uint64
---@return double?@`nil` if the object is not a line.
get_gap_length=function(id)end,
---Get the intensity of the light with this id.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_intensity)
---
---_Can only be used if this is Light_
---@param id uint64
---@return float?@`nil` if the object is not a light.
get_intensity=function(id)end,
---Get where top left corner of the rectangle with this id is drawn.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_left_top)
---
---_Can only be used if this is Rectangle_
---@param id uint64
---@return ScriptRenderTarget?@`nil` if the object is not a rectangle.
get_left_top=function(id)end,
---Get the radius of the outer edge of the arc with this id.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_max_radius)
---
---_Can only be used if this is Arc_
---@param id uint64
---@return double?@`nil` if the object is not a arc.
get_max_radius=function(id)end,
---Get the radius of the inner edge of the arc with this id.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_min_radius)
---
---_Can only be used if this is Arc_
---@param id uint64
---@return double?@`nil` if the object is not a arc.
get_min_radius=function(id)end,
---Get the minimum darkness at which the light with this id is rendered.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_minimum_darkness)
---
---_Can only be used if this is Light_
---@param id uint64
---@return float?@`nil` if the object is not a light.
get_minimum_darkness=function(id)end,
---Get whether this is only rendered in alt-mode.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_only_in_alt_mode)
---@param id uint64
---@return boolean
get_only_in_alt_mode=function(id)end,
---Get the orientation of the object with this id.
---
---**Note:** Polygon vertices that are set to an entity will ignore this.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_orientation)
---
---_Can only be used if this is Text, Polygon, Sprite, Light or Animation_
---@param id uint64
---@return RealOrientation?@`nil` if the object is not a text, polygon, sprite, light or animation.
get_orientation=function(id)end,
---The object rotates so that it faces this target. Note that `orientation` is still applied to the object. Get the orientation_target of the object with this id.
---
---**Note:** Polygon vertices that are set to an entity will ignore this.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_orientation_target)
---
---_Can only be used if this is Polygon, Sprite or Animation_
---@param id uint64
---@return ScriptRenderTarget?@`nil` if no target or if this object is not a polygon, sprite, or animation.
get_orientation_target=function(id)end,
---Get if the light with this id is rendered has the same orientation as the target entity. Note that `orientation` is still applied to the sprite.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_oriented)
---
---_Can only be used if this is Light_
---@param id uint64
---@return boolean?@`nil` if the object is not a light.
get_oriented=function(id)end,
---Offsets the center of the sprite or animation if `orientation_target` is given. This offset will rotate together with the sprite or animation. Get the oriented_offset of the sprite or animation with this id.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_oriented_offset)
---
---_Can only be used if this is Sprite or Animation_
---@param id uint64
---@return Vector?@`nil` if this object is not a sprite or animation.
get_oriented_offset=function(id)end,
---Get the players that the object with this id is rendered to or `nil` if visible to all players.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_players)
---@param id uint64
---@return LuaPlayer[]?
get_players=function(id)end,
---Get the radius of the circle with this id.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_radius)
---
---_Can only be used if this is Circle_
---@param id uint64
---@return double?@`nil` if the object is not a circle.
get_radius=function(id)end,
---Get the render layer of the sprite or animation with this id.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_render_layer)
---
---_Can only be used if this is Sprite or Animation_
---@param id uint64
---@return RenderLayer?@`nil` if the object is not a sprite or animation.
get_render_layer=function(id)end,
---Get where bottom right corner of the rectangle with this id is drawn.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_right_bottom)
---
---_Can only be used if this is Rectangle_
---@param id uint64
---@return ScriptRenderTarget?@`nil` if the object is not a rectangle.
get_right_bottom=function(id)end,
---Get the scale of the text or light with this id.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_scale)
---
---_Can only be used if this is Text or Light_
---@param id uint64
---@return double?@`nil` if the object is not a text or light.
get_scale=function(id)end,
---Get if the text with this id scales with player zoom.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_scale_with_zoom)
---
---_Can only be used if this is Text_
---@param id uint64
---@return boolean?@`nil` if the object is not a text.
get_scale_with_zoom=function(id)end,
---Get the sprite of the sprite or light with this id.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_sprite)
---
---_Can only be used if this is Sprite or Light_
---@param id uint64
---@return SpritePath?@`nil` if the object is not a sprite or light.
get_sprite=function(id)end,
---Get where the arc with this id starts.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_start_angle)
---
---_Can only be used if this is Arc_
---@param id uint64
---@return float?@Angle in radian. `nil` if the object is not a arc.
get_start_angle=function(id)end,
---The surface the object with this id is rendered on.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_surface)
---@param id uint64
---@return LuaSurface
get_surface=function(id)end,
---Get where the object with this id is drawn.
---
---**Note:** Polygon vertices that are set to an entity will ignore this.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_target)
---
---_Can only be used if this is Text, Circle, Arc, Polygon, Sprite, Light or Animation_
---@param id uint64
---@return ScriptRenderTarget?@`nil` if the object does not support target.
get_target=function(id)end,
---Get the text that is displayed by the text with this id.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_text)
---
---_Can only be used if this is Text_
---@param id uint64
---@return LocalisedString?@`nil` if the object is not a text.
get_text=function(id)end,
---Get the time to live of the object with this id. This will be 0 if the object does not expire.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_time_to_live)
---@param id uint64
---@return uint
get_time_to_live=function(id)end,
---Get where the line with this id is drawn to.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_to)
---
---_Can only be used if this is Line_
---@param id uint64
---@return ScriptRenderTarget?@`nil` if the object is not a line.
get_to=function(id)end,
---Gets the type of the given object. The types are "text", "line", "circle", "rectangle", "arc", "polygon", "sprite", "light" and "animation".
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_type)
---@param id uint64
---@return string
get_type=function(id)end,
---Get the vertical alignment of the text with this id.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_vertical_alignment)
---
---_Can only be used if this is Text_
---@param id uint64
---@return string?@`nil` if the object is not a text.
get_vertical_alignment=function(id)end,
---Get the vertices of the polygon with this id.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_vertices)
---
---_Can only be used if this is Polygon_
---@param id uint64
---@return ScriptRenderTarget[]?@`nil` if the object is not a polygon.
get_vertices=function(id)end,
---Get whether this is rendered to anyone at all.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_visible)
---@param id uint64
---@return boolean
get_visible=function(id)end,
---Get the width of the object with this id. Value is in pixels (32 per tile).
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_width)
---
---_Can only be used if this is Line, Circle or Rectangle_
---@param id uint64
---@return float?@`nil` if the object does not support width.
get_width=function(id)end,
---Get the horizontal scale of the sprite or animation with this id.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_x_scale)
---
---_Can only be used if this is Sprite or Animation_
---@param id uint64
---@return double?@`nil` if the object is not a sprite or animation.
get_x_scale=function(id)end,
---Get the vertical scale of the sprite or animation with this id.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.get_y_scale)
---
---_Can only be used if this is Sprite or Animation_
---@param id uint64
---@return double?@`nil` if the object is not a sprite or animation.
get_y_scale=function(id)end,
---Does a font with this name exist?
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.is_font_valid)
---@param font_name string
---@return boolean
is_font_valid=function(font_name)end,
---Does a valid object with this id exist?
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.is_valid)
---@param id uint64
---@return boolean
is_valid=function(id)end,
---Set the alignment of the text with this id. Does nothing if this object is not a text.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_alignment)
---
---_Can only be used if this is Text_
---@param id uint64
---@param alignment string@"left", "right" or "center".
set_alignment=function(id,alignment)end,
---Set the angle of the arc with this id. Does nothing if this object is not a arc.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_angle)
---
---_Can only be used if this is Arc_
---@param id uint64
---@param angle float@angle in radian
set_angle=function(id,angle)end,
---Set the animation prototype name of the animation with this id. Does nothing if this object is not an animation.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_animation)
---
---_Can only be used if this is Animation_
---@param id uint64
---@param animation string
set_animation=function(id,animation)end,
---Set the animation offset of the animation with this id. Does nothing if this object is not an animation.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_animation_offset)
---
---_Can only be used if this is Animation_
---@param id uint64
---@param animation_offset double@Animation offset in frames.
set_animation_offset=function(id,animation_offset)end,
---Set the animation speed of the animation with this id. Does nothing if this object is not an animation.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_animation_speed)
---
---_Can only be used if this is Animation_
---@param id uint64
---@param animation_speed double@Animation speed in frames per tick.
set_animation_speed=function(id,animation_speed)end,
---Set the color or tint of the object with this id. Does nothing if this object does not support color.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_color)
---
---_Can only be used if this is Text, Line, Circle, Rectangle, Arc, Polygon, Sprite, Light or Animation_
---@param id uint64
---@param color Color
set_color=function(id,color)end,
---Set the corners of the rectangle with this id. Does nothing if this object is not a rectangle.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_corners)
---
---_Can only be used if this is Rectangle_
---@param id uint64
---@param left_top MapPosition|LuaEntity
---@param left_top_offset Vector
---@param right_bottom MapPosition|LuaEntity
---@param right_bottom_offset Vector
set_corners=function(id,left_top,left_top_offset,right_bottom,right_bottom_offset)end,
---Set the dash length of the line with this id. Does nothing if this object is not a line.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_dash_length)
---
---_Can only be used if this is Line_
---@param id uint64
---@param dash_length double
set_dash_length=function(id,dash_length)end,
---Set the length of the dashes and the length of the gaps in the line with this id. Does nothing if this object is not a line.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_dashes)
---
---_Can only be used if this is Line_
---@param id uint64
---@param dash_length double
---@param gap_length double
set_dashes=function(id,dash_length,gap_length)end,
---Set whether this is being drawn on the ground, under most entities and sprites.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_draw_on_ground)
---
---_Can only be used if this is Text, Line, Circle, Rectangle, Arc or Polygon_
---@param id uint64
---@param draw_on_ground boolean
set_draw_on_ground=function(id,draw_on_ground)end,
---Set if the circle or rectangle with this id is filled. Does nothing if this object is not a circle or rectangle.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_filled)
---
---_Can only be used if this is Circle or Rectangle_
---@param id uint64
---@param filled boolean
set_filled=function(id,filled)end,
---Set the font of the text with this id. Does nothing if this object is not a text.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_font)
---
---_Can only be used if this is Text_
---@param id uint64
---@param font string
set_font=function(id,font)end,
---Set the forces that the object with this id is rendered to.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_forces)
---@param id uint64
---@param forces ForceIdentification[]@Providing an empty array will set the object to be visible to all forces.
set_forces=function(id,forces)end,
---Set from where the line with this id is drawn. Does nothing if the object is not a line.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_from)
---
---_Can only be used if this is Line_
---@param id uint64
---@param from MapPosition|LuaEntity
---@param from_offset Vector?
set_from=function(id,from,from_offset)end,
---Set the length of the gaps in the line with this id. Does nothing if this object is not a line.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_gap_length)
---
---_Can only be used if this is Line_
---@param id uint64
---@param gap_length double
set_gap_length=function(id,gap_length)end,
---Set the intensity of the light with this id. Does nothing if this object is not a light.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_intensity)
---
---_Can only be used if this is Light_
---@param id uint64
---@param intensity float
set_intensity=function(id,intensity)end,
---Set where top left corner of the rectangle with this id is drawn. Does nothing if this object is not a rectangle.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_left_top)
---
---_Can only be used if this is Rectangle_
---@param id uint64
---@param left_top MapPosition|LuaEntity
---@param left_top_offset Vector?
set_left_top=function(id,left_top,left_top_offset)end,
---Set the radius of the outer edge of the arc with this id. Does nothing if this object is not a arc.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_max_radius)
---
---_Can only be used if this is Arc_
---@param id uint64
---@param max_radius double
set_max_radius=function(id,max_radius)end,
---Set the radius of the inner edge of the arc with this id. Does nothing if this object is not a arc.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_min_radius)
---
---_Can only be used if this is Arc_
---@param id uint64
---@param min_radius double
set_min_radius=function(id,min_radius)end,
---Set the minimum darkness at which the light with this id is rendered. Does nothing if this object is not a light.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_minimum_darkness)
---
---_Can only be used if this is Light_
---@param id uint64
---@param minimum_darkness float
set_minimum_darkness=function(id,minimum_darkness)end,
---Set whether this is only rendered in alt-mode.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_only_in_alt_mode)
---@param id uint64
---@param only_in_alt_mode boolean
set_only_in_alt_mode=function(id,only_in_alt_mode)end,
---Set the orientation of the object with this id. Does nothing if this object is not a text, polygon, sprite, light or animation.
---
---**Note:** Polygon vertices that are set to an entity will ignore this.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_orientation)
---
---_Can only be used if this is Text, Polygon, Sprite, Light or Animation_
---@param id uint64
---@param orientation RealOrientation
set_orientation=function(id,orientation)end,
---The object rotates so that it faces this target. Note that `orientation` is still applied to the object. Set the orientation_target of the object with this id. Does nothing if this object is not a polygon, sprite, or animation. Set to `nil` if the object should not have an orientation_target.
---
---**Note:** Polygon vertices that are set to an entity will ignore this.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_orientation_target)
---
---_Can only be used if this is Polygon, Sprite or Animation_
---@param id uint64
---@param orientation_target MapPosition|LuaEntity
---@param orientation_target_offset Vector?
set_orientation_target=function(id,orientation_target,orientation_target_offset)end,
---Set if the light with this id is rendered has the same orientation as the target entity. Does nothing if this object is not a light. Note that `orientation` is still applied to the sprite.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_oriented)
---
---_Can only be used if this is Light_
---@param id uint64
---@param oriented boolean
set_oriented=function(id,oriented)end,
---Offsets the center of the sprite or animation if `orientation_target` is given. This offset will rotate together with the sprite or animation. Set the oriented_offset of the sprite or animation with this id. Does nothing if this object is not a sprite or animation.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_oriented_offset)
---
---_Can only be used if this is Sprite or Animation_
---@param id uint64
---@param oriented_offset Vector
set_oriented_offset=function(id,oriented_offset)end,
---Set the players that the object with this id is rendered to.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_players)
---@param id uint64
---@param players PlayerIdentification[]@Providing an empty array will set the object to be visible to all players.
set_players=function(id,players)end,
---Set the radius of the circle with this id. Does nothing if this object is not a circle.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_radius)
---
---_Can only be used if this is Circle_
---@param id uint64
---@param radius double
set_radius=function(id,radius)end,
---Set the render layer of the sprite or animation with this id. Does nothing if this object is not a sprite or animation.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_render_layer)
---
---_Can only be used if this is Sprite or Animation_
---@param id uint64
---@param render_layer RenderLayer
set_render_layer=function(id,render_layer)end,
---Set where top bottom right of the rectangle with this id is drawn. Does nothing if this object is not a rectangle.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_right_bottom)
---
---_Can only be used if this is Rectangle_
---@param id uint64
---@param right_bottom MapPosition|LuaEntity
---@param right_bottom_offset Vector?
set_right_bottom=function(id,right_bottom,right_bottom_offset)end,
---Set the scale of the text or light with this id. Does nothing if this object is not a text or light.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_scale)
---
---_Can only be used if this is Text or Light_
---@param id uint64
---@param scale double
set_scale=function(id,scale)end,
---Set if the text with this id scales with player zoom, resulting in it always being the same size on screen, and the size compared to the game world changes. Does nothing if this object is not a text.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_scale_with_zoom)
---
---_Can only be used if this is Text_
---@param id uint64
---@param scale_with_zoom boolean
set_scale_with_zoom=function(id,scale_with_zoom)end,
---Set the sprite of the sprite or light with this id. Does nothing if this object is not a sprite or light.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_sprite)
---
---_Can only be used if this is Sprite or Light_
---@param id uint64
---@param sprite SpritePath
set_sprite=function(id,sprite)end,
---Set where the arc with this id starts. Does nothing if this object is not a arc.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_start_angle)
---
---_Can only be used if this is Arc_
---@param id uint64
---@param start_angle float@angle in radian
set_start_angle=function(id,start_angle)end,
---Set where the object with this id is drawn. Does nothing if this object does not support target.
---
---**Note:** Polygon vertices that are set to an entity will ignore this.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_target)
---
---_Can only be used if this is Text, Circle, Arc, Polygon, Sprite, Light or Animation_
---@param id uint64
---@param target MapPosition|LuaEntity
---@param target_offset Vector?
set_target=function(id,target,target_offset)end,
---Set the text that is displayed by the text with this id. Does nothing if this object is not a text.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_text)
---
---_Can only be used if this is Text_
---@param id uint64
---@param text LocalisedString
set_text=function(id,text)end,
---Set the time to live of the object with this id. Set to 0 if the object should not expire.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_time_to_live)
---@param id uint64
---@param time_to_live uint
set_time_to_live=function(id,time_to_live)end,
---Set where the line with this id is drawn to. Does nothing if this object is not a line.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_to)
---
---_Can only be used if this is Line_
---@param id uint64
---@param to MapPosition|LuaEntity
---@param to_offset Vector?
set_to=function(id,to,to_offset)end,
---Set the vertical alignment of the text with this id. Does nothing if this object is not a text.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_vertical_alignment)
---
---_Can only be used if this is Text_
---@param id uint64
---@param alignment string@"top", "middle", "baseline" or "bottom"
set_vertical_alignment=function(id,alignment)end,
---Set the vertices of the polygon with this id. Does nothing if this object is not a polygon.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_vertices)
---
---_Can only be used if this is Polygon_
---@param id uint64
---@param vertices ScriptRenderVertexTarget[]
set_vertices=function(id,vertices)end,
---Set whether this is rendered to anyone at all.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_visible)
---@param id uint64
---@param visible boolean
set_visible=function(id,visible)end,
---Set the width of the object with this id. Does nothing if this object does not support width. Value is in pixels (32 per tile).
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_width)
---
---_Can only be used if this is Line, Circle or Rectangle_
---@param id uint64
---@param width float
set_width=function(id,width)end,
---Set the horizontal scale of the sprite or animation with this id. Does nothing if this object is not a sprite or animation.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_x_scale)
---
---_Can only be used if this is Sprite or Animation_
---@param id uint64
---@param x_scale double
set_x_scale=function(id,x_scale)end,
---Set the vertical scale of the sprite or animation with this id. Does nothing if this object is not a sprite or animation.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaRendering.html#LuaRendering.set_y_scale)
---
---_Can only be used if this is Sprite or Animation_
---@param id uint64
---@param y_scale double
set_y_scale=function(id,y_scale)end,
}


