# Pastebin ExhXmXbv ---@class NeoUX local neoux = {} ---@class Window local window = {} ---@class Element local element = {} ---@class WindowElement : Element local windowElement = {} _ = windowElement _ = element _ = window ---@alias WindowCB fun(w: Window) ---@alias ValueCB fun(v: any):any ---@param width number ---@param height number ---@param title string ---@param win WindowElement ---@return Window function neoux.create(width, height, title, win) end ---@param w number ---@param h number ---@param title nil ---@param win WindowElement function window.reset(w, h, title, win) end ---@param width number ---@param height number ---@param elements Element[] ---@param onClose WindowCB ---@param bg number ---@param fg number ---@param selected number ---@return WindowElement function neoux.tcwindow(width, height, elements, onClose, bg, fg, selected) end ---@param x number ---@param y number ---@param lines string[] ---@return Element function neoux.tcrawview(x, y, lines) end ---@param x number ---@param y number ---@param width number ---@param txt string ---@param onClick WindowCB ---@return Element function neoux.tcbutton(x, y, width, txt, onClick) end ---@param x number ---@param y number ---@param width number ---@return Element function neoux.tchdivider(x, y, width) end ---@param txt string ---@param w number? ---@param center boolean ---@return string function neoux.pad(txt, w, center) end ---@param event EventAPI ---@param neo any ---@return NeoUX return function(event, neo) return neoux end