---@meta
---@diagnostic disable

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

---One research item.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTechnology.html)
---@class LuaTechnology:LuaObject
---[R]  
---Effects applied when this technology is researched.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTechnology.html#LuaTechnology.effects)
---@field effects TechnologyModifier[] 
---[RW]  
---Can this technology be researched?
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTechnology.html#LuaTechnology.enabled)
---@field enabled boolean 
---[R]  
---The force this technology belongs to.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTechnology.html#LuaTechnology.force)
---@field force LuaForce 
---[RW]  
---The current level of this technology. For level-based technology writing to this is the same as researching the technology to the previous level. Writing the level will set [LuaTechnology::enabled](https://lua-api.factorio.com/latest/LuaTechnology.html#LuaTechnology.enabled) to `true`.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTechnology.html#LuaTechnology.level)
---@field level uint 
---[R]
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTechnology.html#LuaTechnology.localised_description)
---@field localised_description LocalisedString 
---[R]  
---Localised name of this technology.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTechnology.html#LuaTechnology.localised_name)
---@field localised_name LocalisedString 
---[R]  
---Name of this technology.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTechnology.html#LuaTechnology.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/LuaTechnology.html#LuaTechnology.object_name)
---@field object_name string 
---[R]  
---The string used to alphabetically sort these prototypes. It is a simple string that has no additional semantic meaning.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTechnology.html#LuaTechnology.order)
---@field order string 
---[R]  
---Prerequisites of this technology. The result maps technology name to the [LuaTechnology](https://lua-api.factorio.com/latest/LuaTechnology.html) object.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTechnology.html#LuaTechnology.prerequisites)
---@field prerequisites {[string]: LuaTechnology} 
---[R]  
---The prototype of this technology.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTechnology.html#LuaTechnology.prototype)
---@field prototype LuaTechnologyPrototype 
---[R]  
---The number of research units required for this technology.
---
---**Note:** This is multiplied by the current research cost multiplier, unless [LuaTechnologyPrototype::ignore_tech_cost_multiplier](https://lua-api.factorio.com/latest/LuaTechnologyPrototype.html#LuaTechnologyPrototype.ignore_tech_cost_multiplier) is `true`.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTechnology.html#LuaTechnology.research_unit_count)
---@field research_unit_count uint 
---[R]  
---The count formula used for this infinite research. `nil` if this research isn't infinite.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTechnology.html#LuaTechnology.research_unit_count_formula)
---@field research_unit_count_formula? string 
---[R]  
---Amount of energy required to finish a unit of research.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTechnology.html#LuaTechnology.research_unit_energy)
---@field research_unit_energy double 
---[R]  
---The types of ingredients that labs will require to research this technology.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTechnology.html#LuaTechnology.research_unit_ingredients)
---@field research_unit_ingredients Ingredient[] 
---[RW]  
---Has this technology been researched? Switching from `false` to `true` will trigger the technology advancement perks; switching from `true` to `false` will reverse them.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTechnology.html#LuaTechnology.researched)
---@field researched boolean 
---[R]  
---Is this an upgrade-type research?
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTechnology.html#LuaTechnology.upgrade)
---@field upgrade boolean 
---[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/LuaTechnology.html#LuaTechnology.valid)
---@field valid boolean 
---[RW]  
---If this technology will be visible in the research GUI even though it is disabled.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTechnology.html#LuaTechnology.visible_when_disabled)
---@field visible_when_disabled boolean 
local LuaTechnology={
---All methods and properties that this object supports.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTechnology.html#LuaTechnology.help)
---@return string
help=function()end,
---Reload this technology from its prototype.
---
---[View documentation](https://lua-api.factorio.com/latest/LuaTechnology.html#LuaTechnology.reload)
reload=function()end,
}


