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

--- slaxdom.comment
---@param n? any
---@param depth? any
---@return any ...
function M.comment(n, depth) end

--- slaxdom.document
---@param n? any
---@return any ...
function M.document(n) end

--- slaxdom.dom
---@param xml? any
---@param opts? any
---@return any ...
function M:dom(xml, opts) end

--- slaxdom.element
---@param n? any
---@param depth? any
---@return any ...
function M.element(n, depth) end

--- slaxdom.pi
---@param n? any
---@param depth? any
---@return any ...
function M.pi(n, depth) end

--- slaxdom.text
---@param n? any
---@param depth? any
---@return any ...
function M.text(n, depth) end

--- slaxdom.xml
---@param n? any
---@param opts? any
---@return any ...
function M:xml(n, opts) end

return M
