---@meta

foreach = tab.foreach
foreachi = tab.foreachi
getn = tab.getn
tinsert = tab.insert
tremove = tab.remove
sort = tab.sort
abs = math.abs

---@param x any (type not inferred)
---@return any x0 (type not inferred)
---@nodiscard
acos = function(x) end

---@param x any (type not inferred)
---@return any x0 (type not inferred)
---@nodiscard
asin = function(x) end

---@param x any (type not inferred)
---@return any x0 (type not inferred)
---@nodiscard
atan = function(x) end

---@param x any (type not inferred)
---@param y any (type not inferred)
---@return any x0 (type not inferred)
---@nodiscard
atan2 = function(x, y) end
ceil = math.ceil

---@param x any (type not inferred)
---@return any x0 (type not inferred)
---@nodiscard
cos = function(x) end
deg = math.deg
exp = math.exp
floor = math.floor
frexp = math.frexp
ldexp = math.ldexp
log = math.log
log10 = math.log10
max = math.max
min = math.min
mod = math.mod
PI = math.pi
rad = math.rad
random = math.random
randomseed = math.randomseed

---@param x any (type not inferred)
---@return any x0 (type not inferred)
---@nodiscard
sin = function(x) end
sqrt = math.sqrt

---@param x any (type not inferred)
---@return any x0 (type not inferred)
---@nodiscard
tan = function(x) end
strbyte = str.byte
strchar = str.char
strfind = str.find
format = str.format
gsub = str.gsub
strlen = str.len
strlower = str.lower
strrep = str.rep
strsub = str.sub
strupper = str.upper