
---@class copas_timer_options*
---@field delay? number 延迟秒数。
---@field recurring? boolean 是否重复。
---@field params? any[] 回调参数。
---@field callback function 回调函数。

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

---@class copas_timer_object*
local copas_timer_object = {}

--- 创建定时器。
---@param opts copas_timer_options* 选项。
---@return copas_timer_object* timer 定时器对象。
function M.new(opts) end

--- 启动定时器。
---@param initial_delay? number 初始延迟。
---@return copas_timer_object*|nil timer 定时器对象。
---@return string? errMsg 错误信息。
function copas_timer_object:arm(initial_delay) end

--- 取消定时器。
---@return copas_timer_object*|nil timer 定时器对象。
---@return string? errMsg 错误信息。
function copas_timer_object:cancel() end

return M
