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

---@class spawn_wait_options*
---@field nohang? boolean 不阻塞等待。
---@field untraced? boolean 返回已停止子进程状态。
---@field continued? boolean 返回继续运行子进程状态。

--- 等待进程结束。
---@param pid integer 进程号。
---@param options? integer|spawn_wait_options* waitpid options。
---@return boolean? ok 成功退出时为 true；nohang 且无状态变化时为 false；异常或错误时为 nil。
---@return "exit"|"signal"|"stop"|string? reason 结束原因或错误信息。
---@return integer? status 状态码或 errno。
function M.waitpid(pid, options) end

return M
