---Load a model. When called from a thread, it will yield until it has loaded. ---@param model number | string ---@param timeout number? Approximate milliseconds to wait for the model to load. Default is 1000. ---@return number? model function lib.requestModel(model, timeout) if not tonumber(model) then model = joaat(model) end ---@cast model -string if HasModelLoaded(model) then return model end if not IsModelValid(model) then return error(("attempted to load invalid model '%s'"):format(model)) end RequestModel(model) if not coroutine.isyieldable() then return model end return lib.waitFor(function() if HasModelLoaded(model) then return model end end, ("failed to load model '%s'"):format(model), timeout) end return lib.requestModel