---@meta mime.core

--------------------------------------------------------------------------------
-- LuaSocket MIME C core 模块
--------------------------------------------------------------------------------

---@class mime_core*
---@field _VERSION string 版本
---@type mime_core*
local M = {}

--- Base64 编码块过滤器。
---@param chunk string 数据块
---@param context? string 上下文
---@return string output 输出
---@return string context 新上下文
function M.b64(chunk, context) end

--- Base64 解码块过滤器。
---@param chunk string 数据块
---@param context? string 上下文
---@return string output 输出
---@return string context 新上下文
function M.unb64(chunk, context) end

--- Quoted-printable 编码块过滤器。
---@param chunk string 数据块
---@param context? string 上下文
---@param marker? string 行尾标记
---@return string output 输出
---@return string context 新上下文
function M.qp(chunk, context, marker) end

--- Quoted-printable 解码块过滤器。
---@param chunk string 数据块
---@param context? string 上下文
---@return string output 输出
---@return string context 新上下文
function M.unqp(chunk, context) end

--- 文本换行过滤器。
---@param left integer 当前行剩余长度
---@param chunk? string 数据块
---@param length? integer 行长度，默认 76
---@return string? output 输出
---@return integer left 剩余长度
function M.wrp(left, chunk, length) end

--- Quoted-printable 换行过滤器。
---@param left integer 当前行剩余长度
---@param chunk? string 数据块
---@param length? integer 行长度，默认 76
---@return string? output 输出
---@return integer left 剩余长度
function M.qpwrp(left, chunk, length) end

--- 行尾规范化过滤器。
---@param context integer 上下文状态
---@param chunk? string 数据块
---@param marker? string 行尾标记
---@return string? output 输出
---@return integer context 新上下文
function M.eol(context, chunk, marker) end

--- SMTP 点转义过滤器。
---@param context integer 上下文状态
---@param chunk? string 数据块
---@return string? output 输出
---@return integer context 新上下文
function M.dot(context, chunk) end

return M
