---@meta
-- AUTOMATICALLY GENERATED, DO NOT EDIT BY HAND
local CVR = {}

--- FIXME: Wrapped ABI_RC.Core.CVRContentType for Lua and WASM
---@enum CVR.CVRContentType
---@access AVATAR|EVENT_WHITELIST|PROP|WORLD CLIENT LOCAL|OTHER
CVR.CVRContentType = {}
CVR.CVRContentType.Avatar = 0
CVR.CVRContentType.World = 1
CVR.CVRContentType.Spawnable = 2

--- FIXME: Wrapped ABI_RC.Core.CVRHand for Lua and WASM
---@enum CVR.CVRHand
---@access AVATAR|EVENT_WHITELIST|PROP|WORLD CLIENT LOCAL|OTHER
CVR.CVRHand = {}
CVR.CVRHand.Left = 0
CVR.CVRHand.Right = 1

--- @class CVR.CVRLayers
--- FIXME: Wrapped ABI_RC.Core.CVRLayers for Lua and WASM
--- @access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@field BlockPlayer System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field CameraOnly System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field CVRContent1 System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field CVRContent10 System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field CVRContent11 System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field CVRContent12 System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field CVRContent13 System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field CVRContent14 System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field CVRContent15 System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field CVRContent16 System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field CVRContent2 System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field CVRContent3 System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field CVRContent4 System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field CVRContent5 System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field CVRContent6 System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field CVRContent7 System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field CVRContent8 System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field CVRContent9 System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field CVRReserved2 System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field CVRReserved3 System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field Default System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field IgnoreRaycast System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field Layer3 System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field MirrorReflection System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field PassPlayer System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field PlayerClone System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field PlayerLocal System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field PlayerNetwork System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field TransparentFX System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field UI System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field UIInternal System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field Water System.Int32 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
CVR.CVRLayers = {}
CVR.CVRLayers.BlockPlayer = 0
CVR.CVRLayers.CameraOnly = 0
CVR.CVRLayers.CVRContent1 = 0
CVR.CVRLayers.CVRContent10 = 0
CVR.CVRLayers.CVRContent11 = 0
CVR.CVRLayers.CVRContent12 = 0
CVR.CVRLayers.CVRContent13 = 0
CVR.CVRLayers.CVRContent14 = 0
CVR.CVRLayers.CVRContent15 = 0
CVR.CVRLayers.CVRContent16 = 0
CVR.CVRLayers.CVRContent2 = 0
CVR.CVRLayers.CVRContent3 = 0
CVR.CVRLayers.CVRContent4 = 0
CVR.CVRLayers.CVRContent5 = 0
CVR.CVRLayers.CVRContent6 = 0
CVR.CVRLayers.CVRContent7 = 0
CVR.CVRLayers.CVRContent8 = 0
CVR.CVRLayers.CVRContent9 = 0
CVR.CVRLayers.CVRReserved2 = 0
CVR.CVRLayers.CVRReserved3 = 0
CVR.CVRLayers.Default = 0
CVR.CVRLayers.IgnoreRaycast = 0
CVR.CVRLayers.Layer3 = 0
CVR.CVRLayers.MirrorReflection = 0
CVR.CVRLayers.PassPlayer = 0
CVR.CVRLayers.PlayerClone = 0
CVR.CVRLayers.PlayerLocal = 0
CVR.CVRLayers.PlayerNetwork = 0
CVR.CVRLayers.TransparentFX = 0
CVR.CVRLayers.UI = 0
CVR.CVRLayers.UIInternal = 0
CVR.CVRLayers.Water = 0

---@param value System.Int32: 
---@return System.Boolean
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.CVRLayers.IsInternalLayer (value) return true end -- static

---@param x ABI_RC.Core.CVRLayers: 
---@param y ABI_RC.Core.CVRLayers: 
---@return System.Boolean
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.CVRLayers.op_Equality (x, y) return true end -- static

---@param x ABI_RC.Core.CVRLayers: 
---@param y ABI_RC.Core.CVRLayers: 
---@return System.Boolean
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.CVRLayers.op_Inequality (x, y) return true end -- static

---@param obj System.Object: 
---@return System.Boolean
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.CVRLayers.Equals (obj) return true end

---@return System.Int32
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.CVRLayers.GetHashCode () return 0 end

---@return System.String
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.CVRLayers.ToString () return "" end

--- @class CVR.ControllerRay
--- FIXME: Wrapped ABI_RC.Core.InteractionSystem.ControllerRay for Lua and WASM
--- @access AVATAR|EVENT_WHITELIST|PROP|WORLD CLIENT LOCAL|OTHER
---@field controllerTransform UnityEngine.Transform 
---@access_get AVATAR|EVENT_WHITELIST|PROP|WORLD CLIENT LOCAL|OTHER
---@access_set NONE NONE NONE
---@field enabled System.Boolean 
---@access_get AVATAR|EVENT_WHITELIST|PROP|WORLD CLIENT LOCAL|OTHER
---@access_set NONE NONE NONE
---@field hand ABI_RC.Core.CVRHand 
---@access_get AVATAR|EVENT_WHITELIST|PROP|WORLD CLIENT LOCAL|OTHER
---@access_set NONE NONE NONE
---@field isDesktopRay System.Boolean 
---@access_get AVATAR|EVENT_WHITELIST|PROP|WORLD CLIENT LOCAL|OTHER
---@access_set NONE NONE NONE
---@field isHeadRay System.Boolean 
---@access_get AVATAR|EVENT_WHITELIST|PROP|WORLD CLIENT LOCAL|OTHER
---@access_set NONE NONE NONE
---@field isInteractionRay System.Boolean 
---@access_get AVATAR|EVENT_WHITELIST|PROP|WORLD CLIENT LOCAL|OTHER
---@access_set NONE NONE NONE
---@field otherRay ABI_RC.Core.InteractionSystem.ControllerRay 
---@access_get AVATAR|EVENT_WHITELIST|PROP|WORLD CLIENT LOCAL|OTHER
---@access_set NONE NONE NONE
---@field RayDirection UnityEngine.Vector3 
---@access_get AVATAR|EVENT_WHITELIST|PROP|WORLD CLIENT LOCAL|OTHER
---@access_set NONE NONE NONE
---@field isActiveAndEnabled System.Boolean 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field gameObject UnityEngine.GameObject 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field tag System.String 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field transform UnityEngine.Transform 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
---@field name System.String 
---@access_get AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
---@access_set NONE NONE NONE
CVR.ControllerRay = {}
CVR.ControllerRay.controllerTransform = nil
CVR.ControllerRay.enabled = true
CVR.ControllerRay.hand = nil
CVR.ControllerRay.isDesktopRay = true
CVR.ControllerRay.isHeadRay = true
CVR.ControllerRay.isInteractionRay = true
CVR.ControllerRay.otherRay = nil
CVR.ControllerRay.RayDirection = nil
CVR.ControllerRay.isActiveAndEnabled = true
CVR.ControllerRay.gameObject = nil
CVR.ControllerRay.tag = ""
CVR.ControllerRay.transform = nil
CVR.ControllerRay.name = ""

---@param x ABI_RC.Core.InteractionSystem.ControllerRay: 
---@param y ABI_RC.Core.InteractionSystem.ControllerRay: 
---@return System.Boolean
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.ControllerRay.op_Equality (x, y) return true end -- static

---@param x ABI_RC.Core.InteractionSystem.ControllerRay: 
---@param y ABI_RC.Core.InteractionSystem.ControllerRay: 
---@return System.Boolean
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.ControllerRay.op_Inequality (x, y) return true end -- static

---@param tag System.String: 
---@return System.Boolean
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.ControllerRay.CompareTag (tag) return true end

---@param type System.String: 
---@return UnityEngine.Component
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.ControllerRay.GetComponent (type) return nil end

---@param t System.String: 
---@param includeInactive System.Boolean: 
---@return UnityEngine.Component
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.ControllerRay.GetComponentInChildren (t, includeInactive) return nil end

---@param t System.String: 
---@return UnityEngine.Component
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.ControllerRay.GetComponentInChildren (t) return nil end

---@param t System.String: 
---@param includeInactive System.Boolean: 
---@return UnityEngine.Component
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.ControllerRay.GetComponentInParent (t, includeInactive) return nil end

---@param t System.String: 
---@return UnityEngine.Component
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.ControllerRay.GetComponentInParent (t) return nil end

---@param type System.String: 
---@return UnityEngine.Component[]
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.ControllerRay.GetComponents (type) return [] end

---@param t System.String: 
---@param includeInactive System.Boolean: 
---@return UnityEngine.Component[]
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.ControllerRay.GetComponentsInChildren (t, includeInactive) return [] end

---@param t System.String: 
---@return UnityEngine.Component[]
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.ControllerRay.GetComponentsInChildren (t) return [] end

---@param t System.String: 
---@param includeInactive System.Boolean: 
---@return UnityEngine.Component[]
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.ControllerRay.GetComponentsInParent (t, includeInactive) return [] end

---@param t System.String: 
---@return UnityEngine.Component[]
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.ControllerRay.GetComponentsInParent (t) return [] end

---@param type System.String: 
---@param component System.Object: 
---@return System.Boolean
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.ControllerRay.TryGetComponent (type, component) return true end

---@param other System.Object: 
---@return System.Boolean
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.ControllerRay.Equals (other) return true end

---@return System.Int32
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.ControllerRay.GetHashCode () return 0 end

---@return System.Int32
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.ControllerRay.GetInstanceID () return 0 end

---@return System.String
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.ControllerRay.ToString () return "" end

---@param exists ABI_RC.Core.InteractionSystem.ControllerRay: 
---@return System.Boolean
---@access AVATAR|PROP|WORLD CLIENT|SERVER LOCAL|OTHER
function CVR.ControllerRay.op_Implicit (exists) return true end -- static
return CVR
