
-- When mqtt.bitwrap is run, it returns bit, bit32 or mqtt.bit53 depending on the Lua version.
-- The completion layer only exposes the set of bit operations actually used by MQTT.

---@class mqtt_bitops*
---@type mqtt_bitops*
local M = {}

--- Shift left.
---@param value integer
---@param count integer
---@return integer result
function M.lshift(value, count) end

--- Move right.
---@param value integer
---@param count integer
---@return integer result
function M.rshift(value, count) end

--- Bitwise OR.
---@param lhs integer
---@param rhs integer
---@return integer result
function M.bor(lhs, rhs) end

--- Bitwise AND.
---@param lhs integer
---@param rhs integer
---@return integer result
function M.band(lhs, rhs) end

return M
