
---@class mqtt_protocol4*
---@field suback_rc table<integer, string> SUBACK 返回码说明。
---@field suback_packet_mt table SUBACK 包 metatable。
---@type mqtt_protocol4*
local M = {}

M.suback_rc = nil
M.suback_packet_mt = nil

--- 按 MQTT v3.1.1 创建控制包。
---@param args mqtt_packet* 包参数。
---@return mqtt_combined_packet* packet 可发送的包。
function M.make_packet(args) end

--- 按 MQTT v3.1.1 解析控制包。
---@param read_func mqtt_read_func 读取函数。
---@return mqtt_packet*|false packet
---@return string? errMsg
function M.parse_packet(read_func) end

return M
