---@diagnostic disable: undefined-doc-class, undefined-doc-name, missing-return, unused-local, luadoc-miss-type-name
---@class NotExportType @表明该类型未导出

---@class NotExportEnum @表明该枚举未导出

---@class CS
CS = {}
---@class CS.UnityEngine.Animator : CS.UnityEngine.Behaviour
CS.UnityEngine.Animator = {}

---@class CS.UnityEngine.Animation : CS.UnityEngine.Behaviour
CS.UnityEngine.Animation = {}

---@class CS.UnityEngine.AnimationClip : CS.UnityEngine.Motion
CS.UnityEngine.AnimationClip = {}

---@class CS.UnityEngine.RuntimeAnimatorController : CS.UnityEngine.Object
CS.UnityEngine.RuntimeAnimatorController = {}

---@class CS.UnityEngine.AssetBundle : CS.UnityEngine.Object
---@field memoryBudgetKB number
---@field isStreamedSceneAssetBundle boolean
CS.UnityEngine.AssetBundle = {}
---@param unloadAllObjects boolean
function CS.UnityEngine.AssetBundle.UnloadAllAssetBundles(unloadAllObjects) end
---@return CS.System.Collections.Generic.IEnumerable1UnityEngine.AssetBundleUnityEngine.AssetBundleModuleVersion0.0.0.0CultureneutralPublicKeyTokennull
function CS.UnityEngine.AssetBundle.GetAllLoadedAssetBundles() end
---@overload fun(path : string) : CS.UnityEngine.AssetBundleCreateRequest
---@overload fun(path : string, crc : number) : CS.UnityEngine.AssetBundleCreateRequest
---@param path string
---@param crc number
---@param offset number
---@return CS.UnityEngine.AssetBundleCreateRequest
function CS.UnityEngine.AssetBundle.LoadFromFileAsync(path, crc, offset) end
---@overload fun(path : string) : CS.UnityEngine.AssetBundle
---@overload fun(path : string, crc : number) : CS.UnityEngine.AssetBundle
---@param path string
---@param crc number
---@param offset number
---@return CS.UnityEngine.AssetBundle
function CS.UnityEngine.AssetBundle.LoadFromFile(path, crc, offset) end
---@overload fun(binary : CS.System.Byte) : CS.UnityEngine.AssetBundleCreateRequest
---@param binary CS.System.Byte
---@param crc number
---@return CS.UnityEngine.AssetBundleCreateRequest
function CS.UnityEngine.AssetBundle.LoadFromMemoryAsync(binary, crc) end
---@overload fun(binary : CS.System.Byte) : CS.UnityEngine.AssetBundle
---@param binary CS.System.Byte
---@param crc number
---@return CS.UnityEngine.AssetBundle
function CS.UnityEngine.AssetBundle.LoadFromMemory(binary, crc) end
---@overload fun(stream : CS.System.IO.Stream, crc : number, managedReadBufferSize : number) : CS.UnityEngine.AssetBundleCreateRequest
---@overload fun(stream : CS.System.IO.Stream, crc : number) : CS.UnityEngine.AssetBundleCreateRequest
---@param stream CS.System.IO.Stream
---@return CS.UnityEngine.AssetBundleCreateRequest
function CS.UnityEngine.AssetBundle.LoadFromStreamAsync(stream) end
---@overload fun(stream : CS.System.IO.Stream, crc : number, managedReadBufferSize : number) : CS.UnityEngine.AssetBundle
---@overload fun(stream : CS.System.IO.Stream, crc : number) : CS.UnityEngine.AssetBundle
---@param stream CS.System.IO.Stream
---@return CS.UnityEngine.AssetBundle
function CS.UnityEngine.AssetBundle.LoadFromStream(stream) end
---@param password string
function CS.UnityEngine.AssetBundle.SetAssetBundleDecryptKey(password) end
---@param inputPath string
---@param outputPath string
---@param method CS.UnityEngine.BuildCompression
---@param expectedCRC number
---@param priority CS.UnityEngine.ThreadPriority
---@return CS.UnityEngine.AssetBundleRecompressOperation
function CS.UnityEngine.AssetBundle.RecompressAssetBundleAsync(inputPath, outputPath, method, expectedCRC, priority) end
---@param name string
---@return boolean
function CS.UnityEngine.AssetBundle:Contains(name) end
---@overload fun(name : string) : CS.UnityEngine.Object
---@param name string
---@param type CS.System.Type
---@return CS.UnityEngine.Object
function CS.UnityEngine.AssetBundle:LoadAsset(name, type) end
---@overload fun(name : string) : CS.UnityEngine.AssetBundleRequest
---@param name string
---@param type CS.System.Type
---@return CS.UnityEngine.AssetBundleRequest
function CS.UnityEngine.AssetBundle:LoadAssetAsync(name, type) end
---@overload fun(name : string) : CS.UnityEngine.Object
---@param name string
---@param type CS.System.Type
---@return CS.UnityEngine.Object
function CS.UnityEngine.AssetBundle:LoadAssetWithSubAssets(name, type) end
---@overload fun(name : string) : CS.UnityEngine.AssetBundleRequest
---@param name string
---@param type CS.System.Type
---@return CS.UnityEngine.AssetBundleRequest
function CS.UnityEngine.AssetBundle:LoadAssetWithSubAssetsAsync(name, type) end
---@overload fun() : CS.UnityEngine.Object
---@param type CS.System.Type
---@return CS.UnityEngine.Object
function CS.UnityEngine.AssetBundle:LoadAllAssets(type) end
---@overload fun() : CS.UnityEngine.AssetBundleRequest
---@param type CS.System.Type
---@return CS.UnityEngine.AssetBundleRequest
function CS.UnityEngine.AssetBundle:LoadAllAssetsAsync(type) end
---@param unloadAllLoadedObjects boolean
function CS.UnityEngine.AssetBundle:Unload(unloadAllLoadedObjects) end
---@param unloadAllLoadedObjects boolean
---@return CS.UnityEngine.AsyncOperation
function CS.UnityEngine.AssetBundle:UnloadAsync(unloadAllLoadedObjects) end
---@return CS.System.String
function CS.UnityEngine.AssetBundle:GetAllAssetNames() end
---@return CS.System.String
function CS.UnityEngine.AssetBundle:GetAllScenePaths() end

---@class CS.UnityEngine.AudioClip : CS.UnityEngine.Object
CS.UnityEngine.AudioClip = {}

---@class CS.UnityEngine.AudioListener : CS.UnityEngine.AudioBehaviour
CS.UnityEngine.AudioListener = {}

---@class CS.UnityEngine.RuntimePlatform
---@field OSXEditor CS.UnityEngine.RuntimePlatform
---@field OSXPlayer CS.UnityEngine.RuntimePlatform
---@field WindowsPlayer CS.UnityEngine.RuntimePlatform
---@field WindowsEditor CS.UnityEngine.RuntimePlatform
---@field IPhonePlayer CS.UnityEngine.RuntimePlatform
---@field Android CS.UnityEngine.RuntimePlatform
---@field LinuxPlayer CS.UnityEngine.RuntimePlatform
---@field LinuxEditor CS.UnityEngine.RuntimePlatform
---@field WebGLPlayer CS.UnityEngine.RuntimePlatform
---@field WSAPlayerX86 CS.UnityEngine.RuntimePlatform
---@field WSAPlayerX64 CS.UnityEngine.RuntimePlatform
---@field WSAPlayerARM CS.UnityEngine.RuntimePlatform
---@field PS4 CS.UnityEngine.RuntimePlatform
---@field XboxOne CS.UnityEngine.RuntimePlatform
---@field tvOS CS.UnityEngine.RuntimePlatform
---@field Switch CS.UnityEngine.RuntimePlatform
---@field Lumin CS.UnityEngine.RuntimePlatform
---@field Stadia CS.UnityEngine.RuntimePlatform
---@field CloudRendering CS.UnityEngine.RuntimePlatform
---@field GameCoreXboxSeries CS.UnityEngine.RuntimePlatform
---@field GameCoreXboxOne CS.UnityEngine.RuntimePlatform
---@field PS5 CS.UnityEngine.RuntimePlatform
---@field EmbeddedLinuxArm64 CS.UnityEngine.RuntimePlatform
---@field EmbeddedLinuxArm32 CS.UnityEngine.RuntimePlatform
---@field EmbeddedLinuxX64 CS.UnityEngine.RuntimePlatform
---@field EmbeddedLinuxX86 CS.UnityEngine.RuntimePlatform
---@field LinuxServer CS.UnityEngine.RuntimePlatform
---@field WindowsServer CS.UnityEngine.RuntimePlatform
---@field OSXServer CS.UnityEngine.RuntimePlatform
CS.UnityEngine.RuntimePlatform = {}

---@class CS.UnityEngine.Application : CS.System.Object
---@field isPlaying boolean
---@field isFocused boolean
---@field buildGUID string
---@field runInBackground boolean
---@field isBatchMode boolean
---@field dataPath string
---@field streamingAssetsPath string
---@field persistentDataPath string
---@field temporaryCachePath string
---@field absoluteURL string
---@field unityVersion string
---@field version string
---@field installerName string
---@field identifier string
---@field installMode CS.UnityEngine.ApplicationInstallMode
---@field sandboxType CS.UnityEngine.ApplicationSandboxType
---@field productName string
---@field companyName string
---@field cloudProjectId string
---@field targetFrameRate number
---@field consoleLogPath string
---@field backgroundLoadingPriority CS.UnityEngine.ThreadPriority
---@field genuine boolean
---@field genuineCheckAvailable boolean
---@field platform CS.UnityEngine.RuntimePlatform
---@field isMobilePlatform boolean
---@field isConsolePlatform boolean
---@field systemLanguage CS.UnityEngine.SystemLanguage
---@field internetReachability CS.UnityEngine.NetworkReachability
---@field isEditor boolean
---@overload fun() : CS.UnityEngine.Application
CS.UnityEngine.Application = {}
---@overload fun(exitCode : number)
function CS.UnityEngine.Application.Quit() end
function CS.UnityEngine.Application.Unload() end
---@overload fun(levelIndex : number) : boolean
---@param levelName string
---@return boolean
function CS.UnityEngine.Application.CanStreamedLevelBeLoaded(levelName) end
---@param obj CS.UnityEngine.Object
---@return boolean
function CS.UnityEngine.Application.IsPlaying(obj) end
---@return CS.System.String
function CS.UnityEngine.Application.GetBuildTags() end
---@param buildTags CS.System.String
function CS.UnityEngine.Application.SetBuildTags(buildTags) end
---@return boolean
function CS.UnityEngine.Application.HasProLicense() end
---@param delegateMethod CS.UnityEngine.Application.AdvertisingIdentifierCallback
---@return boolean
function CS.UnityEngine.Application.RequestAdvertisingIdentifierAsync(delegateMethod) end
---@param url string
function CS.UnityEngine.Application.OpenURL(url) end
---@param logType CS.UnityEngine.LogType
---@return CS.UnityEngine.StackTraceLogType
function CS.UnityEngine.Application.GetStackTraceLogType(logType) end
---@param logType CS.UnityEngine.LogType
---@param stackTraceType CS.UnityEngine.StackTraceLogType
function CS.UnityEngine.Application.SetStackTraceLogType(logType, stackTraceType) end
---@param mode CS.UnityEngine.UserAuthorization
---@return CS.UnityEngine.AsyncOperation
function CS.UnityEngine.Application.RequestUserAuthorization(mode) end
---@param mode CS.UnityEngine.UserAuthorization
---@return boolean
function CS.UnityEngine.Application.HasUserAuthorization(mode) end

---@class CS.UnityEngine.NetworkReachability
---@field NotReachable CS.UnityEngine.NetworkReachability
---@field ReachableViaCarrierDataNetwork CS.UnityEngine.NetworkReachability
---@field ReachableViaLocalAreaNetwork CS.UnityEngine.NetworkReachability
CS.UnityEngine.NetworkReachability = {}

---@class CS.UnityEngine.Camera : CS.UnityEngine.Behaviour
CS.UnityEngine.Camera = {}

---@class CS.UnityEngine.Debug : CS.System.Object
---@field unityLogger CS.UnityEngine.ILogger
---@field developerConsoleVisible boolean
---@field isDebugBuild boolean
---@overload fun() : CS.UnityEngine.Debug
CS.UnityEngine.Debug = {}
---@overload fun(start : CS.UnityEngine.Vector3, _end : CS.UnityEngine.Vector3, color : CS.UnityEngine.Color, duration : number)
---@overload fun(start : CS.UnityEngine.Vector3, _end : CS.UnityEngine.Vector3, color : CS.UnityEngine.Color)
---@overload fun(start : CS.UnityEngine.Vector3, _end : CS.UnityEngine.Vector3)
---@param start CS.UnityEngine.Vector3
---@param _end CS.UnityEngine.Vector3
---@param color CS.UnityEngine.Color
---@param duration number
---@param depthTest boolean
function CS.UnityEngine.Debug.DrawLine(start, _end, color, duration, depthTest) end
---@overload fun(start : CS.UnityEngine.Vector3, dir : CS.UnityEngine.Vector3, color : CS.UnityEngine.Color, duration : number)
---@overload fun(start : CS.UnityEngine.Vector3, dir : CS.UnityEngine.Vector3, color : CS.UnityEngine.Color)
---@overload fun(start : CS.UnityEngine.Vector3, dir : CS.UnityEngine.Vector3)
---@param start CS.UnityEngine.Vector3
---@param dir CS.UnityEngine.Vector3
---@param color CS.UnityEngine.Color
---@param duration number
---@param depthTest boolean
function CS.UnityEngine.Debug.DrawRay(start, dir, color, duration, depthTest) end
function CS.UnityEngine.Debug.Break() end
function CS.UnityEngine.Debug.DebugBreak() end
---@param buffer CS.System.Byte
---@param bufferMax number
---@param projectFolder string
---@return number
function CS.UnityEngine.Debug.ExtractStackTraceNoAlloc(buffer, bufferMax, projectFolder) end
---@overload fun(message : CS.System.Object)
---@param message CS.System.Object
---@param context CS.UnityEngine.Object
function CS.UnityEngine.Debug.Log(message, context) end
---@overload fun(format : string, args : CS.System.Object)
---@overload fun(context : CS.UnityEngine.Object, format : string, args : CS.System.Object)
---@param logType CS.UnityEngine.LogType
---@param logOptions CS.UnityEngine.LogOption
---@param context CS.UnityEngine.Object
---@param format string
---@param args CS.System.Object
function CS.UnityEngine.Debug.LogFormat(logType, logOptions, context, format, args) end
---@overload fun(message : CS.System.Object)
---@param message CS.System.Object
---@param context CS.UnityEngine.Object
function CS.UnityEngine.Debug.LogError(message, context) end
---@overload fun(format : string, args : CS.System.Object)
---@param context CS.UnityEngine.Object
---@param format string
---@param args CS.System.Object
function CS.UnityEngine.Debug.LogErrorFormat(context, format, args) end
function CS.UnityEngine.Debug.ClearDeveloperConsole() end
---@overload fun(exception : CS.System.Exception)
---@param exception CS.System.Exception
---@param context CS.UnityEngine.Object
function CS.UnityEngine.Debug.LogException(exception, context) end
---@overload fun(message : CS.System.Object)
---@param message CS.System.Object
---@param context CS.UnityEngine.Object
function CS.UnityEngine.Debug.LogWarning(message, context) end
---@overload fun(format : string, args : CS.System.Object)
---@param context CS.UnityEngine.Object
---@param format string
---@param args CS.System.Object
function CS.UnityEngine.Debug.LogWarningFormat(context, format, args) end
---@overload fun(condition : boolean)
---@overload fun(condition : boolean, context : CS.UnityEngine.Object)
---@overload fun(condition : boolean, message : CS.System.Object)
---@overload fun(condition : boolean, message : string)
---@overload fun(condition : boolean, message : CS.System.Object, context : CS.UnityEngine.Object)
---@param condition boolean
---@param message string
---@param context CS.UnityEngine.Object
function CS.UnityEngine.Debug.Assert(condition, message, context) end
---@overload fun(condition : boolean, format : string, args : CS.System.Object)
---@param condition boolean
---@param context CS.UnityEngine.Object
---@param format string
---@param args CS.System.Object
function CS.UnityEngine.Debug.AssertFormat(condition, context, format, args) end
---@overload fun(message : CS.System.Object)
---@param message CS.System.Object
---@param context CS.UnityEngine.Object
function CS.UnityEngine.Debug.LogAssertion(message, context) end
---@overload fun(format : string, args : CS.System.Object)
---@param context CS.UnityEngine.Object
---@param format string
---@param args CS.System.Object
function CS.UnityEngine.Debug.LogAssertionFormat(context, format, args) end

---@class CS.UnityEngine.Bounds : CS.System.ValueType
CS.UnityEngine.Bounds = {}

---@class CS.UnityEngine.Rect : CS.System.ValueType
---@field zero CS.UnityEngine.Rect
---@field x number
---@field y number
---@field position CS.UnityEngine.Vector2
---@field center CS.UnityEngine.Vector2
---@field min CS.UnityEngine.Vector2
---@field max CS.UnityEngine.Vector2
---@field width number
---@field height number
---@field size CS.UnityEngine.Vector2
---@field xMin number
---@field yMin number
---@field xMax number
---@field yMax number
---@overload fun(x : number, y : number, width : number, height : number) : CS.UnityEngine.Rect
---@overload fun(position : CS.UnityEngine.Vector2, size : CS.UnityEngine.Vector2) : CS.UnityEngine.Rect
---@overload fun(source : CS.UnityEngine.Rect) : CS.UnityEngine.Rect
CS.UnityEngine.Rect = {}
---@param xmin number
---@param ymin number
---@param xmax number
---@param ymax number
---@return CS.UnityEngine.Rect
function CS.UnityEngine.Rect.MinMaxRect(xmin, ymin, xmax, ymax) end
---@param rectangle CS.UnityEngine.Rect
---@param normalizedRectCoordinates CS.UnityEngine.Vector2
---@return CS.UnityEngine.Vector2
function CS.UnityEngine.Rect.NormalizedToPoint(rectangle, normalizedRectCoordinates) end
---@param rectangle CS.UnityEngine.Rect
---@param point CS.UnityEngine.Vector2
---@return CS.UnityEngine.Vector2
function CS.UnityEngine.Rect.PointToNormalized(rectangle, point) end
---@param x number
---@param y number
---@param width number
---@param height number
function CS.UnityEngine.Rect:Set(x, y, width, height) end
---@overload fun(point : CS.UnityEngine.Vector2) : boolean
---@overload fun(point : CS.UnityEngine.Vector3) : boolean
---@param point CS.UnityEngine.Vector3
---@param allowInverse boolean
---@return boolean
function CS.UnityEngine.Rect:Contains(point, allowInverse) end
---@overload fun(other : CS.UnityEngine.Rect) : boolean
---@param other CS.UnityEngine.Rect
---@param allowInverse boolean
---@return boolean
function CS.UnityEngine.Rect:Overlaps(other, allowInverse) end
---@return number
function CS.UnityEngine.Rect:GetHashCode() end
---@overload fun(other : CS.System.Object) : boolean
---@param other CS.UnityEngine.Rect
---@return boolean
function CS.UnityEngine.Rect:Equals(other) end
---@overload fun() : string
---@overload fun(format : string) : string
---@param format string
---@param formatProvider CS.System.IFormatProvider
---@return string
function CS.UnityEngine.Rect:ToString(format, formatProvider) end

---@class CS.UnityEngine.RectOffset : CS.System.Object
---@field left number
---@field right number
---@field top number
---@field bottom number
---@field horizontal number
---@field vertical number
---@overload fun() : CS.UnityEngine.RectOffset
---@overload fun(left : number, right : number, top : number, bottom : number) : CS.UnityEngine.RectOffset
CS.UnityEngine.RectOffset = {}
---@overload fun() : string
---@overload fun(format : string) : string
---@param format string
---@param formatProvider CS.System.IFormatProvider
---@return string
function CS.UnityEngine.RectOffset:ToString(format, formatProvider) end
---@param rect CS.UnityEngine.Rect
---@return CS.UnityEngine.Rect
function CS.UnityEngine.RectOffset:Add(rect) end
---@param rect CS.UnityEngine.Rect
---@return CS.UnityEngine.Rect
function CS.UnityEngine.RectOffset:Remove(rect) end

---@class CS.UnityEngine.Screen : CS.System.Object
---@field width number
---@field height number
---@field dpi number
---@field currentResolution CS.UnityEngine.Resolution
---@field resolutions CS.UnityEngine.Resolution
---@field fullScreen boolean
---@field fullScreenMode CS.UnityEngine.FullScreenMode
---@field safeArea CS.UnityEngine.Rect
---@field cutouts CS.UnityEngine.Rect
---@field autorotateToPortrait boolean
---@field autorotateToPortraitUpsideDown boolean
---@field autorotateToLandscapeLeft boolean
---@field autorotateToLandscapeRight boolean
---@field orientation CS.UnityEngine.ScreenOrientation
---@field sleepTimeout number
---@field brightness number
---@field mainWindowPosition CS.UnityEngine.Vector2Int
---@field mainWindowDisplayInfo CS.UnityEngine.DisplayInfo
CS.UnityEngine.Screen = {}

---@class CS.UnityEngine.Graphics : CS.System.Object
---@field activeColorGamut CS.UnityEngine.ColorGamut
---@field activeTier CS.UnityEngine.Rendering.GraphicsTier
---@field preserveFramebufferAlpha boolean
---@field minOpenGLESVersion CS.UnityEngine.Rendering.OpenGLESVersion
---@field activeColorBuffer CS.UnityEngine.RenderBuffer
---@field activeDepthBuffer CS.UnityEngine.RenderBuffer
---@overload fun() : CS.UnityEngine.Graphics
CS.UnityEngine.Graphics = {}
function CS.UnityEngine.Graphics.ClearRandomWriteTargets() end
---@param buffer CS.UnityEngine.Rendering.CommandBuffer
function CS.UnityEngine.Graphics.ExecuteCommandBuffer(buffer) end
---@param buffer CS.UnityEngine.Rendering.CommandBuffer
---@param queueType CS.UnityEngine.Rendering.ComputeQueueType
function CS.UnityEngine.Graphics.ExecuteCommandBufferAsync(buffer, queueType) end
---@overload fun(rt : CS.UnityEngine.RenderTexture, mipLevel : number, face : CS.UnityEngine.CubemapFace, depthSlice : number)
---@overload fun(colorBuffer : CS.UnityEngine.RenderBuffer, depthBuffer : CS.UnityEngine.RenderBuffer, mipLevel : number, face : CS.UnityEngine.CubemapFace, depthSlice : number)
---@overload fun(colorBuffers : CS.UnityEngine.RenderBuffer, depthBuffer : CS.UnityEngine.RenderBuffer)
---@overload fun(setup : CS.UnityEngine.RenderTargetSetup)
---@overload fun(rt : CS.UnityEngine.RenderTexture)
---@overload fun(rt : CS.UnityEngine.RenderTexture, mipLevel : number)
---@overload fun(rt : CS.UnityEngine.RenderTexture, mipLevel : number, face : CS.UnityEngine.CubemapFace)
---@overload fun(colorBuffer : CS.UnityEngine.RenderBuffer, depthBuffer : CS.UnityEngine.RenderBuffer)
---@overload fun(colorBuffer : CS.UnityEngine.RenderBuffer, depthBuffer : CS.UnityEngine.RenderBuffer, mipLevel : number)
---@param colorBuffer CS.UnityEngine.RenderBuffer
---@param depthBuffer CS.UnityEngine.RenderBuffer
---@param mipLevel number
---@param face CS.UnityEngine.CubemapFace
function CS.UnityEngine.Graphics.SetRenderTarget(colorBuffer, depthBuffer, mipLevel, face) end
---@overload fun(index : number, uav : CS.UnityEngine.RenderTexture)
---@overload fun(index : number, uav : CS.UnityEngine.ComputeBuffer, preserveCounterValue : boolean)
---@overload fun(index : number, uav : CS.UnityEngine.GraphicsBuffer, preserveCounterValue : boolean)
---@overload fun(index : number, uav : CS.UnityEngine.ComputeBuffer)
---@param index number
---@param uav CS.UnityEngine.GraphicsBuffer
function CS.UnityEngine.Graphics.SetRandomWriteTarget(index, uav) end
---@overload fun(src : CS.UnityEngine.Texture, dst : CS.UnityEngine.Texture)
---@overload fun(src : CS.UnityEngine.Texture, srcElement : number, dst : CS.UnityEngine.Texture, dstElement : number)
---@overload fun(src : CS.UnityEngine.Texture, srcElement : number, srcMip : number, dst : CS.UnityEngine.Texture, dstElement : number, dstMip : number)
---@param src CS.UnityEngine.Texture
---@param srcElement number
---@param srcMip number
---@param srcX number
---@param srcY number
---@param srcWidth number
---@param srcHeight number
---@param dst CS.UnityEngine.Texture
---@param dstElement number
---@param dstMip number
---@param dstX number
---@param dstY number
function CS.UnityEngine.Graphics.CopyTexture(src, srcElement, srcMip, srcX, srcY, srcWidth, srcHeight, dst, dstElement, dstMip, dstX, dstY) end
---@overload fun(src : CS.UnityEngine.Texture, dst : CS.UnityEngine.Texture) : boolean
---@param src CS.UnityEngine.Texture
---@param srcElement number
---@param dst CS.UnityEngine.Texture
---@param dstElement number
---@return boolean
function CS.UnityEngine.Graphics.ConvertTexture(src, srcElement, dst, dstElement) end
---@overload fun(stage : CS.UnityEngine.Rendering.SynchronisationStage) : CS.UnityEngine.Rendering.GraphicsFence
---@return CS.UnityEngine.Rendering.GraphicsFence
function CS.UnityEngine.Graphics.CreateAsyncGraphicsFence() end
---@param fenceType CS.UnityEngine.Rendering.GraphicsFenceType
---@param stage CS.UnityEngine.Rendering.SynchronisationStageFlags
---@return CS.UnityEngine.Rendering.GraphicsFence
function CS.UnityEngine.Graphics.CreateGraphicsFence(fenceType, stage) end
---@overload fun(fence : CS.UnityEngine.Rendering.GraphicsFence)
---@param fence CS.UnityEngine.Rendering.GraphicsFence
---@param stage CS.UnityEngine.Rendering.SynchronisationStage
function CS.UnityEngine.Graphics.WaitOnAsyncGraphicsFence(fence, stage) end
---@param source CS.UnityEngine.GraphicsBuffer
---@param dest CS.UnityEngine.GraphicsBuffer
function CS.UnityEngine.Graphics.CopyBuffer(source, dest) end
---@overload fun(screenRect : CS.UnityEngine.Rect, texture : CS.UnityEngine.Texture, sourceRect : CS.UnityEngine.Rect, leftBorder : number, rightBorder : number, topBorder : number, bottomBorder : number, color : CS.UnityEngine.Color, mat : CS.UnityEngine.Material, pass : number)
---@overload fun(screenRect : CS.UnityEngine.Rect, texture : CS.UnityEngine.Texture, sourceRect : CS.UnityEngine.Rect, leftBorder : number, rightBorder : number, topBorder : number, bottomBorder : number, mat : CS.UnityEngine.Material, pass : number)
---@overload fun(screenRect : CS.UnityEngine.Rect, texture : CS.UnityEngine.Texture, leftBorder : number, rightBorder : number, topBorder : number, bottomBorder : number, mat : CS.UnityEngine.Material, pass : number)
---@overload fun(screenRect : CS.UnityEngine.Rect, texture : CS.UnityEngine.Texture, mat : CS.UnityEngine.Material, pass : number)
---@overload fun(screenRect : CS.UnityEngine.Rect, texture : CS.UnityEngine.Texture, sourceRect : CS.UnityEngine.Rect, leftBorder : number, rightBorder : number, topBorder : number, bottomBorder : number, color : CS.UnityEngine.Color, mat : CS.UnityEngine.Material)
---@overload fun(screenRect : CS.UnityEngine.Rect, texture : CS.UnityEngine.Texture, sourceRect : CS.UnityEngine.Rect, leftBorder : number, rightBorder : number, topBorder : number, bottomBorder : number, color : CS.UnityEngine.Color)
---@overload fun(screenRect : CS.UnityEngine.Rect, texture : CS.UnityEngine.Texture, sourceRect : CS.UnityEngine.Rect, leftBorder : number, rightBorder : number, topBorder : number, bottomBorder : number, mat : CS.UnityEngine.Material)
---@overload fun(screenRect : CS.UnityEngine.Rect, texture : CS.UnityEngine.Texture, sourceRect : CS.UnityEngine.Rect, leftBorder : number, rightBorder : number, topBorder : number, bottomBorder : number)
---@overload fun(screenRect : CS.UnityEngine.Rect, texture : CS.UnityEngine.Texture, leftBorder : number, rightBorder : number, topBorder : number, bottomBorder : number, mat : CS.UnityEngine.Material)
---@overload fun(screenRect : CS.UnityEngine.Rect, texture : CS.UnityEngine.Texture, leftBorder : number, rightBorder : number, topBorder : number, bottomBorder : number)
---@overload fun(screenRect : CS.UnityEngine.Rect, texture : CS.UnityEngine.Texture, mat : CS.UnityEngine.Material)
---@param screenRect CS.UnityEngine.Rect
---@param texture CS.UnityEngine.Texture
function CS.UnityEngine.Graphics.DrawTexture(screenRect, texture) end
---@param ref_rparams CS.UnityEngine.RenderParams
---@param mesh CS.UnityEngine.Mesh
---@param submeshIndex number
---@param objectToWorld CS.UnityEngine.Matrix4x4
---@param prevObjectToWorld CS.System.Nullable1UnityEngine.Matrix4x4UnityEngine.CoreModuleVersion0.0.0.0CultureneutralPublicKeyTokennull
---@return ,CS.UnityEngine.RenderParams
function CS.UnityEngine.Graphics.RenderMesh(ref_rparams, mesh, submeshIndex, objectToWorld, prevObjectToWorld) end
---@param ref_rparams CS.UnityEngine.RenderParams
---@param mesh CS.UnityEngine.Mesh
---@param commandBuffer CS.UnityEngine.GraphicsBuffer
---@param commandCount number
---@param startCommand number
---@return ,CS.UnityEngine.RenderParams
function CS.UnityEngine.Graphics.RenderMeshIndirect(ref_rparams, mesh, commandBuffer, commandCount, startCommand) end
---@param ref_rparams CS.UnityEngine.RenderParams
---@param mesh CS.UnityEngine.Mesh
---@param submeshIndex number
---@param instanceCount number
---@return ,CS.UnityEngine.RenderParams
function CS.UnityEngine.Graphics.RenderMeshPrimitives(ref_rparams, mesh, submeshIndex, instanceCount) end
---@param ref_rparams CS.UnityEngine.RenderParams
---@param topology CS.UnityEngine.MeshTopology
---@param vertexCount number
---@param instanceCount number
---@return ,CS.UnityEngine.RenderParams
function CS.UnityEngine.Graphics.RenderPrimitives(ref_rparams, topology, vertexCount, instanceCount) end
---@param ref_rparams CS.UnityEngine.RenderParams
---@param topology CS.UnityEngine.MeshTopology
---@param indexBuffer CS.UnityEngine.GraphicsBuffer
---@param indexCount number
---@param startIndex number
---@param instanceCount number
---@return ,CS.UnityEngine.RenderParams
function CS.UnityEngine.Graphics.RenderPrimitivesIndexed(ref_rparams, topology, indexBuffer, indexCount, startIndex, instanceCount) end
---@param ref_rparams CS.UnityEngine.RenderParams
---@param topology CS.UnityEngine.MeshTopology
---@param commandBuffer CS.UnityEngine.GraphicsBuffer
---@param commandCount number
---@param startCommand number
---@return ,CS.UnityEngine.RenderParams
function CS.UnityEngine.Graphics.RenderPrimitivesIndirect(ref_rparams, topology, commandBuffer, commandCount, startCommand) end
---@param ref_rparams CS.UnityEngine.RenderParams
---@param topology CS.UnityEngine.MeshTopology
---@param indexBuffer CS.UnityEngine.GraphicsBuffer
---@param commandBuffer CS.UnityEngine.GraphicsBuffer
---@param commandCount number
---@param startCommand number
---@return ,CS.UnityEngine.RenderParams
function CS.UnityEngine.Graphics.RenderPrimitivesIndexedIndirect(ref_rparams, topology, indexBuffer, commandBuffer, commandCount, startCommand) end
---@overload fun(mesh : CS.UnityEngine.Mesh, position : CS.UnityEngine.Vector3, rotation : CS.UnityEngine.Quaternion, materialIndex : number)
---@overload fun(mesh : CS.UnityEngine.Mesh, matrix : CS.UnityEngine.Matrix4x4, materialIndex : number)
---@overload fun(mesh : CS.UnityEngine.Mesh, position : CS.UnityEngine.Vector3, rotation : CS.UnityEngine.Quaternion)
---@param mesh CS.UnityEngine.Mesh
---@param matrix CS.UnityEngine.Matrix4x4
function CS.UnityEngine.Graphics.DrawMeshNow(mesh, matrix) end
---@overload fun(mesh : CS.UnityEngine.Mesh, position : CS.UnityEngine.Vector3, rotation : CS.UnityEngine.Quaternion, material : CS.UnityEngine.Material, layer : number, camera : CS.UnityEngine.Camera, submeshIndex : number, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : boolean, receiveShadows : boolean, useLightProbes : boolean)
---@overload fun(mesh : CS.UnityEngine.Mesh, position : CS.UnityEngine.Vector3, rotation : CS.UnityEngine.Quaternion, material : CS.UnityEngine.Material, layer : number, camera : CS.UnityEngine.Camera, submeshIndex : number, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode, receiveShadows : boolean, probeAnchor : CS.UnityEngine.Transform, useLightProbes : boolean)
---@overload fun(mesh : CS.UnityEngine.Mesh, matrix : CS.UnityEngine.Matrix4x4, material : CS.UnityEngine.Material, layer : number, camera : CS.UnityEngine.Camera, submeshIndex : number, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : boolean, receiveShadows : boolean, useLightProbes : boolean)
---@overload fun(mesh : CS.UnityEngine.Mesh, matrix : CS.UnityEngine.Matrix4x4, material : CS.UnityEngine.Material, layer : number, camera : CS.UnityEngine.Camera, submeshIndex : number, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode, receiveShadows : boolean, probeAnchor : CS.UnityEngine.Transform, lightProbeUsage : CS.UnityEngine.Rendering.LightProbeUsage, lightProbeProxyVolume : CS.UnityEngine.LightProbeProxyVolume)
---@overload fun(mesh : CS.UnityEngine.Mesh, position : CS.UnityEngine.Vector3, rotation : CS.UnityEngine.Quaternion, material : CS.UnityEngine.Material, layer : number)
---@overload fun(mesh : CS.UnityEngine.Mesh, position : CS.UnityEngine.Vector3, rotation : CS.UnityEngine.Quaternion, material : CS.UnityEngine.Material, layer : number, camera : CS.UnityEngine.Camera)
---@overload fun(mesh : CS.UnityEngine.Mesh, position : CS.UnityEngine.Vector3, rotation : CS.UnityEngine.Quaternion, material : CS.UnityEngine.Material, layer : number, camera : CS.UnityEngine.Camera, submeshIndex : number)
---@overload fun(mesh : CS.UnityEngine.Mesh, position : CS.UnityEngine.Vector3, rotation : CS.UnityEngine.Quaternion, material : CS.UnityEngine.Material, layer : number, camera : CS.UnityEngine.Camera, submeshIndex : number, properties : CS.UnityEngine.MaterialPropertyBlock)
---@overload fun(mesh : CS.UnityEngine.Mesh, position : CS.UnityEngine.Vector3, rotation : CS.UnityEngine.Quaternion, material : CS.UnityEngine.Material, layer : number, camera : CS.UnityEngine.Camera, submeshIndex : number, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : boolean)
---@overload fun(mesh : CS.UnityEngine.Mesh, position : CS.UnityEngine.Vector3, rotation : CS.UnityEngine.Quaternion, material : CS.UnityEngine.Material, layer : number, camera : CS.UnityEngine.Camera, submeshIndex : number, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : boolean, receiveShadows : boolean)
---@overload fun(mesh : CS.UnityEngine.Mesh, position : CS.UnityEngine.Vector3, rotation : CS.UnityEngine.Quaternion, material : CS.UnityEngine.Material, layer : number, camera : CS.UnityEngine.Camera, submeshIndex : number, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode)
---@overload fun(mesh : CS.UnityEngine.Mesh, position : CS.UnityEngine.Vector3, rotation : CS.UnityEngine.Quaternion, material : CS.UnityEngine.Material, layer : number, camera : CS.UnityEngine.Camera, submeshIndex : number, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode, receiveShadows : boolean)
---@overload fun(mesh : CS.UnityEngine.Mesh, position : CS.UnityEngine.Vector3, rotation : CS.UnityEngine.Quaternion, material : CS.UnityEngine.Material, layer : number, camera : CS.UnityEngine.Camera, submeshIndex : number, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode, receiveShadows : boolean, probeAnchor : CS.UnityEngine.Transform)
---@overload fun(mesh : CS.UnityEngine.Mesh, matrix : CS.UnityEngine.Matrix4x4, material : CS.UnityEngine.Material, layer : number)
---@overload fun(mesh : CS.UnityEngine.Mesh, matrix : CS.UnityEngine.Matrix4x4, material : CS.UnityEngine.Material, layer : number, camera : CS.UnityEngine.Camera)
---@overload fun(mesh : CS.UnityEngine.Mesh, matrix : CS.UnityEngine.Matrix4x4, material : CS.UnityEngine.Material, layer : number, camera : CS.UnityEngine.Camera, submeshIndex : number)
---@overload fun(mesh : CS.UnityEngine.Mesh, matrix : CS.UnityEngine.Matrix4x4, material : CS.UnityEngine.Material, layer : number, camera : CS.UnityEngine.Camera, submeshIndex : number, properties : CS.UnityEngine.MaterialPropertyBlock)
---@overload fun(mesh : CS.UnityEngine.Mesh, matrix : CS.UnityEngine.Matrix4x4, material : CS.UnityEngine.Material, layer : number, camera : CS.UnityEngine.Camera, submeshIndex : number, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : boolean)
---@overload fun(mesh : CS.UnityEngine.Mesh, matrix : CS.UnityEngine.Matrix4x4, material : CS.UnityEngine.Material, layer : number, camera : CS.UnityEngine.Camera, submeshIndex : number, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : boolean, receiveShadows : boolean)
---@overload fun(mesh : CS.UnityEngine.Mesh, matrix : CS.UnityEngine.Matrix4x4, material : CS.UnityEngine.Material, layer : number, camera : CS.UnityEngine.Camera, submeshIndex : number, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode)
---@overload fun(mesh : CS.UnityEngine.Mesh, matrix : CS.UnityEngine.Matrix4x4, material : CS.UnityEngine.Material, layer : number, camera : CS.UnityEngine.Camera, submeshIndex : number, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode, receiveShadows : boolean)
---@overload fun(mesh : CS.UnityEngine.Mesh, matrix : CS.UnityEngine.Matrix4x4, material : CS.UnityEngine.Material, layer : number, camera : CS.UnityEngine.Camera, submeshIndex : number, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode, receiveShadows : boolean, probeAnchor : CS.UnityEngine.Transform)
---@overload fun(mesh : CS.UnityEngine.Mesh, matrix : CS.UnityEngine.Matrix4x4, material : CS.UnityEngine.Material, layer : number, camera : CS.UnityEngine.Camera, submeshIndex : number, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode, receiveShadows : boolean, probeAnchor : CS.UnityEngine.Transform, useLightProbes : boolean)
---@param mesh CS.UnityEngine.Mesh
---@param matrix CS.UnityEngine.Matrix4x4
---@param material CS.UnityEngine.Material
---@param layer number
---@param camera CS.UnityEngine.Camera
---@param submeshIndex number
---@param properties CS.UnityEngine.MaterialPropertyBlock
---@param castShadows CS.UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows boolean
---@param probeAnchor CS.UnityEngine.Transform
---@param lightProbeUsage CS.UnityEngine.Rendering.LightProbeUsage
function CS.UnityEngine.Graphics.DrawMesh(mesh, matrix, material, layer, camera, submeshIndex, properties, castShadows, receiveShadows, probeAnchor, lightProbeUsage) end
---@overload fun(mesh : CS.UnityEngine.Mesh, submeshIndex : number, material : CS.UnityEngine.Material, matrices : CS.UnityEngine.Matrix4x4, count : number, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode, receiveShadows : boolean, layer : number, camera : CS.UnityEngine.Camera, lightProbeUsage : CS.UnityEngine.Rendering.LightProbeUsage, lightProbeProxyVolume : CS.UnityEngine.LightProbeProxyVolume)
---@overload fun(mesh : CS.UnityEngine.Mesh, submeshIndex : number, material : CS.UnityEngine.Material, matrices : CS.System.Collections.Generic.List1UnityEngine.Matrix4x4UnityEngine.CoreModuleVersion0.0.0.0CultureneutralPublicKeyTokennull, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode, receiveShadows : boolean, layer : number, camera : CS.UnityEngine.Camera, lightProbeUsage : CS.UnityEngine.Rendering.LightProbeUsage, lightProbeProxyVolume : CS.UnityEngine.LightProbeProxyVolume)
---@overload fun(mesh : CS.UnityEngine.Mesh, submeshIndex : number, material : CS.UnityEngine.Material, matrices : CS.UnityEngine.Matrix4x4)
---@overload fun(mesh : CS.UnityEngine.Mesh, submeshIndex : number, material : CS.UnityEngine.Material, matrices : CS.UnityEngine.Matrix4x4, count : number)
---@overload fun(mesh : CS.UnityEngine.Mesh, submeshIndex : number, material : CS.UnityEngine.Material, matrices : CS.UnityEngine.Matrix4x4, count : number, properties : CS.UnityEngine.MaterialPropertyBlock)
---@overload fun(mesh : CS.UnityEngine.Mesh, submeshIndex : number, material : CS.UnityEngine.Material, matrices : CS.UnityEngine.Matrix4x4, count : number, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode)
---@overload fun(mesh : CS.UnityEngine.Mesh, submeshIndex : number, material : CS.UnityEngine.Material, matrices : CS.UnityEngine.Matrix4x4, count : number, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode, receiveShadows : boolean)
---@overload fun(mesh : CS.UnityEngine.Mesh, submeshIndex : number, material : CS.UnityEngine.Material, matrices : CS.UnityEngine.Matrix4x4, count : number, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode, receiveShadows : boolean, layer : number)
---@overload fun(mesh : CS.UnityEngine.Mesh, submeshIndex : number, material : CS.UnityEngine.Material, matrices : CS.UnityEngine.Matrix4x4, count : number, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode, receiveShadows : boolean, layer : number, camera : CS.UnityEngine.Camera)
---@overload fun(mesh : CS.UnityEngine.Mesh, submeshIndex : number, material : CS.UnityEngine.Material, matrices : CS.UnityEngine.Matrix4x4, count : number, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode, receiveShadows : boolean, layer : number, camera : CS.UnityEngine.Camera, lightProbeUsage : CS.UnityEngine.Rendering.LightProbeUsage)
---@overload fun(mesh : CS.UnityEngine.Mesh, submeshIndex : number, material : CS.UnityEngine.Material, matrices : CS.System.Collections.Generic.List1UnityEngine.Matrix4x4UnityEngine.CoreModuleVersion0.0.0.0CultureneutralPublicKeyTokennull)
---@overload fun(mesh : CS.UnityEngine.Mesh, submeshIndex : number, material : CS.UnityEngine.Material, matrices : CS.System.Collections.Generic.List1UnityEngine.Matrix4x4UnityEngine.CoreModuleVersion0.0.0.0CultureneutralPublicKeyTokennull, properties : CS.UnityEngine.MaterialPropertyBlock)
---@overload fun(mesh : CS.UnityEngine.Mesh, submeshIndex : number, material : CS.UnityEngine.Material, matrices : CS.System.Collections.Generic.List1UnityEngine.Matrix4x4UnityEngine.CoreModuleVersion0.0.0.0CultureneutralPublicKeyTokennull, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode)
---@overload fun(mesh : CS.UnityEngine.Mesh, submeshIndex : number, material : CS.UnityEngine.Material, matrices : CS.System.Collections.Generic.List1UnityEngine.Matrix4x4UnityEngine.CoreModuleVersion0.0.0.0CultureneutralPublicKeyTokennull, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode, receiveShadows : boolean)
---@overload fun(mesh : CS.UnityEngine.Mesh, submeshIndex : number, material : CS.UnityEngine.Material, matrices : CS.System.Collections.Generic.List1UnityEngine.Matrix4x4UnityEngine.CoreModuleVersion0.0.0.0CultureneutralPublicKeyTokennull, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode, receiveShadows : boolean, layer : number)
---@overload fun(mesh : CS.UnityEngine.Mesh, submeshIndex : number, material : CS.UnityEngine.Material, matrices : CS.System.Collections.Generic.List1UnityEngine.Matrix4x4UnityEngine.CoreModuleVersion0.0.0.0CultureneutralPublicKeyTokennull, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode, receiveShadows : boolean, layer : number, camera : CS.UnityEngine.Camera)
---@param mesh CS.UnityEngine.Mesh
---@param submeshIndex number
---@param material CS.UnityEngine.Material
---@param matrices CS.System.Collections.Generic.List1UnityEngine.Matrix4x4UnityEngine.CoreModuleVersion0.0.0.0CultureneutralPublicKeyTokennull
---@param properties CS.UnityEngine.MaterialPropertyBlock
---@param castShadows CS.UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows boolean
---@param layer number
---@param camera CS.UnityEngine.Camera
---@param lightProbeUsage CS.UnityEngine.Rendering.LightProbeUsage
function CS.UnityEngine.Graphics.DrawMeshInstanced(mesh, submeshIndex, material, matrices, properties, castShadows, receiveShadows, layer, camera, lightProbeUsage) end
---@param mesh CS.UnityEngine.Mesh
---@param submeshIndex number
---@param material CS.UnityEngine.Material
---@param bounds CS.UnityEngine.Bounds
---@param count number
---@param properties CS.UnityEngine.MaterialPropertyBlock
---@param castShadows CS.UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows boolean
---@param layer number
---@param camera CS.UnityEngine.Camera
---@param lightProbeUsage CS.UnityEngine.Rendering.LightProbeUsage
---@param lightProbeProxyVolume CS.UnityEngine.LightProbeProxyVolume
function CS.UnityEngine.Graphics.DrawMeshInstancedProcedural(mesh, submeshIndex, material, bounds, count, properties, castShadows, receiveShadows, layer, camera, lightProbeUsage, lightProbeProxyVolume) end
---@overload fun(mesh : CS.UnityEngine.Mesh, submeshIndex : number, material : CS.UnityEngine.Material, bounds : CS.UnityEngine.Bounds, bufferWithArgs : CS.UnityEngine.ComputeBuffer, argsOffset : number, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode, receiveShadows : boolean, layer : number, camera : CS.UnityEngine.Camera, lightProbeUsage : CS.UnityEngine.Rendering.LightProbeUsage, lightProbeProxyVolume : CS.UnityEngine.LightProbeProxyVolume)
---@overload fun(mesh : CS.UnityEngine.Mesh, submeshIndex : number, material : CS.UnityEngine.Material, bounds : CS.UnityEngine.Bounds, bufferWithArgs : CS.UnityEngine.GraphicsBuffer, argsOffset : number, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode, receiveShadows : boolean, layer : number, camera : CS.UnityEngine.Camera, lightProbeUsage : CS.UnityEngine.Rendering.LightProbeUsage, lightProbeProxyVolume : CS.UnityEngine.LightProbeProxyVolume)
---@overload fun(mesh : CS.UnityEngine.Mesh, submeshIndex : number, material : CS.UnityEngine.Material, bounds : CS.UnityEngine.Bounds, bufferWithArgs : CS.UnityEngine.ComputeBuffer, argsOffset : number, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode, receiveShadows : boolean, layer : number, camera : CS.UnityEngine.Camera, lightProbeUsage : CS.UnityEngine.Rendering.LightProbeUsage)
---@param mesh CS.UnityEngine.Mesh
---@param submeshIndex number
---@param material CS.UnityEngine.Material
---@param bounds CS.UnityEngine.Bounds
---@param bufferWithArgs CS.UnityEngine.GraphicsBuffer
---@param argsOffset number
---@param properties CS.UnityEngine.MaterialPropertyBlock
---@param castShadows CS.UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows boolean
---@param layer number
---@param camera CS.UnityEngine.Camera
---@param lightProbeUsage CS.UnityEngine.Rendering.LightProbeUsage
function CS.UnityEngine.Graphics.DrawMeshInstancedIndirect(mesh, submeshIndex, material, bounds, bufferWithArgs, argsOffset, properties, castShadows, receiveShadows, layer, camera, lightProbeUsage) end
---@overload fun(topology : CS.UnityEngine.MeshTopology, vertexCount : number, instanceCount : number)
---@param topology CS.UnityEngine.MeshTopology
---@param indexBuffer CS.UnityEngine.GraphicsBuffer
---@param indexCount number
---@param instanceCount number
function CS.UnityEngine.Graphics.DrawProceduralNow(topology, indexBuffer, indexCount, instanceCount) end
---@overload fun(topology : CS.UnityEngine.MeshTopology, bufferWithArgs : CS.UnityEngine.ComputeBuffer, argsOffset : number)
---@overload fun(topology : CS.UnityEngine.MeshTopology, indexBuffer : CS.UnityEngine.GraphicsBuffer, bufferWithArgs : CS.UnityEngine.ComputeBuffer, argsOffset : number)
---@overload fun(topology : CS.UnityEngine.MeshTopology, bufferWithArgs : CS.UnityEngine.GraphicsBuffer, argsOffset : number)
---@param topology CS.UnityEngine.MeshTopology
---@param indexBuffer CS.UnityEngine.GraphicsBuffer
---@param bufferWithArgs CS.UnityEngine.GraphicsBuffer
---@param argsOffset number
function CS.UnityEngine.Graphics.DrawProceduralIndirectNow(topology, indexBuffer, bufferWithArgs, argsOffset) end
---@overload fun(material : CS.UnityEngine.Material, bounds : CS.UnityEngine.Bounds, topology : CS.UnityEngine.MeshTopology, vertexCount : number, instanceCount : number, camera : CS.UnityEngine.Camera, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode, receiveShadows : boolean, layer : number)
---@param material CS.UnityEngine.Material
---@param bounds CS.UnityEngine.Bounds
---@param topology CS.UnityEngine.MeshTopology
---@param indexBuffer CS.UnityEngine.GraphicsBuffer
---@param indexCount number
---@param instanceCount number
---@param camera CS.UnityEngine.Camera
---@param properties CS.UnityEngine.MaterialPropertyBlock
---@param castShadows CS.UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows boolean
---@param layer number
function CS.UnityEngine.Graphics.DrawProcedural(material, bounds, topology, indexBuffer, indexCount, instanceCount, camera, properties, castShadows, receiveShadows, layer) end
---@overload fun(material : CS.UnityEngine.Material, bounds : CS.UnityEngine.Bounds, topology : CS.UnityEngine.MeshTopology, bufferWithArgs : CS.UnityEngine.ComputeBuffer, argsOffset : number, camera : CS.UnityEngine.Camera, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode, receiveShadows : boolean, layer : number)
---@overload fun(material : CS.UnityEngine.Material, bounds : CS.UnityEngine.Bounds, topology : CS.UnityEngine.MeshTopology, bufferWithArgs : CS.UnityEngine.GraphicsBuffer, argsOffset : number, camera : CS.UnityEngine.Camera, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode, receiveShadows : boolean, layer : number)
---@overload fun(material : CS.UnityEngine.Material, bounds : CS.UnityEngine.Bounds, topology : CS.UnityEngine.MeshTopology, indexBuffer : CS.UnityEngine.GraphicsBuffer, bufferWithArgs : CS.UnityEngine.ComputeBuffer, argsOffset : number, camera : CS.UnityEngine.Camera, properties : CS.UnityEngine.MaterialPropertyBlock, castShadows : CS.UnityEngine.Rendering.ShadowCastingMode, receiveShadows : boolean, layer : number)
---@param material CS.UnityEngine.Material
---@param bounds CS.UnityEngine.Bounds
---@param topology CS.UnityEngine.MeshTopology
---@param indexBuffer CS.UnityEngine.GraphicsBuffer
---@param bufferWithArgs CS.UnityEngine.GraphicsBuffer
---@param argsOffset number
---@param camera CS.UnityEngine.Camera
---@param properties CS.UnityEngine.MaterialPropertyBlock
---@param castShadows CS.UnityEngine.Rendering.ShadowCastingMode
---@param receiveShadows boolean
---@param layer number
function CS.UnityEngine.Graphics.DrawProceduralIndirect(material, bounds, topology, indexBuffer, bufferWithArgs, argsOffset, camera, properties, castShadows, receiveShadows, layer) end
---@overload fun(source : CS.UnityEngine.Texture, dest : CS.UnityEngine.RenderTexture)
---@overload fun(source : CS.UnityEngine.Texture, dest : CS.UnityEngine.RenderTexture, sourceDepthSlice : number, destDepthSlice : number)
---@overload fun(source : CS.UnityEngine.Texture, dest : CS.UnityEngine.RenderTexture, scale : CS.UnityEngine.Vector2, offset : CS.UnityEngine.Vector2)
---@overload fun(source : CS.UnityEngine.Texture, dest : CS.UnityEngine.RenderTexture, scale : CS.UnityEngine.Vector2, offset : CS.UnityEngine.Vector2, sourceDepthSlice : number, destDepthSlice : number)
---@overload fun(source : CS.UnityEngine.Texture, dest : CS.UnityEngine.RenderTexture, mat : CS.UnityEngine.Material, pass : number)
---@overload fun(source : CS.UnityEngine.Texture, dest : CS.UnityEngine.RenderTexture, mat : CS.UnityEngine.Material, pass : number, destDepthSlice : number)
---@overload fun(source : CS.UnityEngine.Texture, dest : CS.UnityEngine.RenderTexture, mat : CS.UnityEngine.Material)
---@overload fun(source : CS.UnityEngine.Texture, mat : CS.UnityEngine.Material, pass : number)
---@overload fun(source : CS.UnityEngine.Texture, mat : CS.UnityEngine.Material, pass : number, destDepthSlice : number)
---@param source CS.UnityEngine.Texture
---@param mat CS.UnityEngine.Material
function CS.UnityEngine.Graphics.Blit(source, mat) end
---@overload fun(source : CS.UnityEngine.Texture, dest : CS.UnityEngine.RenderTexture, mat : CS.UnityEngine.Material, offsets : CS.UnityEngine.Vector2)
---@param source CS.UnityEngine.Texture
---@param dest CS.UnityEngine.RenderTexture
---@param mat CS.UnityEngine.Material
---@param destDepthSlice number
---@param offsets CS.UnityEngine.Vector2
function CS.UnityEngine.Graphics.BlitMultiTap(source, dest, mat, destDepthSlice, offsets) end

---@class CS.UnityEngine.GL : CS.System.Object
---@field TRIANGLES number
---@field TRIANGLE_STRIP number
---@field QUADS number
---@field LINES number
---@field LINE_STRIP number
---@field wireframe boolean
---@field sRGBWrite boolean
---@field invertCulling boolean
---@field modelview CS.UnityEngine.Matrix4x4
---@overload fun() : CS.UnityEngine.GL
CS.UnityEngine.GL = {}
---@param x number
---@param y number
---@param z number
function CS.UnityEngine.GL.Vertex3(x, y, z) end
---@param v CS.UnityEngine.Vector3
function CS.UnityEngine.GL.Vertex(v) end
---@param x number
---@param y number
---@param z number
function CS.UnityEngine.GL.TexCoord3(x, y, z) end
---@param v CS.UnityEngine.Vector3
function CS.UnityEngine.GL.TexCoord(v) end
---@param x number
---@param y number
function CS.UnityEngine.GL.TexCoord2(x, y) end
---@param unit number
---@param x number
---@param y number
---@param z number
function CS.UnityEngine.GL.MultiTexCoord3(unit, x, y, z) end
---@param unit number
---@param v CS.UnityEngine.Vector3
function CS.UnityEngine.GL.MultiTexCoord(unit, v) end
---@param unit number
---@param x number
---@param y number
function CS.UnityEngine.GL.MultiTexCoord2(unit, x, y) end
---@param c CS.UnityEngine.Color
function CS.UnityEngine.GL.Color(c) end
function CS.UnityEngine.GL.Flush() end
function CS.UnityEngine.GL.RenderTargetBarrier() end
---@param m CS.UnityEngine.Matrix4x4
function CS.UnityEngine.GL.MultMatrix(m) end
function CS.UnityEngine.GL.PushMatrix() end
function CS.UnityEngine.GL.PopMatrix() end
function CS.UnityEngine.GL.LoadIdentity() end
function CS.UnityEngine.GL.LoadOrtho() end
---@overload fun()
---@param left number
---@param right number
---@param bottom number
---@param top number
function CS.UnityEngine.GL.LoadPixelMatrix(left, right, bottom, top) end
---@param mat CS.UnityEngine.Matrix4x4
function CS.UnityEngine.GL.LoadProjectionMatrix(mat) end
function CS.UnityEngine.GL.InvalidateState() end
---@param proj CS.UnityEngine.Matrix4x4
---@param renderIntoTexture boolean
---@return CS.UnityEngine.Matrix4x4
function CS.UnityEngine.GL.GetGPUProjectionMatrix(proj, renderIntoTexture) end
---@param callback CS.System.IntPtr
---@param eventID number
function CS.UnityEngine.GL.IssuePluginEvent(callback, eventID) end
---@param mode number
function CS.UnityEngine.GL.Begin(mode) end
function CS.UnityEngine.GL.End() end
---@overload fun(clearDepth : boolean, clearColor : boolean, backgroundColor : CS.UnityEngine.Color, depth : number)
---@param clearDepth boolean
---@param clearColor boolean
---@param backgroundColor CS.UnityEngine.Color
function CS.UnityEngine.GL.Clear(clearDepth, clearColor, backgroundColor) end
---@param pixelRect CS.UnityEngine.Rect
function CS.UnityEngine.GL.Viewport(pixelRect) end
---@param clearDepth boolean
---@param camera CS.UnityEngine.Camera
function CS.UnityEngine.GL.ClearWithSkybox(clearDepth, camera) end

---@class CS.UnityEngine.Mesh : CS.UnityEngine.Object
CS.UnityEngine.Mesh = {}

---@class CS.UnityEngine.Renderer : CS.UnityEngine.Component
CS.UnityEngine.Renderer = {}

---@class CS.UnityEngine.Material : CS.UnityEngine.Object
CS.UnityEngine.Material = {}

---@class CS.UnityEngine.MeshFilter : CS.UnityEngine.Component
CS.UnityEngine.MeshFilter = {}

---@class CS.UnityEngine.ScreenOrientation
---@field Portrait CS.UnityEngine.ScreenOrientation
---@field PortraitUpsideDown CS.UnityEngine.ScreenOrientation
---@field LandscapeLeft CS.UnityEngine.ScreenOrientation
---@field LandscapeRight CS.UnityEngine.ScreenOrientation
---@field AutoRotation CS.UnityEngine.ScreenOrientation
CS.UnityEngine.ScreenOrientation = {}

---@class CS.UnityEngine.TextureFormat
---@field Alpha8 CS.UnityEngine.TextureFormat
---@field ARGB4444 CS.UnityEngine.TextureFormat
---@field RGB24 CS.UnityEngine.TextureFormat
---@field RGBA32 CS.UnityEngine.TextureFormat
---@field ARGB32 CS.UnityEngine.TextureFormat
---@field RGB565 CS.UnityEngine.TextureFormat
---@field R16 CS.UnityEngine.TextureFormat
---@field DXT1 CS.UnityEngine.TextureFormat
---@field DXT5 CS.UnityEngine.TextureFormat
---@field RGBA4444 CS.UnityEngine.TextureFormat
---@field BGRA32 CS.UnityEngine.TextureFormat
---@field RHalf CS.UnityEngine.TextureFormat
---@field RGHalf CS.UnityEngine.TextureFormat
---@field RGBAHalf CS.UnityEngine.TextureFormat
---@field RFloat CS.UnityEngine.TextureFormat
---@field RGFloat CS.UnityEngine.TextureFormat
---@field RGBAFloat CS.UnityEngine.TextureFormat
---@field YUY2 CS.UnityEngine.TextureFormat
---@field RGB9e5Float CS.UnityEngine.TextureFormat
---@field BC4 CS.UnityEngine.TextureFormat
---@field BC5 CS.UnityEngine.TextureFormat
---@field BC6H CS.UnityEngine.TextureFormat
---@field BC7 CS.UnityEngine.TextureFormat
---@field DXT1Crunched CS.UnityEngine.TextureFormat
---@field DXT5Crunched CS.UnityEngine.TextureFormat
---@field PVRTC_RGB2 CS.UnityEngine.TextureFormat
---@field PVRTC_RGBA2 CS.UnityEngine.TextureFormat
---@field PVRTC_RGB4 CS.UnityEngine.TextureFormat
---@field PVRTC_RGBA4 CS.UnityEngine.TextureFormat
---@field ETC_RGB4 CS.UnityEngine.TextureFormat
---@field EAC_R CS.UnityEngine.TextureFormat
---@field EAC_R_SIGNED CS.UnityEngine.TextureFormat
---@field EAC_RG CS.UnityEngine.TextureFormat
---@field EAC_RG_SIGNED CS.UnityEngine.TextureFormat
---@field ETC2_RGB CS.UnityEngine.TextureFormat
---@field ETC2_RGBA1 CS.UnityEngine.TextureFormat
---@field ETC2_RGBA8 CS.UnityEngine.TextureFormat
---@field ASTC_4x4 CS.UnityEngine.TextureFormat
---@field ASTC_5x5 CS.UnityEngine.TextureFormat
---@field ASTC_6x6 CS.UnityEngine.TextureFormat
---@field ASTC_8x8 CS.UnityEngine.TextureFormat
---@field ASTC_10x10 CS.UnityEngine.TextureFormat
---@field ASTC_12x12 CS.UnityEngine.TextureFormat
---@field RG16 CS.UnityEngine.TextureFormat
---@field R8 CS.UnityEngine.TextureFormat
---@field ETC_RGB4Crunched CS.UnityEngine.TextureFormat
---@field ETC2_RGBA8Crunched CS.UnityEngine.TextureFormat
---@field ASTC_HDR_4x4 CS.UnityEngine.TextureFormat
---@field ASTC_HDR_5x5 CS.UnityEngine.TextureFormat
---@field ASTC_HDR_6x6 CS.UnityEngine.TextureFormat
---@field ASTC_HDR_8x8 CS.UnityEngine.TextureFormat
---@field ASTC_HDR_10x10 CS.UnityEngine.TextureFormat
---@field ASTC_HDR_12x12 CS.UnityEngine.TextureFormat
---@field RG32 CS.UnityEngine.TextureFormat
---@field RGB48 CS.UnityEngine.TextureFormat
---@field RGBA64 CS.UnityEngine.TextureFormat
CS.UnityEngine.TextureFormat = {}

---@class CS.UnityEngine.MeshRenderer : CS.UnityEngine.Renderer
CS.UnityEngine.MeshRenderer = {}

---@class CS.UnityEngine.Texture2D : CS.UnityEngine.Texture
---@field whiteTexture CS.UnityEngine.Texture2D
---@field blackTexture CS.UnityEngine.Texture2D
---@field redTexture CS.UnityEngine.Texture2D
---@field grayTexture CS.UnityEngine.Texture2D
---@field linearGrayTexture CS.UnityEngine.Texture2D
---@field normalTexture CS.UnityEngine.Texture2D
---@field format CS.UnityEngine.TextureFormat
---@field ignoreMipmapLimit boolean
---@field isReadable boolean
---@field vtOnly boolean
---@field streamingMipmaps boolean
---@field streamingMipmapsPriority number
---@field requestedMipmapLevel number
---@field minimumMipmapLevel number
---@field calculatedMipmapLevel number
---@field desiredMipmapLevel number
---@field loadingMipmapLevel number
---@field loadedMipmapLevel number
---@field alphaIsTransparency boolean
---@overload fun(width : number, height : number, format : CS.UnityEngine.Experimental.Rendering.DefaultFormat, flags : CS.UnityEngine.Experimental.Rendering.TextureCreationFlags) : CS.UnityEngine.Texture2D
---@overload fun(width : number, height : number, format : CS.UnityEngine.Experimental.Rendering.GraphicsFormat, flags : CS.UnityEngine.Experimental.Rendering.TextureCreationFlags) : CS.UnityEngine.Texture2D
---@overload fun(width : number, height : number, format : CS.UnityEngine.Experimental.Rendering.GraphicsFormat, mipCount : number, flags : CS.UnityEngine.Experimental.Rendering.TextureCreationFlags) : CS.UnityEngine.Texture2D
---@overload fun(width : number, height : number, textureFormat : CS.UnityEngine.TextureFormat, mipCount : number, linear : boolean) : CS.UnityEngine.Texture2D
---@overload fun(width : number, height : number, textureFormat : CS.UnityEngine.TextureFormat, mipChain : boolean, linear : boolean) : CS.UnityEngine.Texture2D
---@overload fun(width : number, height : number, textureFormat : CS.UnityEngine.TextureFormat, mipChain : boolean) : CS.UnityEngine.Texture2D
---@overload fun(width : number, height : number) : CS.UnityEngine.Texture2D
CS.UnityEngine.Texture2D = {}
---@param width number
---@param height number
---@param format CS.UnityEngine.TextureFormat
---@param mipChain boolean
---@param linear boolean
---@param nativeTex CS.System.IntPtr
---@return CS.UnityEngine.Texture2D
function CS.UnityEngine.Texture2D.CreateExternalTexture(width, height, format, mipChain, linear, nativeTex) end
---@param sizes CS.UnityEngine.Vector2
---@param padding number
---@param atlasSize number
---@param results CS.System.Collections.Generic.List1UnityEngine.RectUnityEngine.CoreModuleVersion0.0.0.0CultureneutralPublicKeyTokennull
---@return boolean
function CS.UnityEngine.Texture2D.GenerateAtlas(sizes, padding, atlasSize, results) end
---@param highQuality boolean
function CS.UnityEngine.Texture2D:Compress(highQuality) end
function CS.UnityEngine.Texture2D:ClearRequestedMipmapLevel() end
---@return boolean
function CS.UnityEngine.Texture2D:IsRequestedMipmapLevelLoaded() end
function CS.UnityEngine.Texture2D:ClearMinimumMipmapLevel() end
---@param nativeTex CS.System.IntPtr
function CS.UnityEngine.Texture2D:UpdateExternalTexture(nativeTex) end
---@return CS.System.Byte
function CS.UnityEngine.Texture2D:GetRawTextureData() end
---@overload fun(x : number, y : number, blockWidth : number, blockHeight : number, miplevel : number) : CS.UnityEngine.Color
---@overload fun(x : number, y : number, blockWidth : number, blockHeight : number) : CS.UnityEngine.Color
---@overload fun(miplevel : number) : CS.UnityEngine.Color
---@return CS.UnityEngine.Color
function CS.UnityEngine.Texture2D:GetPixels() end
---@overload fun(miplevel : number) : CS.UnityEngine.Color32
---@return CS.UnityEngine.Color32
function CS.UnityEngine.Texture2D:GetPixels32() end
---@overload fun(textures : CS.UnityEngine.Texture2D, padding : number, maximumAtlasSize : number, makeNoLongerReadable : boolean) : CS.UnityEngine.Rect
---@overload fun(textures : CS.UnityEngine.Texture2D, padding : number, maximumAtlasSize : number) : CS.UnityEngine.Rect
---@param textures CS.UnityEngine.Texture2D
---@param padding number
---@return CS.UnityEngine.Rect
function CS.UnityEngine.Texture2D:PackTextures(textures, padding) end
---@overload fun(x : number, y : number, color : CS.UnityEngine.Color)
---@param x number
---@param y number
---@param color CS.UnityEngine.Color
---@param mipLevel number
function CS.UnityEngine.Texture2D:SetPixel(x, y, color, mipLevel) end
---@overload fun(x : number, y : number, blockWidth : number, blockHeight : number, colors : CS.UnityEngine.Color, miplevel : number)
---@overload fun(x : number, y : number, blockWidth : number, blockHeight : number, colors : CS.UnityEngine.Color)
---@overload fun(colors : CS.UnityEngine.Color, miplevel : number)
---@param colors CS.UnityEngine.Color
function CS.UnityEngine.Texture2D:SetPixels(colors) end
---@overload fun(x : number, y : number) : CS.UnityEngine.Color
---@param x number
---@param y number
---@param mipLevel number
---@return CS.UnityEngine.Color
function CS.UnityEngine.Texture2D:GetPixel(x, y, mipLevel) end
---@overload fun(u : number, v : number) : CS.UnityEngine.Color
---@param u number
---@param v number
---@param mipLevel number
---@return CS.UnityEngine.Color
function CS.UnityEngine.Texture2D:GetPixelBilinear(u, v, mipLevel) end
---@overload fun(data : CS.System.IntPtr, size : number)
---@param data CS.System.Byte
function CS.UnityEngine.Texture2D:LoadRawTextureData(data) end
---@overload fun(updateMipmaps : boolean, makeNoLongerReadable : boolean)
---@overload fun(updateMipmaps : boolean)
function CS.UnityEngine.Texture2D:Apply() end
---@overload fun(width : number, height : number) : boolean
---@overload fun(width : number, height : number, format : CS.UnityEngine.TextureFormat, hasMipMap : boolean) : boolean
---@param width number
---@param height number
---@param format CS.UnityEngine.Experimental.Rendering.GraphicsFormat
---@param hasMipMap boolean
---@return boolean
function CS.UnityEngine.Texture2D:Reinitialize(width, height, format, hasMipMap) end
---@overload fun(source : CS.UnityEngine.Rect, destX : number, destY : number, recalculateMipMaps : boolean)
---@param source CS.UnityEngine.Rect
---@param destX number
---@param destY number
function CS.UnityEngine.Texture2D:ReadPixels(source, destX, destY) end
---@overload fun(colors : CS.UnityEngine.Color32, miplevel : number)
---@overload fun(colors : CS.UnityEngine.Color32)
---@overload fun(x : number, y : number, blockWidth : number, blockHeight : number, colors : CS.UnityEngine.Color32, miplevel : number)
---@param x number
---@param y number
---@param blockWidth number
---@param blockHeight number
---@param colors CS.UnityEngine.Color32
function CS.UnityEngine.Texture2D:SetPixels32(x, y, blockWidth, blockHeight, colors) end
---@return CS.System.Byte
function CS.UnityEngine.Texture2D:EncodeToTGA() end
---@return CS.System.Byte
function CS.UnityEngine.Texture2D:EncodeToPNG() end
---@param quality number
---@return CS.System.Byte
function CS.UnityEngine.Texture2D:EncodeToJPG(quality) end
---@return CS.System.Byte
function CS.UnityEngine.Texture2D:EncodeToJPG() end
---@param flags CS.UnityEngine.Texture2D.EXRFlags
---@return CS.System.Byte
function CS.UnityEngine.Texture2D:EncodeToEXR(flags) end
---@return CS.System.Byte
function CS.UnityEngine.Texture2D:EncodeToEXR() end
---@param data CS.System.Byte
---@param markNonReadable boolean
---@return boolean
function CS.UnityEngine.Texture2D:LoadImage(data, markNonReadable) end
---@param data CS.System.Byte
---@return boolean
function CS.UnityEngine.Texture2D:LoadImage(data) end
---@param materialPropertySource CS.UnityEngine.Material
---@param scale number
---@return CS.Spine.AtlasRegion
function CS.UnityEngine.Texture2D:ToAtlasRegion(materialPropertySource, scale) end
---@param shader CS.UnityEngine.Shader
---@param scale number
---@param materialPropertySource CS.UnityEngine.Material
---@return CS.Spine.AtlasRegion
function CS.UnityEngine.Texture2D:ToAtlasRegion(shader, scale, materialPropertySource) end
---@param materialPropertySource CS.UnityEngine.Material
---@param textureFormat CS.UnityEngine.TextureFormat
---@param mipmaps boolean
---@return CS.Spine.AtlasRegion
function CS.UnityEngine.Texture2D:ToAtlasRegionPMAClone(materialPropertySource, textureFormat, mipmaps) end
---@param shader CS.UnityEngine.Shader
---@param textureFormat CS.UnityEngine.TextureFormat
---@param mipmaps boolean
---@param materialPropertySource CS.UnityEngine.Material
---@return CS.Spine.AtlasRegion
function CS.UnityEngine.Texture2D:ToAtlasRegionPMAClone(shader, textureFormat, mipmaps, materialPropertySource) end

---@class CS.UnityEngine.RenderTexture : CS.UnityEngine.Texture
---@field active CS.UnityEngine.RenderTexture
---@field width number
---@field height number
---@field dimension CS.UnityEngine.Rendering.TextureDimension
---@field graphicsFormat CS.UnityEngine.Experimental.Rendering.GraphicsFormat
---@field useMipMap boolean
---@field sRGB boolean
---@field vrUsage CS.UnityEngine.VRTextureUsage
---@field memorylessMode CS.UnityEngine.RenderTextureMemoryless
---@field format CS.UnityEngine.RenderTextureFormat
---@field stencilFormat CS.UnityEngine.Experimental.Rendering.GraphicsFormat
---@field depthStencilFormat CS.UnityEngine.Experimental.Rendering.GraphicsFormat
---@field autoGenerateMips boolean
---@field volumeDepth number
---@field antiAliasing number
---@field bindTextureMS boolean
---@field enableRandomWrite boolean
---@field useDynamicScale boolean
---@field isPowerOfTwo boolean
---@field colorBuffer CS.UnityEngine.RenderBuffer
---@field depthBuffer CS.UnityEngine.RenderBuffer
---@field depth number
---@field descriptor CS.UnityEngine.RenderTextureDescriptor
CS.UnityEngine.RenderTexture = {}

---@class CS.UnityEngine.Color : CS.System.ValueType
---@field r number
---@field g number
---@field b number
---@field a number
---@field red CS.UnityEngine.Color
---@field green CS.UnityEngine.Color
---@field blue CS.UnityEngine.Color
---@field white CS.UnityEngine.Color
---@field black CS.UnityEngine.Color
---@field yellow CS.UnityEngine.Color
---@field cyan CS.UnityEngine.Color
---@field magenta CS.UnityEngine.Color
---@field gray CS.UnityEngine.Color
---@field grey CS.UnityEngine.Color
---@field clear CS.UnityEngine.Color
---@field grayscale number
---@field linear CS.UnityEngine.Color
---@field gamma CS.UnityEngine.Color
---@field maxColorComponent number
---@field Item number
CS.UnityEngine.Color = {}

---@class CS.UnityEngine.Vector3 : CS.System.ValueType
---@field kEpsilon number
---@field kEpsilonNormalSqrt number
---@field x number
---@field y number
---@field z number
---@field zero CS.UnityEngine.Vector3
---@field one CS.UnityEngine.Vector3
---@field forward CS.UnityEngine.Vector3
---@field back CS.UnityEngine.Vector3
---@field up CS.UnityEngine.Vector3
---@field down CS.UnityEngine.Vector3
---@field left CS.UnityEngine.Vector3
---@field right CS.UnityEngine.Vector3
---@field positiveInfinity CS.UnityEngine.Vector3
---@field negativeInfinity CS.UnityEngine.Vector3
---@field Item number
---@field normalized CS.UnityEngine.Vector3
---@field magnitude number
---@field sqrMagnitude number
---@overload fun(x : number, y : number, z : number) : CS.UnityEngine.Vector3
---@overload fun(x : number, y : number) : CS.UnityEngine.Vector3
CS.UnityEngine.Vector3 = {}
---@param a CS.UnityEngine.Vector3
---@param b CS.UnityEngine.Vector3
---@param t number
---@return CS.UnityEngine.Vector3
function CS.UnityEngine.Vector3.Slerp(a, b, t) end
---@param a CS.UnityEngine.Vector3
---@param b CS.UnityEngine.Vector3
---@param t number
---@return CS.UnityEngine.Vector3
function CS.UnityEngine.Vector3.SlerpUnclamped(a, b, t) end
---@overload fun(ref_normal : CS.UnityEngine.Vector3, ref_tangent : CS.UnityEngine.Vector3) : CS.UnityEngine.Vector3, CS.UnityEngine.Vector3
---@param ref_normal CS.UnityEngine.Vector3
---@param ref_tangent CS.UnityEngine.Vector3
---@param ref_binormal CS.UnityEngine.Vector3
---@return ,CS.UnityEngine.Vector3,CS.UnityEngine.Vector3,CS.UnityEngine.Vector3
function CS.UnityEngine.Vector3.OrthoNormalize(ref_normal, ref_tangent, ref_binormal) end
---@param current CS.UnityEngine.Vector3
---@param target CS.UnityEngine.Vector3
---@param maxRadiansDelta number
---@param maxMagnitudeDelta number
---@return CS.UnityEngine.Vector3
function CS.UnityEngine.Vector3.RotateTowards(current, target, maxRadiansDelta, maxMagnitudeDelta) end
---@param a CS.UnityEngine.Vector3
---@param b CS.UnityEngine.Vector3
---@param t number
---@return CS.UnityEngine.Vector3
function CS.UnityEngine.Vector3.Lerp(a, b, t) end
---@param a CS.UnityEngine.Vector3
---@param b CS.UnityEngine.Vector3
---@param t number
---@return CS.UnityEngine.Vector3
function CS.UnityEngine.Vector3.LerpUnclamped(a, b, t) end
---@param current CS.UnityEngine.Vector3
---@param target CS.UnityEngine.Vector3
---@param maxDistanceDelta number
---@return CS.UnityEngine.Vector3
function CS.UnityEngine.Vector3.MoveTowards(current, target, maxDistanceDelta) end
---@overload fun(current : CS.UnityEngine.Vector3, target : CS.UnityEngine.Vector3, ref_currentVelocity : CS.UnityEngine.Vector3, smoothTime : number, maxSpeed : number) : CS.UnityEngine.Vector3, CS.UnityEngine.Vector3
---@overload fun(current : CS.UnityEngine.Vector3, target : CS.UnityEngine.Vector3, ref_currentVelocity : CS.UnityEngine.Vector3, smoothTime : number) : CS.UnityEngine.Vector3, CS.UnityEngine.Vector3
---@param current CS.UnityEngine.Vector3
---@param target CS.UnityEngine.Vector3
---@param ref_currentVelocity CS.UnityEngine.Vector3
---@param smoothTime number
---@param maxSpeed number
---@param deltaTime number
---@return CS.UnityEngine.Vector3,CS.UnityEngine.Vector3
function CS.UnityEngine.Vector3.SmoothDamp(current, target, ref_currentVelocity, smoothTime, maxSpeed, deltaTime) end
---@overload fun(a : CS.UnityEngine.Vector3, b : CS.UnityEngine.Vector3) : CS.UnityEngine.Vector3
---@param scale CS.UnityEngine.Vector3
function CS.UnityEngine.Vector3:Scale(scale) end
---@param lhs CS.UnityEngine.Vector3
---@param rhs CS.UnityEngine.Vector3
---@return CS.UnityEngine.Vector3
function CS.UnityEngine.Vector3.Cross(lhs, rhs) end
---@param inDirection CS.UnityEngine.Vector3
---@param inNormal CS.UnityEngine.Vector3
---@return CS.UnityEngine.Vector3
function CS.UnityEngine.Vector3.Reflect(inDirection, inNormal) end
---@overload fun(value : CS.UnityEngine.Vector3) : CS.UnityEngine.Vector3
function CS.UnityEngine.Vector3:Normalize() end
---@param lhs CS.UnityEngine.Vector3
---@param rhs CS.UnityEngine.Vector3
---@return number
function CS.UnityEngine.Vector3.Dot(lhs, rhs) end
---@param vector CS.UnityEngine.Vector3
---@param onNormal CS.UnityEngine.Vector3
---@return CS.UnityEngine.Vector3
function CS.UnityEngine.Vector3.Project(vector, onNormal) end
---@param vector CS.UnityEngine.Vector3
---@param planeNormal CS.UnityEngine.Vector3
---@return CS.UnityEngine.Vector3
function CS.UnityEngine.Vector3.ProjectOnPlane(vector, planeNormal) end
---@param from CS.UnityEngine.Vector3
---@param to CS.UnityEngine.Vector3
---@return number
function CS.UnityEngine.Vector3.Angle(from, to) end
---@param from CS.UnityEngine.Vector3
---@param to CS.UnityEngine.Vector3
---@param axis CS.UnityEngine.Vector3
---@return number
function CS.UnityEngine.Vector3.SignedAngle(from, to, axis) end
---@param a CS.UnityEngine.Vector3
---@param b CS.UnityEngine.Vector3
---@return number
function CS.UnityEngine.Vector3.Distance(a, b) end
---@param vector CS.UnityEngine.Vector3
---@param maxLength number
---@return CS.UnityEngine.Vector3
function CS.UnityEngine.Vector3.ClampMagnitude(vector, maxLength) end
---@param vector CS.UnityEngine.Vector3
---@return number
function CS.UnityEngine.Vector3.Magnitude(vector) end
---@param vector CS.UnityEngine.Vector3
---@return number
function CS.UnityEngine.Vector3.SqrMagnitude(vector) end
---@param lhs CS.UnityEngine.Vector3
---@param rhs CS.UnityEngine.Vector3
---@return CS.UnityEngine.Vector3
function CS.UnityEngine.Vector3.Min(lhs, rhs) end
---@param lhs CS.UnityEngine.Vector3
---@param rhs CS.UnityEngine.Vector3
---@return CS.UnityEngine.Vector3
function CS.UnityEngine.Vector3.Max(lhs, rhs) end
---@param newX number
---@param newY number
---@param newZ number
function CS.UnityEngine.Vector3:Set(newX, newY, newZ) end
---@return number
function CS.UnityEngine.Vector3:GetHashCode() end
---@overload fun(other : CS.System.Object) : boolean
---@param other CS.UnityEngine.Vector3
---@return boolean
function CS.UnityEngine.Vector3:Equals(other) end
---@overload fun() : string
---@overload fun(format : string) : string
---@param format string
---@param formatProvider CS.System.IFormatProvider
---@return string
function CS.UnityEngine.Vector3:ToString(format, formatProvider) end

---@class CS.UnityEngine.Quaternion : CS.System.ValueType
---@field kEpsilon number
---@field x number
---@field y number
---@field z number
---@field w number
---@field identity CS.UnityEngine.Quaternion
---@field Item number
---@field eulerAngles CS.UnityEngine.Vector3
---@field normalized CS.UnityEngine.Quaternion
---@overload fun(x : number, y : number, z : number, w : number) : CS.UnityEngine.Quaternion
CS.UnityEngine.Quaternion = {}
---@param fromDirection CS.UnityEngine.Vector3
---@param toDirection CS.UnityEngine.Vector3
---@return CS.UnityEngine.Quaternion
function CS.UnityEngine.Quaternion.FromToRotation(fromDirection, toDirection) end
---@param rotation CS.UnityEngine.Quaternion
---@return CS.UnityEngine.Quaternion
function CS.UnityEngine.Quaternion.Inverse(rotation) end
---@param a CS.UnityEngine.Quaternion
---@param b CS.UnityEngine.Quaternion
---@param t number
---@return CS.UnityEngine.Quaternion
function CS.UnityEngine.Quaternion.Slerp(a, b, t) end
---@param a CS.UnityEngine.Quaternion
---@param b CS.UnityEngine.Quaternion
---@param t number
---@return CS.UnityEngine.Quaternion
function CS.UnityEngine.Quaternion.SlerpUnclamped(a, b, t) end
---@param a CS.UnityEngine.Quaternion
---@param b CS.UnityEngine.Quaternion
---@param t number
---@return CS.UnityEngine.Quaternion
function CS.UnityEngine.Quaternion.Lerp(a, b, t) end
---@param a CS.UnityEngine.Quaternion
---@param b CS.UnityEngine.Quaternion
---@param t number
---@return CS.UnityEngine.Quaternion
function CS.UnityEngine.Quaternion.LerpUnclamped(a, b, t) end
---@param angle number
---@param axis CS.UnityEngine.Vector3
---@return CS.UnityEngine.Quaternion
function CS.UnityEngine.Quaternion.AngleAxis(angle, axis) end
---@overload fun(forward : CS.UnityEngine.Vector3, upwards : CS.UnityEngine.Vector3) : CS.UnityEngine.Quaternion
---@param forward CS.UnityEngine.Vector3
---@return CS.UnityEngine.Quaternion
function CS.UnityEngine.Quaternion.LookRotation(forward) end
---@param a CS.UnityEngine.Quaternion
---@param b CS.UnityEngine.Quaternion
---@return number
function CS.UnityEngine.Quaternion.Dot(a, b) end
---@param a CS.UnityEngine.Quaternion
---@param b CS.UnityEngine.Quaternion
---@return number
function CS.UnityEngine.Quaternion.Angle(a, b) end
---@overload fun(x : number, y : number, z : number) : CS.UnityEngine.Quaternion
---@param euler CS.UnityEngine.Vector3
---@return CS.UnityEngine.Quaternion
function CS.UnityEngine.Quaternion.Euler(euler) end
---@param from CS.UnityEngine.Quaternion
---@param to CS.UnityEngine.Quaternion
---@param maxDegreesDelta number
---@return CS.UnityEngine.Quaternion
function CS.UnityEngine.Quaternion.RotateTowards(from, to, maxDegreesDelta) end
---@overload fun(q : CS.UnityEngine.Quaternion) : CS.UnityEngine.Quaternion
function CS.UnityEngine.Quaternion:Normalize() end
---@param newX number
---@param newY number
---@param newZ number
---@param newW number
function CS.UnityEngine.Quaternion:Set(newX, newY, newZ, newW) end
---@overload fun(view : CS.UnityEngine.Vector3)
---@param view CS.UnityEngine.Vector3
---@param up CS.UnityEngine.Vector3
function CS.UnityEngine.Quaternion:SetLookRotation(view, up) end
---@param out_angle number
---@param out_axis CS.UnityEngine.Vector3
---@return ,number,CS.UnityEngine.Vector3
function CS.UnityEngine.Quaternion:ToAngleAxis(out_angle, out_axis) end
---@param fromDirection CS.UnityEngine.Vector3
---@param toDirection CS.UnityEngine.Vector3
function CS.UnityEngine.Quaternion:SetFromToRotation(fromDirection, toDirection) end
---@return number
function CS.UnityEngine.Quaternion:GetHashCode() end
---@overload fun(other : CS.System.Object) : boolean
---@param other CS.UnityEngine.Quaternion
---@return boolean
function CS.UnityEngine.Quaternion:Equals(other) end
---@overload fun() : string
---@overload fun(format : string) : string
---@param format string
---@param formatProvider CS.System.IFormatProvider
---@return string
function CS.UnityEngine.Quaternion:ToString(format, formatProvider) end
---@param ref_point CS.UnityEngine.Vector2
---@return ,CS.UnityEngine.Vector2
function CS.UnityEngine.Quaternion:Multiply2D(ref_point) end

---@class CS.UnityEngine.Vector2 : CS.System.ValueType
---@field kEpsilon number
---@field kEpsilonNormalSqrt number
---@field x number
---@field y number
---@field zero CS.UnityEngine.Vector2
---@field one CS.UnityEngine.Vector2
---@field up CS.UnityEngine.Vector2
---@field down CS.UnityEngine.Vector2
---@field left CS.UnityEngine.Vector2
---@field right CS.UnityEngine.Vector2
---@field positiveInfinity CS.UnityEngine.Vector2
---@field negativeInfinity CS.UnityEngine.Vector2
---@field Item number
---@field normalized CS.UnityEngine.Vector2
---@field magnitude number
---@field sqrMagnitude number
---@overload fun(x : number, y : number) : CS.UnityEngine.Vector2
CS.UnityEngine.Vector2 = {}
---@param a CS.UnityEngine.Vector2
---@param b CS.UnityEngine.Vector2
---@param t number
---@return CS.UnityEngine.Vector2
function CS.UnityEngine.Vector2.Lerp(a, b, t) end
---@param a CS.UnityEngine.Vector2
---@param b CS.UnityEngine.Vector2
---@param t number
---@return CS.UnityEngine.Vector2
function CS.UnityEngine.Vector2.LerpUnclamped(a, b, t) end
---@param current CS.UnityEngine.Vector2
---@param target CS.UnityEngine.Vector2
---@param maxDistanceDelta number
---@return CS.UnityEngine.Vector2
function CS.UnityEngine.Vector2.MoveTowards(current, target, maxDistanceDelta) end
---@overload fun(a : CS.UnityEngine.Vector2, b : CS.UnityEngine.Vector2) : CS.UnityEngine.Vector2
---@param scale CS.UnityEngine.Vector2
function CS.UnityEngine.Vector2:Scale(scale) end
---@param inDirection CS.UnityEngine.Vector2
---@param inNormal CS.UnityEngine.Vector2
---@return CS.UnityEngine.Vector2
function CS.UnityEngine.Vector2.Reflect(inDirection, inNormal) end
---@param inDirection CS.UnityEngine.Vector2
---@return CS.UnityEngine.Vector2
function CS.UnityEngine.Vector2.Perpendicular(inDirection) end
---@param lhs CS.UnityEngine.Vector2
---@param rhs CS.UnityEngine.Vector2
---@return number
function CS.UnityEngine.Vector2.Dot(lhs, rhs) end
---@param from CS.UnityEngine.Vector2
---@param to CS.UnityEngine.Vector2
---@return number
function CS.UnityEngine.Vector2.Angle(from, to) end
---@param from CS.UnityEngine.Vector2
---@param to CS.UnityEngine.Vector2
---@return number
function CS.UnityEngine.Vector2.SignedAngle(from, to) end
---@param a CS.UnityEngine.Vector2
---@param b CS.UnityEngine.Vector2
---@return number
function CS.UnityEngine.Vector2.Distance(a, b) end
---@param vector CS.UnityEngine.Vector2
---@param maxLength number
---@return CS.UnityEngine.Vector2
function CS.UnityEngine.Vector2.ClampMagnitude(vector, maxLength) end
---@overload fun(a : CS.UnityEngine.Vector2) : number
---@return number
function CS.UnityEngine.Vector2:SqrMagnitude() end
---@param lhs CS.UnityEngine.Vector2
---@param rhs CS.UnityEngine.Vector2
---@return CS.UnityEngine.Vector2
function CS.UnityEngine.Vector2.Min(lhs, rhs) end
---@param lhs CS.UnityEngine.Vector2
---@param rhs CS.UnityEngine.Vector2
---@return CS.UnityEngine.Vector2
function CS.UnityEngine.Vector2.Max(lhs, rhs) end
---@overload fun(current : CS.UnityEngine.Vector2, target : CS.UnityEngine.Vector2, ref_currentVelocity : CS.UnityEngine.Vector2, smoothTime : number, maxSpeed : number) : CS.UnityEngine.Vector2, CS.UnityEngine.Vector2
---@overload fun(current : CS.UnityEngine.Vector2, target : CS.UnityEngine.Vector2, ref_currentVelocity : CS.UnityEngine.Vector2, smoothTime : number) : CS.UnityEngine.Vector2, CS.UnityEngine.Vector2
---@param current CS.UnityEngine.Vector2
---@param target CS.UnityEngine.Vector2
---@param ref_currentVelocity CS.UnityEngine.Vector2
---@param smoothTime number
---@param maxSpeed number
---@param deltaTime number
---@return CS.UnityEngine.Vector2,CS.UnityEngine.Vector2
function CS.UnityEngine.Vector2.SmoothDamp(current, target, ref_currentVelocity, smoothTime, maxSpeed, deltaTime) end
---@param newX number
---@param newY number
function CS.UnityEngine.Vector2:Set(newX, newY) end
function CS.UnityEngine.Vector2:Normalize() end
---@overload fun() : string
---@overload fun(format : string) : string
---@param format string
---@param formatProvider CS.System.IFormatProvider
---@return string
function CS.UnityEngine.Vector2:ToString(format, formatProvider) end
---@return number
function CS.UnityEngine.Vector2:GetHashCode() end
---@overload fun(other : CS.System.Object) : boolean
---@param other CS.UnityEngine.Vector2
---@return boolean
function CS.UnityEngine.Vector2:Equals(other) end

---@class CS.UnityEngine.Resources : CS.System.Object
---@overload fun() : CS.UnityEngine.Resources
CS.UnityEngine.Resources = {}
---@param type CS.System.Type
---@return CS.UnityEngine.Object
function CS.UnityEngine.Resources.FindObjectsOfTypeAll(type) end
---@overload fun(path : string) : CS.UnityEngine.Object
---@param path string
---@param systemTypeInstance CS.System.Type
---@return CS.UnityEngine.Object
function CS.UnityEngine.Resources.Load(path, systemTypeInstance) end
---@overload fun(path : string) : CS.UnityEngine.ResourceRequest
---@param path string
---@param type CS.System.Type
---@return CS.UnityEngine.ResourceRequest
function CS.UnityEngine.Resources.LoadAsync(path, type) end
---@overload fun(path : string, systemTypeInstance : CS.System.Type) : CS.UnityEngine.Object
---@param path string
---@return CS.UnityEngine.Object
function CS.UnityEngine.Resources.LoadAll(path) end
---@param type CS.System.Type
---@param path string
---@return CS.UnityEngine.Object
function CS.UnityEngine.Resources.GetBuiltinResource(type, path) end
---@param assetToUnload CS.UnityEngine.Object
function CS.UnityEngine.Resources.UnloadAsset(assetToUnload) end
---@return CS.UnityEngine.AsyncOperation
function CS.UnityEngine.Resources.UnloadUnusedAssets() end
---@param instanceID number
---@return CS.UnityEngine.Object
function CS.UnityEngine.Resources.InstanceIDToObject(instanceID) end
---@param instanceIDs CS.Unity.Collections.NativeArray1System.Int32mscorlibVersion4.0.0.0CultureneutralPublicKeyTokenb77a5c561934e089
---@param objects CS.System.Collections.Generic.List1UnityEngine.ObjectUnityEngine.CoreModuleVersion0.0.0.0CultureneutralPublicKeyTokennull
function CS.UnityEngine.Resources.InstanceIDToObjectList(instanceIDs, objects) end

---@class CS.UnityEngine.Component : CS.UnityEngine.Object
CS.UnityEngine.Component = {}

---@class CS.UnityEngine.GameObject : CS.UnityEngine.Object
---@field transform CS.UnityEngine.Transform
---@field layer number
---@field activeSelf boolean
---@field activeInHierarchy boolean
---@field isStatic boolean
---@field tag string
---@field scene CS.UnityEngine.SceneManagement.Scene
---@field sceneCullingMask number
---@field gameObject CS.UnityEngine.GameObject
---@overload fun(name : string) : CS.UnityEngine.GameObject
---@overload fun() : CS.UnityEngine.GameObject
---@overload fun(name : string, components : CS.System.Type) : CS.UnityEngine.GameObject
CS.UnityEngine.GameObject = {}
---@param type CS.UnityEngine.PrimitiveType
---@return CS.UnityEngine.GameObject
function CS.UnityEngine.GameObject.CreatePrimitive(type) end
---@param tag string
---@return CS.UnityEngine.GameObject
function CS.UnityEngine.GameObject.FindWithTag(tag) end
---@param tag string
---@return CS.UnityEngine.GameObject
function CS.UnityEngine.GameObject.FindGameObjectWithTag(tag) end
---@param tag string
---@return CS.UnityEngine.GameObject
function CS.UnityEngine.GameObject.FindGameObjectsWithTag(tag) end
---@param name string
---@return CS.UnityEngine.GameObject
function CS.UnityEngine.GameObject.Find(name) end
---@overload fun(type : CS.System.Type) : CS.UnityEngine.Component
---@param type string
---@return CS.UnityEngine.Component
function CS.UnityEngine.GameObject:GetComponent(type) end
---@overload fun(type : CS.System.Type, includeInactive : boolean) : CS.UnityEngine.Component
---@param type CS.System.Type
---@return CS.UnityEngine.Component
function CS.UnityEngine.GameObject:GetComponentInChildren(type) end
---@overload fun(type : CS.System.Type, includeInactive : boolean) : CS.UnityEngine.Component
---@param type CS.System.Type
---@return CS.UnityEngine.Component
function CS.UnityEngine.GameObject:GetComponentInParent(type) end
---@overload fun(type : CS.System.Type) : CS.UnityEngine.Component
---@param type CS.System.Type
---@param results CS.System.Collections.Generic.List1UnityEngine.ComponentUnityEngine.CoreModuleVersion0.0.0.0CultureneutralPublicKeyTokennull
function CS.UnityEngine.GameObject:GetComponents(type, results) end
---@overload fun(type : CS.System.Type) : CS.UnityEngine.Component
---@param type CS.System.Type
---@param includeInactive boolean
---@return CS.UnityEngine.Component
function CS.UnityEngine.GameObject:GetComponentsInChildren(type, includeInactive) end
---@overload fun(type : CS.System.Type) : CS.UnityEngine.Component
---@param type CS.System.Type
---@param includeInactive boolean
---@return CS.UnityEngine.Component
function CS.UnityEngine.GameObject:GetComponentsInParent(type, includeInactive) end
---@param type CS.System.Type
---@param out_component CS.UnityEngine.Component
---@return boolean,CS.UnityEngine.Component
function CS.UnityEngine.GameObject:TryGetComponent(type, out_component) end
---@overload fun(methodName : string, options : CS.UnityEngine.SendMessageOptions)
---@overload fun(methodName : string, value : CS.System.Object, options : CS.UnityEngine.SendMessageOptions)
---@overload fun(methodName : string, value : CS.System.Object)
---@param methodName string
function CS.UnityEngine.GameObject:SendMessageUpwards(methodName) end
---@overload fun(methodName : string, options : CS.UnityEngine.SendMessageOptions)
---@overload fun(methodName : string, value : CS.System.Object, options : CS.UnityEngine.SendMessageOptions)
---@overload fun(methodName : string, value : CS.System.Object)
---@param methodName string
function CS.UnityEngine.GameObject:SendMessage(methodName) end
---@overload fun(methodName : string, options : CS.UnityEngine.SendMessageOptions)
---@overload fun(methodName : string, parameter : CS.System.Object, options : CS.UnityEngine.SendMessageOptions)
---@overload fun(methodName : string, parameter : CS.System.Object)
---@param methodName string
function CS.UnityEngine.GameObject:BroadcastMessage(methodName) end
---@param componentType CS.System.Type
---@return CS.UnityEngine.Component
function CS.UnityEngine.GameObject:AddComponent(componentType) end
---@param value boolean
function CS.UnityEngine.GameObject:SetActive(value) end
---@param tag string
---@return boolean
function CS.UnityEngine.GameObject:CompareTag(tag) end
---@return CS.UnityEngine.Vector3
function CS.UnityEngine.GameObject:GetPosition() end
---@return number
function CS.UnityEngine.GameObject:GetPositionX() end
---@return number
function CS.UnityEngine.GameObject:GetPositionY() end
---@param p CS.UnityEngine.Vector3
function CS.UnityEngine.GameObject:SetPosition(p) end
---@param x number
function CS.UnityEngine.GameObject:SetPositionX(x) end
---@param y number
function CS.UnityEngine.GameObject:SetPositionY(y) end
---@return CS.UnityEngine.Vector3
function CS.UnityEngine.GameObject:GetWorldPosition() end
---@param p CS.UnityEngine.Vector3
function CS.UnityEngine.GameObject:SetWorldPosition(p) end
---@return CS.UnityEngine.Vector3
function CS.UnityEngine.GameObject:GetScale() end
---@return number
function CS.UnityEngine.GameObject:GetScaleX() end
---@return number
function CS.UnityEngine.GameObject:GetScaleY() end
---@param sx number
function CS.UnityEngine.GameObject:SetScaleX(sx) end
---@param sy number
function CS.UnityEngine.GameObject:SetScaleY(sy) end
---@return number
function CS.UnityEngine.GameObject:GetScalef() end
---@param s CS.UnityEngine.Vector3
function CS.UnityEngine.GameObject:SetScale(s) end
---@param s number
function CS.UnityEngine.GameObject:SetScalef(s) end
---@param zorder number
---@param recursively boolean
function CS.UnityEngine.GameObject:SetZOrder(zorder, recursively) end
---@return number
function CS.UnityEngine.GameObject:GetZOrder() end
---@return number
function CS.UnityEngine.GameObject:GetRotation() end
---@param angle number
function CS.UnityEngine.GameObject:SetRotation(angle) end
---@return CS.UnityEngine.GameObject
function CS.UnityEngine.GameObject:GetParent() end
---@param parentGo CS.UnityEngine.GameObject
---@param worldPositionStays boolean
function CS.UnityEngine.GameObject:SetParent(parentGo, worldPositionStays) end
---@param name string
---@return CS.UnityEngine.GameObject
function CS.UnityEngine.GameObject:Seek(name) end
---@param pattern string
---@return CS.UnityEngine.GameObject
function CS.UnityEngine.GameObject:SeekPattern(pattern) end
---@param type CS.System.Type
---@return CS.System.Collections.Generic.List1UnityEngine.ComponentUnityEngine.CoreModuleVersion0.0.0.0CultureneutralPublicKeyTokennull
function CS.UnityEngine.GameObject:SeekType(type) end
---@param pattern string
---@param recurse boolean
---@return CS.System.Collections.Generic.List1UnityEngine.GameObjectUnityEngine.CoreModuleVersion0.0.0.0CultureneutralPublicKeyTokennull
function CS.UnityEngine.GameObject:_SearchPattern(pattern, recurse) end
---@param name string
---@return CS.UnityEngine.GameObject
function CS.UnityEngine.GameObject:Child(name) end
---@param child CS.UnityEngine.GameObject
---@param worldPositionStays boolean
---@return CS.UnityEngine.GameObject
function CS.UnityEngine.GameObject:AddChild(child, worldPositionStays) end
function CS.UnityEngine.GameObject:Destroy() end
---@param name string
---@return CS.UnityEngine.GameObject
function CS.UnityEngine.GameObject:SetName(name) end
---@param layer number
---@param recursivly boolean
function CS.UnityEngine.GameObject:SetLayer(layer, recursivly) end
---@param b boolean
function CS.UnityEngine.GameObject:SetIsStatic(b) end
---@param tag string
function CS.UnityEngine.GameObject:SetTag(tag) end
---@param hideFlags CS.UnityEngine.HideFlags
function CS.UnityEngine.GameObject:SetHideFlags(hideFlags) end
---@param action CS.wtween.BaseAction
---@return CS.wtween.BaseAction
function CS.UnityEngine.GameObject:RunAction(action) end
---@param action CS.wtween.BaseAction
---@return CS.wtween.BaseAction
function CS.UnityEngine.GameObject:StopAction(action) end
function CS.UnityEngine.GameObject:StopAllActions() end
---@return CS.wtween.wtweenFlowAPI
function CS.UnityEngine.GameObject:tween() end

---@class CS.UnityEngine.LayerMask : CS.System.ValueType
---@field value number
CS.UnityEngine.LayerMask = {}
---@param layer number
---@return string
function CS.UnityEngine.LayerMask.LayerToName(layer) end
---@param layerName string
---@return number
function CS.UnityEngine.LayerMask.NameToLayer(layerName) end
---@param layerNames CS.System.String
---@return number
function CS.UnityEngine.LayerMask.GetMask(layerNames) end

---@class CS.UnityEngine.Object : CS.System.Object
---@field name string
---@field hideFlags CS.UnityEngine.HideFlags
---@overload fun() : CS.UnityEngine.Object
CS.UnityEngine.Object = {}
---@overload fun(original : CS.UnityEngine.Object, position : CS.UnityEngine.Vector3, rotation : CS.UnityEngine.Quaternion) : CS.UnityEngine.Object
---@overload fun(original : CS.UnityEngine.Object, position : CS.UnityEngine.Vector3, rotation : CS.UnityEngine.Quaternion, parent : CS.UnityEngine.Transform) : CS.UnityEngine.Object
---@overload fun(original : CS.UnityEngine.Object) : CS.UnityEngine.Object
---@overload fun(original : CS.UnityEngine.Object, parent : CS.UnityEngine.Transform) : CS.UnityEngine.Object
---@param original CS.UnityEngine.Object
---@param parent CS.UnityEngine.Transform
---@param instantiateInWorldSpace boolean
---@return CS.UnityEngine.Object
function CS.UnityEngine.Object.Instantiate(original, parent, instantiateInWorldSpace) end
---@overload fun(obj : CS.UnityEngine.Object, t : number)
---@param obj CS.UnityEngine.Object
function CS.UnityEngine.Object.Destroy(obj) end
---@overload fun(obj : CS.UnityEngine.Object, allowDestroyingAssets : boolean)
---@param obj CS.UnityEngine.Object
function CS.UnityEngine.Object.DestroyImmediate(obj) end
---@overload fun(type : CS.System.Type) : CS.UnityEngine.Object
---@param type CS.System.Type
---@param includeInactive boolean
---@return CS.UnityEngine.Object
function CS.UnityEngine.Object.FindObjectsOfType(type, includeInactive) end
---@overload fun(type : CS.System.Type, sortMode : CS.UnityEngine.FindObjectsSortMode) : CS.UnityEngine.Object
---@param type CS.System.Type
---@param findObjectsInactive CS.UnityEngine.FindObjectsInactive
---@param sortMode CS.UnityEngine.FindObjectsSortMode
---@return CS.UnityEngine.Object
function CS.UnityEngine.Object.FindObjectsByType(type, findObjectsInactive, sortMode) end
---@param target CS.UnityEngine.Object
function CS.UnityEngine.Object.DontDestroyOnLoad(target) end
---@overload fun(type : CS.System.Type) : CS.UnityEngine.Object
---@param type CS.System.Type
---@param includeInactive boolean
---@return CS.UnityEngine.Object
function CS.UnityEngine.Object.FindObjectOfType(type, includeInactive) end
---@overload fun(type : CS.System.Type) : CS.UnityEngine.Object
---@param type CS.System.Type
---@param findObjectsInactive CS.UnityEngine.FindObjectsInactive
---@return CS.UnityEngine.Object
function CS.UnityEngine.Object.FindFirstObjectByType(type, findObjectsInactive) end
---@overload fun(type : CS.System.Type) : CS.UnityEngine.Object
---@param type CS.System.Type
---@param findObjectsInactive CS.UnityEngine.FindObjectsInactive
---@return CS.UnityEngine.Object
function CS.UnityEngine.Object.FindAnyObjectByType(type, findObjectsInactive) end
---@return number
function CS.UnityEngine.Object:GetInstanceID() end
---@return number
function CS.UnityEngine.Object:GetHashCode() end
---@param other CS.System.Object
---@return boolean
function CS.UnityEngine.Object:Equals(other) end
---@return string
function CS.UnityEngine.Object:ToString() end

---@class CS.UnityEngine.SystemInfo : CS.System.Object
---@field unsupportedIdentifier string
---@field batteryLevel number
---@field batteryStatus CS.UnityEngine.BatteryStatus
---@field operatingSystem string
---@field operatingSystemFamily CS.UnityEngine.OperatingSystemFamily
---@field processorType string
---@field processorFrequency number
---@field processorCount number
---@field systemMemorySize number
---@field deviceUniqueIdentifier string
---@field deviceName string
---@field deviceModel string
---@field supportsAccelerometer boolean
---@field supportsGyroscope boolean
---@field supportsLocationService boolean
---@field supportsVibration boolean
---@field supportsAudio boolean
---@field deviceType CS.UnityEngine.DeviceType
---@field graphicsMemorySize number
---@field graphicsDeviceName string
---@field graphicsDeviceVendor string
---@field graphicsDeviceID number
---@field graphicsDeviceVendorID number
---@field graphicsDeviceType CS.UnityEngine.Rendering.GraphicsDeviceType
---@field graphicsUVStartsAtTop boolean
---@field graphicsDeviceVersion string
---@field graphicsShaderLevel number
---@field graphicsMultiThreaded boolean
---@field renderingThreadingMode CS.UnityEngine.Rendering.RenderingThreadingMode
---@field hasHiddenSurfaceRemovalOnGPU boolean
---@field hasDynamicUniformArrayIndexingInFragmentShaders boolean
---@field supportsShadows boolean
---@field supportsRawShadowDepthSampling boolean
---@field supportsMotionVectors boolean
---@field supports3DTextures boolean
---@field supportsCompressed3DTextures boolean
---@field supports2DArrayTextures boolean
---@field supports3DRenderTextures boolean
---@field supportsCubemapArrayTextures boolean
---@field supportsAnisotropicFilter boolean
---@field copyTextureSupport CS.UnityEngine.Rendering.CopyTextureSupport
---@field supportsComputeShaders boolean
---@field supportsGeometryShaders boolean
---@field supportsTessellationShaders boolean
---@field supportsRenderTargetArrayIndexFromVertexShader boolean
---@field supportsInstancing boolean
---@field supportsHardwareQuadTopology boolean
---@field supports32bitsIndexBuffer boolean
---@field supportsSparseTextures boolean
---@field supportedRenderTargetCount number
---@field supportsSeparatedRenderTargetsBlend boolean
---@field supportedRandomWriteTargetCount number
---@field supportsMultisampledTextures number
---@field supportsMultisampled2DArrayTextures boolean
---@field supportsMultisampleAutoResolve boolean
---@field supportsTextureWrapMirrorOnce number
---@field usesReversedZBuffer boolean
---@field npotSupport CS.UnityEngine.NPOTSupport
---@field maxTextureSize number
---@field maxTexture3DSize number
---@field maxTextureArraySlices number
---@field maxCubemapSize number
---@field maxAnisotropyLevel number
---@field maxComputeBufferInputsVertex number
---@field maxComputeBufferInputsFragment number
---@field maxComputeBufferInputsGeometry number
---@field maxComputeBufferInputsDomain number
---@field maxComputeBufferInputsHull number
---@field maxComputeBufferInputsCompute number
---@field maxComputeWorkGroupSize number
---@field maxComputeWorkGroupSizeX number
---@field maxComputeWorkGroupSizeY number
---@field maxComputeWorkGroupSizeZ number
---@field computeSubGroupSize number
---@field supportsAsyncCompute boolean
---@field supportsGpuRecorder boolean
---@field supportsGraphicsFence boolean
---@field supportsAsyncGPUReadback boolean
---@field supportsRayTracing boolean
---@field supportsSetConstantBuffer boolean
---@field constantBufferOffsetAlignment number
---@field maxGraphicsBufferSize number
---@field hasMipMaxLevel boolean
---@field supportsMipStreaming boolean
---@field usesLoadStoreActions boolean
---@field hdrDisplaySupportFlags CS.UnityEngine.HDRDisplaySupportFlags
---@field supportsConservativeRaster boolean
---@field supportsMultiview boolean
---@field supportsStoreAndResolveAction boolean
---@field supportsMultisampleResolveDepth boolean
---@overload fun() : CS.UnityEngine.SystemInfo
CS.UnityEngine.SystemInfo = {}
---@param format CS.UnityEngine.RenderTextureFormat
---@return boolean
function CS.UnityEngine.SystemInfo.SupportsRenderTextureFormat(format) end
---@param format CS.UnityEngine.RenderTextureFormat
---@return boolean
function CS.UnityEngine.SystemInfo.SupportsBlendingOnRenderTextureFormat(format) end
---@param format CS.UnityEngine.RenderTextureFormat
---@return boolean
function CS.UnityEngine.SystemInfo.SupportsRandomWriteOnRenderTextureFormat(format) end
---@param format CS.UnityEngine.TextureFormat
---@return boolean
function CS.UnityEngine.SystemInfo.SupportsTextureFormat(format) end
---@param format CS.UnityEngine.Rendering.VertexAttributeFormat
---@param dimension number
---@return boolean
function CS.UnityEngine.SystemInfo.SupportsVertexAttributeFormat(format, dimension) end
---@param format CS.UnityEngine.Experimental.Rendering.GraphicsFormat
---@param usage CS.UnityEngine.Experimental.Rendering.FormatUsage
---@return boolean
function CS.UnityEngine.SystemInfo.IsFormatSupported(format, usage) end
---@param format CS.UnityEngine.Experimental.Rendering.GraphicsFormat
---@param usage CS.UnityEngine.Experimental.Rendering.FormatUsage
---@return CS.UnityEngine.Experimental.Rendering.GraphicsFormat
function CS.UnityEngine.SystemInfo.GetCompatibleFormat(format, usage) end
---@param format CS.UnityEngine.Experimental.Rendering.DefaultFormat
---@return CS.UnityEngine.Experimental.Rendering.GraphicsFormat
function CS.UnityEngine.SystemInfo.GetGraphicsFormat(format) end
---@param desc CS.UnityEngine.RenderTextureDescriptor
---@return number
function CS.UnityEngine.SystemInfo.GetRenderTextureSupportedMSAASampleCount(desc) end

---@class CS.UnityEngine.Time : CS.System.Object
---@field time number
---@field timeAsDouble number
---@field timeSinceLevelLoad number
---@field timeSinceLevelLoadAsDouble number
---@field deltaTime number
---@field fixedTime number
---@field fixedTimeAsDouble number
---@field unscaledTime number
---@field unscaledTimeAsDouble number
---@field fixedUnscaledTime number
---@field fixedUnscaledTimeAsDouble number
---@field unscaledDeltaTime number
---@field fixedUnscaledDeltaTime number
---@field fixedDeltaTime number
---@field maximumDeltaTime number
---@field smoothDeltaTime number
---@field maximumParticleDeltaTime number
---@field timeScale number
---@field frameCount number
---@field renderedFrameCount number
---@field realtimeSinceStartup number
---@field realtimeSinceStartupAsDouble number
---@field captureDeltaTime number
---@field captureFramerate number
---@field inFixedTimeStep boolean
CS.UnityEngine.Time = {}

---@class CS.UnityEngine.RectTransform : CS.UnityEngine.Transform
---@field rect CS.UnityEngine.Rect
---@field anchorMin CS.UnityEngine.Vector2
---@field anchorMax CS.UnityEngine.Vector2
---@field anchoredPosition CS.UnityEngine.Vector2
---@field sizeDelta CS.UnityEngine.Vector2
---@field pivot CS.UnityEngine.Vector2
---@field anchoredPosition3D CS.UnityEngine.Vector3
---@field offsetMin CS.UnityEngine.Vector2
---@field offsetMax CS.UnityEngine.Vector2
---@field drivenByObject CS.UnityEngine.Object
---@overload fun() : CS.UnityEngine.RectTransform
CS.UnityEngine.RectTransform = {}
function CS.UnityEngine.RectTransform:ForceUpdateRectTransforms() end
---@param fourCornersArray CS.UnityEngine.Vector3
function CS.UnityEngine.RectTransform:GetLocalCorners(fourCornersArray) end
---@param fourCornersArray CS.UnityEngine.Vector3
function CS.UnityEngine.RectTransform:GetWorldCorners(fourCornersArray) end
---@param edge CS.UnityEngine.RectTransform.Edge
---@param inset number
---@param size number
function CS.UnityEngine.RectTransform:SetInsetAndSizeFromParentEdge(edge, inset, size) end
---@param axis CS.UnityEngine.RectTransform.Axis
---@param size number
function CS.UnityEngine.RectTransform:SetSizeWithCurrentAnchors(axis, size) end

---@class CS.UnityEngine.SpriteRenderer : CS.UnityEngine.Renderer
CS.UnityEngine.SpriteRenderer = {}

---@class CS.UnityEngine.Sprite : CS.UnityEngine.Object
CS.UnityEngine.Sprite = {}

---@class CS.UnityEngine.SceneManagement.Scene : CS.System.ValueType
---@field handle number
---@field path string
---@field name string
---@field isLoaded boolean
---@field buildIndex number
---@field isDirty boolean
---@field rootCount number
---@field isSubScene boolean
CS.UnityEngine.SceneManagement.Scene = {}
---@return boolean
function CS.UnityEngine.SceneManagement.Scene:IsValid() end
---@overload fun() : CS.UnityEngine.GameObject
---@param rootGameObjects CS.System.Collections.Generic.List1UnityEngine.GameObjectUnityEngine.CoreModuleVersion0.0.0.0CultureneutralPublicKeyTokennull
function CS.UnityEngine.SceneManagement.Scene:GetRootGameObjects(rootGameObjects) end
---@return number
function CS.UnityEngine.SceneManagement.Scene:GetHashCode() end
---@param other CS.System.Object
---@return boolean
function CS.UnityEngine.SceneManagement.Scene:Equals(other) end
---@return CS.UnityEngine.PhysicsScene
function CS.UnityEngine.SceneManagement.Scene:GetPhysicsScene() end
---@return CS.UnityEngine.PhysicsScene2D
function CS.UnityEngine.SceneManagement.Scene:GetPhysicsScene2D() end

---@class CS.UnityEngine.SceneManagement.SceneManager : CS.System.Object
---@field sceneCount number
---@field sceneCountInBuildSettings number
---@overload fun() : CS.UnityEngine.SceneManagement.SceneManager
CS.UnityEngine.SceneManagement.SceneManager = {}
---@return CS.UnityEngine.SceneManagement.Scene
function CS.UnityEngine.SceneManagement.SceneManager.GetActiveScene() end
---@param scene CS.UnityEngine.SceneManagement.Scene
---@return boolean
function CS.UnityEngine.SceneManagement.SceneManager.SetActiveScene(scene) end
---@param scenePath string
---@return CS.UnityEngine.SceneManagement.Scene
function CS.UnityEngine.SceneManagement.SceneManager.GetSceneByPath(scenePath) end
---@param name string
---@return CS.UnityEngine.SceneManagement.Scene
function CS.UnityEngine.SceneManagement.SceneManager.GetSceneByName(name) end
---@param buildIndex number
---@return CS.UnityEngine.SceneManagement.Scene
function CS.UnityEngine.SceneManagement.SceneManager.GetSceneByBuildIndex(buildIndex) end
---@param index number
---@return CS.UnityEngine.SceneManagement.Scene
function CS.UnityEngine.SceneManagement.SceneManager.GetSceneAt(index) end
---@overload fun(sceneName : string, parameters : CS.UnityEngine.SceneManagement.CreateSceneParameters) : CS.UnityEngine.SceneManagement.Scene
---@param sceneName string
---@return CS.UnityEngine.SceneManagement.Scene
function CS.UnityEngine.SceneManagement.SceneManager.CreateScene(sceneName) end
---@param sourceScene CS.UnityEngine.SceneManagement.Scene
---@param destinationScene CS.UnityEngine.SceneManagement.Scene
function CS.UnityEngine.SceneManagement.SceneManager.MergeScenes(sourceScene, destinationScene) end
---@param go CS.UnityEngine.GameObject
---@param scene CS.UnityEngine.SceneManagement.Scene
function CS.UnityEngine.SceneManagement.SceneManager.MoveGameObjectToScene(go, scene) end
---@overload fun(sceneName : string, mode : CS.UnityEngine.SceneManagement.LoadSceneMode)
---@overload fun(sceneName : string)
---@overload fun(sceneName : string, parameters : CS.UnityEngine.SceneManagement.LoadSceneParameters) : CS.UnityEngine.SceneManagement.Scene
---@overload fun(sceneBuildIndex : number, mode : CS.UnityEngine.SceneManagement.LoadSceneMode)
---@overload fun(sceneBuildIndex : number)
---@param sceneBuildIndex number
---@param parameters CS.UnityEngine.SceneManagement.LoadSceneParameters
---@return CS.UnityEngine.SceneManagement.Scene
function CS.UnityEngine.SceneManagement.SceneManager.LoadScene(sceneBuildIndex, parameters) end
---@overload fun(sceneBuildIndex : number, mode : CS.UnityEngine.SceneManagement.LoadSceneMode) : CS.UnityEngine.AsyncOperation
---@overload fun(sceneBuildIndex : number) : CS.UnityEngine.AsyncOperation
---@overload fun(sceneBuildIndex : number, parameters : CS.UnityEngine.SceneManagement.LoadSceneParameters) : CS.UnityEngine.AsyncOperation
---@overload fun(sceneName : string, mode : CS.UnityEngine.SceneManagement.LoadSceneMode) : CS.UnityEngine.AsyncOperation
---@overload fun(sceneName : string) : CS.UnityEngine.AsyncOperation
---@param sceneName string
---@param parameters CS.UnityEngine.SceneManagement.LoadSceneParameters
---@return CS.UnityEngine.AsyncOperation
function CS.UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(sceneName, parameters) end
---@overload fun(sceneBuildIndex : number) : CS.UnityEngine.AsyncOperation
---@overload fun(sceneName : string) : CS.UnityEngine.AsyncOperation
---@overload fun(scene : CS.UnityEngine.SceneManagement.Scene) : CS.UnityEngine.AsyncOperation
---@overload fun(sceneBuildIndex : number, options : CS.UnityEngine.SceneManagement.UnloadSceneOptions) : CS.UnityEngine.AsyncOperation
---@overload fun(sceneName : string, options : CS.UnityEngine.SceneManagement.UnloadSceneOptions) : CS.UnityEngine.AsyncOperation
---@param scene CS.UnityEngine.SceneManagement.Scene
---@param options CS.UnityEngine.SceneManagement.UnloadSceneOptions
---@return CS.UnityEngine.AsyncOperation
function CS.UnityEngine.SceneManagement.SceneManager.UnloadSceneAsync(scene, options) end

---@class CS.UnityEngine.Playables.DirectorWrapMode
---@field Hold CS.UnityEngine.Playables.DirectorWrapMode
---@field Loop CS.UnityEngine.Playables.DirectorWrapMode
---@field None CS.UnityEngine.Playables.DirectorWrapMode
CS.UnityEngine.Playables.DirectorWrapMode = {}

---@class CS.UnityEngine.Playables.PlayState
---@field Paused CS.UnityEngine.Playables.PlayState
---@field Playing CS.UnityEngine.Playables.PlayState
CS.UnityEngine.Playables.PlayState = {}

---@class CS.UnityEngine.Playables.PlayableDirector : CS.UnityEngine.Behaviour
CS.UnityEngine.Playables.PlayableDirector = {}

---@class CS.UnityEngine.TouchPhase
---@field Began CS.UnityEngine.TouchPhase
---@field Moved CS.UnityEngine.TouchPhase
---@field Stationary CS.UnityEngine.TouchPhase
---@field Ended CS.UnityEngine.TouchPhase
---@field Canceled CS.UnityEngine.TouchPhase
CS.UnityEngine.TouchPhase = {}

---@class CS.UnityEngine.Input : CS.System.Object
---@field simulateMouseWithTouches boolean
---@field anyKey boolean
---@field anyKeyDown boolean
---@field inputString string
---@field mousePosition CS.UnityEngine.Vector3
---@field mouseScrollDelta CS.UnityEngine.Vector2
---@field imeCompositionMode CS.UnityEngine.IMECompositionMode
---@field compositionString string
---@field imeIsSelected boolean
---@field compositionCursorPos CS.UnityEngine.Vector2
---@field mousePresent boolean
---@field touchCount number
---@field touchPressureSupported boolean
---@field stylusTouchSupported boolean
---@field touchSupported boolean
---@field multiTouchEnabled boolean
---@field deviceOrientation CS.UnityEngine.DeviceOrientation
---@field acceleration CS.UnityEngine.Vector3
---@field compensateSensors boolean
---@field accelerationEventCount number
---@field backButtonLeavesApp boolean
---@field location CS.UnityEngine.LocationService
---@field compass CS.UnityEngine.Compass
---@field gyro CS.UnityEngine.Gyroscope
---@field touches CS.UnityEngine.Touch
---@field accelerationEvents CS.UnityEngine.AccelerationEvent
---@overload fun() : CS.UnityEngine.Input
CS.UnityEngine.Input = {}
---@param axisName string
---@return number
function CS.UnityEngine.Input.GetAxis(axisName) end
---@param axisName string
---@return number
function CS.UnityEngine.Input.GetAxisRaw(axisName) end
---@param buttonName string
---@return boolean
function CS.UnityEngine.Input.GetButton(buttonName) end
---@param buttonName string
---@return boolean
function CS.UnityEngine.Input.GetButtonDown(buttonName) end
---@param buttonName string
---@return boolean
function CS.UnityEngine.Input.GetButtonUp(buttonName) end
---@param button number
---@return boolean
function CS.UnityEngine.Input.GetMouseButton(button) end
---@param button number
---@return boolean
function CS.UnityEngine.Input.GetMouseButtonDown(button) end
---@param button number
---@return boolean
function CS.UnityEngine.Input.GetMouseButtonUp(button) end
function CS.UnityEngine.Input.ResetInputAxes() end
---@param joystickName string
---@return boolean
function CS.UnityEngine.Input.IsJoystickPreconfigured(joystickName) end
---@return CS.System.String
function CS.UnityEngine.Input.GetJoystickNames() end
---@param index number
---@return CS.UnityEngine.Touch
function CS.UnityEngine.Input.GetTouch(index) end
---@param index number
---@return CS.UnityEngine.AccelerationEvent
function CS.UnityEngine.Input.GetAccelerationEvent(index) end
---@overload fun(key : CS.UnityEngine.KeyCode) : boolean
---@param name string
---@return boolean
function CS.UnityEngine.Input.GetKey(name) end
---@overload fun(key : CS.UnityEngine.KeyCode) : boolean
---@param name string
---@return boolean
function CS.UnityEngine.Input.GetKeyUp(name) end
---@overload fun(key : CS.UnityEngine.KeyCode) : boolean
---@param name string
---@return boolean
function CS.UnityEngine.Input.GetKeyDown(name) end

---@class CS.UnityEngine.CanvasGroup : CS.UnityEngine.Behaviour
CS.UnityEngine.CanvasGroup = {}

---@class CS.UnityEngine.Canvas : CS.UnityEngine.Behaviour
CS.UnityEngine.Canvas = {}

---@class CS.UnityEngine.Video.VideoClip : CS.UnityEngine.Object
CS.UnityEngine.Video.VideoClip = {}

---@class CS.UnityEngine.Video.VideoAspectRatio
---@field NoScaling CS.UnityEngine.Video.VideoAspectRatio
---@field FitVertically CS.UnityEngine.Video.VideoAspectRatio
---@field FitHorizontally CS.UnityEngine.Video.VideoAspectRatio
---@field FitInside CS.UnityEngine.Video.VideoAspectRatio
---@field FitOutside CS.UnityEngine.Video.VideoAspectRatio
---@field Stretch CS.UnityEngine.Video.VideoAspectRatio
CS.UnityEngine.Video.VideoAspectRatio = {}

---@class CS.UnityEngine.Video.VideoSource
---@field VideoClip CS.UnityEngine.Video.VideoSource
---@field Url CS.UnityEngine.Video.VideoSource
CS.UnityEngine.Video.VideoSource = {}

---@class CS.UnityEngine.Video.VideoPlayer : CS.UnityEngine.Behaviour
CS.UnityEngine.Video.VideoPlayer = {}

---@class CS.Md5Util : CS.System.Object
---@overload fun() : CS.Md5Util
CS.Md5Util = {}
---@param filePath string
---@return string
function CS.Md5Util.GetHashCodeOfFile(filePath) end
---@param filePath string
---@return string
function CS.Md5Util.GetHashCodeOfFile_C_Version(filePath) end
---@param filePath string
---@return string
function CS.Md5Util.GetHashCodeOfFile_CS_Version(filePath) end
---@param filePath string
---@return string
function CS.Md5Util.GetHashCodeOfFile_CS_Version2(filePath) end
---@param str string
---@return string
function CS.Md5Util.GetMd5OfString(str) end
---@param data CS.System.Byte
---@return string
function CS.Md5Util.GetMd5OfData(data) end

---@class CS.ZipUtil : CS.System.Object
---@overload fun() : CS.ZipUtil
CS.ZipUtil = {}
---@param sInDir string
---@param sOutFile string
---@param recursivly boolean
function CS.ZipUtil.CompressDirectory(sInDir, sOutFile, recursivly) end
---@param sInFile string
---@param sOutFile string
function CS.ZipUtil.CompressFile(sInFile, sOutFile) end
---@overload fun(fileToUnZip : string, zipedFolder : string, password : string) : boolean
---@param fileToUnZip string
---@param zipedFolder string
---@return boolean
function CS.ZipUtil.UnZip(fileToUnZip, zipedFolder) end
---@param dir string
function CS.ZipUtil.ClearDir(dir) end

---@class CS.LuaHelper : CS.System.Object
---@field luaPrintDelegate CS.LuaHelper.LuaPrintDelegate
---@field mainThread CS.System.Threading.Thread
CS.LuaHelper = {}
function CS.LuaHelper.GC() end
---@overload fun(o : CS.UnityEngine.Object) : boolean
---@param o CS.System.Object
---@return boolean
function CS.LuaHelper.IsNull(o) end
---@param target CS.UnityEngine.GameObject
---@param data CS.UnityEngine.EventSystems.BaseEventData
---@param name string
function CS.LuaHelper.ExecuteEventsExecute(target, data, name) end
---@param folderPath string
---@return boolean
function CS.LuaHelper.IsFolderExists(folderPath) end
---@param folderPath string
function CS.LuaHelper.DeleteFolder(folderPath) end
---@param folderPath string
function CS.LuaHelper.CreateFolder(folderPath) end
---@param fromFolderPath string
---@param destFolderPath string
function CS.LuaHelper.CopyFolder(fromFolderPath, destFolderPath) end
---@param dir string
---@param pattern string
---@return CS.System.String
function CS.LuaHelper.ListFolder(dir, pattern) end
---@param fileName string
---@return boolean
function CS.LuaHelper.IsFileExists(fileName) end
---@param fileName string
function CS.LuaHelper.DeleteFile(fileName) end
---@param fromFileName string
---@param destFileName string
function CS.LuaHelper.CopyFile(fromFileName, destFileName) end
---@param fromFileName string
---@param destFileName string
---@return boolean
function CS.LuaHelper.MoveFile(fromFileName, destFileName) end
---@param dir string
---@param pattern string
---@return CS.System.String
function CS.LuaHelper.ListFile(dir, pattern) end
---@param fileName string
---@return CS.System.Byte
function CS.LuaHelper.ReadFile(fileName) end
---@param fileName string
---@return string
function CS.LuaHelper.ReadFileText(fileName) end
---@param fileName string
---@param data CS.System.Byte
---@return boolean
function CS.LuaHelper.SaveFile(fileName, data) end
---@param fileName string
---@param data string
---@return boolean
function CS.LuaHelper.SaveFileWithText(fileName, data) end
---@param path string
---@return number
function CS.LuaHelper.GetFileSize(path) end
---@param file string
---@param tex CS.UnityEngine.Texture2D
---@param out_size number
---@param quality number
---@return boolean,number
function CS.LuaHelper.SaveImage(file, tex, out_size, quality) end
---@param path string
---@return CS.UnityEngine.Texture2D
function CS.LuaHelper.LoadImage(path) end
---@param url string
---@return string
function CS.LuaHelper.HttpWebRequest(url) end
---@param cb CS.LuaHelper.LuaPrintDelegate
function CS.LuaHelper.SetLuaPrintCb(cb) end
---@param msg string
function CS.LuaHelper.LuaPrint(msg) end

---@class CS.Spine.Unity.BoneFollower : CS.UnityEngine.MonoBehaviour
CS.Spine.Unity.BoneFollower = {}

---@class CS.Spine.Unity.SkeletonAnimation : CS.Spine.Unity.SkeletonRenderer
CS.Spine.Unity.SkeletonAnimation = {}

---@class CS.Spine.Unity.SkeletonGraphic : CS.UnityEngine.UI.MaskableGraphic
CS.Spine.Unity.SkeletonGraphic = {}

---@class CS.iHuman.UnitySz.Plugin.RSAUtil : CS.System.Object
CS.iHuman.UnitySz.Plugin.RSAUtil = {}
---@param content string
---@param keystr string
---@return string
function CS.iHuman.UnitySz.Plugin.RSAUtil.Encrypt(content, keystr) end
---@param keystr string
---@param responseStr string
---@param url string
---@return boolean
function CS.iHuman.UnitySz.Plugin.RSAUtil.VerifyResponseString(keystr, responseStr, url) end

---@class CS.iHuman.UnitySz.Framework.UIConfig : CS.System.Object
---@field handleGetUIConfig CS.System.Func1iHuman.UnitySz.Framework.UIConfigcommon.nativeVersion0.0.0.0CultureneutralPublicKeyTokennull
---@field designWidth number
---@field designHeight number
---@field safeWidth number
---@field safeHeight number
---@field pixelsPerUnit number
---@overload fun() : CS.iHuman.UnitySz.Framework.UIConfig
CS.iHuman.UnitySz.Framework.UIConfig = {}
---@return CS.iHuman.UnitySz.Framework.UIConfig
function CS.iHuman.UnitySz.Framework.UIConfig.GetUIConfig() end

---@class CS.iHuman.UnitySz.Framework.LogHelper : CS.UnityEngine.MonoBehaviour
---@field rootDir string
---@field luaLogFile string
---@field prevLuaLogFile string
---@field luaErrorFile string
---@field prevLuaErrorFile string
---@field luaErrorFileHandler CS.System.IO.StreamWriter
---@field luaLogFileWriteHandler CS.System.IO.StreamWriter
---@field luaLogFileReadHandler CS.System.IO.StreamReader
---@field luaLogFileStream CS.System.IO.FileStream
---@field luaLogFileReadStream CS.System.IO.FileStream
---@field logCallbacks CS.System.Collections.Generic.List1UnityEngine.Application.LogCallbackUnityEngine.CoreModuleVersion0.0.0.0CultureneutralPublicKeyTokennull
---@field isEnabled boolean
CS.iHuman.UnitySz.Framework.LogHelper = {}
function CS.iHuman.UnitySz.Framework.LogHelper.EnableLuaLogFile() end
function CS.iHuman.UnitySz.Framework.LogHelper.ClearWriteLuaError() end
---@param error string
function CS.iHuman.UnitySz.Framework.LogHelper.writeLuaError(error) end
function CS.iHuman.UnitySz.Framework.LogHelper.FlushLuaLogFile() end
function CS.iHuman.UnitySz.Framework.LogHelper.CloseLuaLogFile() end
function CS.iHuman.UnitySz.Framework.LogHelper.CloseLuaErrorFile() end
function CS.iHuman.UnitySz.Framework.LogHelper.OpenLuaLogFile() end
---@param isPre boolean
---@return string
function CS.iHuman.UnitySz.Framework.LogHelper.GetAllLogs(isPre) end
function CS.iHuman.UnitySz.Framework.LogHelper.SavePrevLogs() end
function CS.iHuman.UnitySz.Framework.LogHelper:OnApplicationQuit() end
function CS.iHuman.UnitySz.Framework.LogHelper:Wake() end

---@class CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger : CS.UnityEngine.MonoBehaviour
---@field btnWidth number
---@field btnHeight number
---@field fontSize number
---@field instance CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger
---@field windowList CS.System.Collections.Generic.List1iHuman.UnitySz.Framework.runtimehelper.RuntimeDebuggerWindowcommon.nativeVersion0.0.0.0CultureneutralPublicKeyTokennull
---@field btnList CS.System.Collections.Generic.List1iHuman.UnitySz.Framework.runtimehelper.RuntimeDebuggerBtncommon.nativeVersion0.0.0.0CultureneutralPublicKeyTokennull
---@field currentWindow CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebuggerWindow
CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger = {}
function CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger.InitLogWindow() end
---@return number
function CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger.GetBtnHeight() end
---@return CS.UnityEngine.GUIStyle
function CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger.GetToolBarStyle() end
function CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger.Clear() end
function CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger.Show() end
function CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger.Hide() end
---@param name string
function CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger.ShowWindow(name) end
function CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger.HideWindow() end
function CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger:Wake() end
function CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger:InitStyle() end
---@overload fun(win : CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebuggerWindow)
---@param name string
---@param drawFunc CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebuggerWindow.DrawWindowFunc
---@param autoAddScroll boolean
---@return CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebuggerWindow
function CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger:AddWindow(name, drawFunc, autoAddScroll) end
---@param name string
function CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger:RmWindow(name) end
---@param name string
---@param drawFunc CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebuggerWindow.DrawWindowFunc
---@param autoAddScroll boolean
---@return CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebuggerWindow
function CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger:CreateWindow(name, drawFunc, autoAddScroll) end
---@param win CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebuggerWindow
function CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger:SetCurrentWindow(win) end
---@param name string
function CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger:SetCurrentWindowByName(name) end
---@param name string
---@return boolean
function CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger:HasWindow(name) end
---@param name string
---@return CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebuggerWindow
function CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger:GetWindow(name) end
---@param name string
---@param _clickFunc CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebuggerBtn.ClickFunc
---@return CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebuggerBtn
function CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger:AddBtn(name, _clickFunc) end
---@param name string
function CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger:RmBtn(name) end
---@param isFull boolean
---@param transparency boolean
function CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger:DrawFPS(isFull, transparency) end
function CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger:DrawRun() end
---@param enabled boolean
function CS.iHuman.UnitySz.Framework.runtimehelper.RuntimeDebugger:enableUGUI(enabled) end

---@class CS.wtween.BaseAction : CS.System.Object
CS.wtween.BaseAction = {}

---@class CS.UnityEngine.UI.AnimationTriggers : CS.System.Object
CS.UnityEngine.UI.AnimationTriggers = {}

---@class CS.UnityEngine.UI.Button : CS.UnityEngine.UI.Selectable
CS.UnityEngine.UI.Button = {}

---@class CS.UnityEngine.UI.CanvasUpdate
CS.UnityEngine.UI.CanvasUpdate = {}

---@class CS.UnityEngine.UI.ICanvasElement
CS.UnityEngine.UI.ICanvasElement = {}

---@class CS.UnityEngine.UI.CanvasUpdateRegistry : CS.System.Object
CS.UnityEngine.UI.CanvasUpdateRegistry = {}

---@class CS.UnityEngine.UI.ColorBlock : CS.System.ValueType
CS.UnityEngine.UI.ColorBlock = {}

---@class CS.UnityEngine.UI.ClipperRegistry : CS.System.Object
CS.UnityEngine.UI.ClipperRegistry = {}

---@class CS.UnityEngine.UI.Clipping : CS.System.Object
CS.UnityEngine.UI.Clipping = {}

---@class CS.UnityEngine.UI.IClipper
CS.UnityEngine.UI.IClipper = {}

---@class CS.UnityEngine.UI.IClippable
CS.UnityEngine.UI.IClippable = {}

---@class CS.UnityEngine.UI.RectangularVertexClipper : CS.System.Object
CS.UnityEngine.UI.RectangularVertexClipper = {}

---@class CS.UnityEngine.UI.DefaultControls : CS.System.Object
CS.UnityEngine.UI.DefaultControls = {}

---@class CS.UnityEngine.UI.Dropdown : CS.UnityEngine.UI.Selectable
CS.UnityEngine.UI.Dropdown = {}

---@class CS.UnityEngine.UI.FontData : CS.System.Object
CS.UnityEngine.UI.FontData = {}

---@class CS.UnityEngine.UI.FontUpdateTracker : CS.System.Object
CS.UnityEngine.UI.FontUpdateTracker = {}

---@class CS.UnityEngine.UI.Graphic : CS.UnityEngine.EventSystems.UIBehaviour
CS.UnityEngine.UI.Graphic = {}

---@class CS.UnityEngine.UI.GraphicRaycaster : CS.UnityEngine.EventSystems.BaseRaycaster
CS.UnityEngine.UI.GraphicRaycaster = {}

---@class CS.UnityEngine.UI.GraphicRebuildTracker : CS.System.Object
CS.UnityEngine.UI.GraphicRebuildTracker = {}

---@class CS.UnityEngine.UI.GraphicRegistry : CS.System.Object
CS.UnityEngine.UI.GraphicRegistry = {}

---@class CS.UnityEngine.UI.IGraphicEnabledDisabled
CS.UnityEngine.UI.IGraphicEnabledDisabled = {}

---@class CS.UnityEngine.UI.Image : CS.UnityEngine.UI.MaskableGraphic
CS.UnityEngine.UI.Image = {}

---@class CS.UnityEngine.UI.IMask
CS.UnityEngine.UI.IMask = {}

---@class CS.UnityEngine.UI.IMaskable
CS.UnityEngine.UI.IMaskable = {}

---@class CS.UnityEngine.UI.InputField : CS.UnityEngine.UI.Selectable
CS.UnityEngine.UI.InputField = {}

---@class CS.UnityEngine.UI.AspectRatioFitter : CS.UnityEngine.EventSystems.UIBehaviour
CS.UnityEngine.UI.AspectRatioFitter = {}

---@class CS.UnityEngine.UI.CanvasScaler : CS.UnityEngine.EventSystems.UIBehaviour
CS.UnityEngine.UI.CanvasScaler = {}

---@class CS.UnityEngine.UI.ContentSizeFitter : CS.UnityEngine.EventSystems.UIBehaviour
CS.UnityEngine.UI.ContentSizeFitter = {}

---@class CS.UnityEngine.UI.GridLayoutGroup : CS.UnityEngine.UI.LayoutGroup
CS.UnityEngine.UI.GridLayoutGroup = {}

---@class CS.UnityEngine.UI.HorizontalLayoutGroup : CS.UnityEngine.UI.HorizontalOrVerticalLayoutGroup
CS.UnityEngine.UI.HorizontalLayoutGroup = {}

---@class CS.UnityEngine.UI.HorizontalOrVerticalLayoutGroup : CS.UnityEngine.UI.LayoutGroup
CS.UnityEngine.UI.HorizontalOrVerticalLayoutGroup = {}

---@class CS.UnityEngine.UI.ILayoutElement
CS.UnityEngine.UI.ILayoutElement = {}

---@class CS.UnityEngine.UI.ILayoutController
CS.UnityEngine.UI.ILayoutController = {}

---@class CS.UnityEngine.UI.ILayoutGroup
CS.UnityEngine.UI.ILayoutGroup = {}

---@class CS.UnityEngine.UI.ILayoutSelfController
CS.UnityEngine.UI.ILayoutSelfController = {}

---@class CS.UnityEngine.UI.ILayoutIgnorer
CS.UnityEngine.UI.ILayoutIgnorer = {}

---@class CS.UnityEngine.UI.LayoutElement : CS.UnityEngine.EventSystems.UIBehaviour
CS.UnityEngine.UI.LayoutElement = {}

---@class CS.UnityEngine.UI.LayoutGroup : CS.UnityEngine.EventSystems.UIBehaviour
CS.UnityEngine.UI.LayoutGroup = {}

---@class CS.UnityEngine.UI.LayoutRebuilder : CS.System.Object
CS.UnityEngine.UI.LayoutRebuilder = {}

---@class CS.UnityEngine.UI.LayoutUtility : CS.System.Object
CS.UnityEngine.UI.LayoutUtility = {}

---@class CS.UnityEngine.UI.VerticalLayoutGroup : CS.UnityEngine.UI.HorizontalOrVerticalLayoutGroup
CS.UnityEngine.UI.VerticalLayoutGroup = {}

---@class CS.UnityEngine.UI.Mask : CS.UnityEngine.EventSystems.UIBehaviour
CS.UnityEngine.UI.Mask = {}

---@class CS.UnityEngine.UI.MaskableGraphic : CS.UnityEngine.UI.Graphic
CS.UnityEngine.UI.MaskableGraphic = {}

---@class CS.UnityEngine.UI.MaskUtilities : CS.System.Object
CS.UnityEngine.UI.MaskUtilities = {}

---@class CS.UnityEngine.UI.IMaterialModifier
CS.UnityEngine.UI.IMaterialModifier = {}

---@class CS.UnityEngine.UI.Misc : CS.System.Object
CS.UnityEngine.UI.Misc = {}

---@class CS.UnityEngine.UI.MultipleDisplayUtilities : CS.System.Object
CS.UnityEngine.UI.MultipleDisplayUtilities = {}

---@class CS.UnityEngine.UI.Navigation : CS.System.ValueType
CS.UnityEngine.UI.Navigation = {}

---@class CS.UnityEngine.UI.RawImage : CS.UnityEngine.UI.MaskableGraphic
CS.UnityEngine.UI.RawImage = {}

---@class CS.UnityEngine.UI.RectMask2D : CS.UnityEngine.EventSystems.UIBehaviour
CS.UnityEngine.UI.RectMask2D = {}

---@class CS.UnityEngine.UI.Scrollbar : CS.UnityEngine.UI.Selectable
CS.UnityEngine.UI.Scrollbar = {}

---@class CS.UnityEngine.UI.ScrollRect : CS.UnityEngine.EventSystems.UIBehaviour
CS.UnityEngine.UI.ScrollRect = {}

---@class CS.UnityEngine.UI.Selectable : CS.UnityEngine.EventSystems.UIBehaviour
CS.UnityEngine.UI.Selectable = {}

---@class CS.UnityEngine.UI.SetPropertyUtility : CS.System.Object
CS.UnityEngine.UI.SetPropertyUtility = {}

---@class CS.UnityEngine.UI.Slider : CS.UnityEngine.UI.Selectable
CS.UnityEngine.UI.Slider = {}

---@class CS.UnityEngine.UI.SpriteState : CS.System.ValueType
CS.UnityEngine.UI.SpriteState = {}

---@class CS.UnityEngine.UI.StencilMaterial : CS.System.Object
CS.UnityEngine.UI.StencilMaterial = {}

---@class CS.UnityEngine.UI.Text : CS.UnityEngine.UI.MaskableGraphic
CS.UnityEngine.UI.Text = {}

---@class CS.UnityEngine.UI.Toggle : CS.UnityEngine.UI.Selectable
CS.UnityEngine.UI.Toggle = {}

---@class CS.UnityEngine.UI.ToggleGroup : CS.UnityEngine.EventSystems.UIBehaviour
CS.UnityEngine.UI.ToggleGroup = {}

---@class CS.UnityEngine.UI.ReflectionMethodsCache : CS.System.Object
CS.UnityEngine.UI.ReflectionMethodsCache = {}

---@class CS.UnityEngine.UI.VertexHelper : CS.System.Object
CS.UnityEngine.UI.VertexHelper = {}

---@class CS.UnityEngine.UI.BaseVertexEffect : CS.System.Object
CS.UnityEngine.UI.BaseVertexEffect = {}

---@class CS.UnityEngine.UI.BaseMeshEffect : CS.UnityEngine.EventSystems.UIBehaviour
CS.UnityEngine.UI.BaseMeshEffect = {}

---@class CS.UnityEngine.UI.IVertexModifier
CS.UnityEngine.UI.IVertexModifier = {}

---@class CS.UnityEngine.UI.IMeshModifier
CS.UnityEngine.UI.IMeshModifier = {}

---@class CS.UnityEngine.UI.Outline : CS.UnityEngine.UI.Shadow
CS.UnityEngine.UI.Outline = {}

---@class CS.UnityEngine.UI.PositionAsUV1 : CS.UnityEngine.UI.BaseMeshEffect
CS.UnityEngine.UI.PositionAsUV1 = {}

---@class CS.UnityEngine.UI.Shadow : CS.UnityEngine.UI.BaseMeshEffect
CS.UnityEngine.UI.Shadow = {}

---@class CS.UnityEngine.EventSystems.EventSystem : CS.UnityEngine.EventSystems.UIBehaviour
---@field current CS.UnityEngine.EventSystems.EventSystem
---@field sendNavigationEvents boolean
---@field pixelDragThreshold number
---@field currentInputModule CS.UnityEngine.EventSystems.BaseInputModule
---@field firstSelectedGameObject CS.UnityEngine.GameObject
---@field currentSelectedGameObject CS.UnityEngine.GameObject
---@field isFocused boolean
---@field alreadySelecting boolean
CS.UnityEngine.EventSystems.EventSystem = {}

---@class CS.UnityEngine.EventSystems.EventTrigger : CS.UnityEngine.MonoBehaviour
---@field triggers CS.System.Collections.Generic.List1UnityEngine.EventSystems.EventTrigger.EntryUnityEngine.UIVersion1.0.0.0CultureneutralPublicKeyTokennull
CS.UnityEngine.EventSystems.EventTrigger = {}
---@param eventData CS.UnityEngine.EventSystems.PointerEventData
function CS.UnityEngine.EventSystems.EventTrigger:OnPointerEnter(eventData) end
---@param eventData CS.UnityEngine.EventSystems.PointerEventData
function CS.UnityEngine.EventSystems.EventTrigger:OnPointerExit(eventData) end
---@param eventData CS.UnityEngine.EventSystems.PointerEventData
function CS.UnityEngine.EventSystems.EventTrigger:OnDrag(eventData) end
---@param eventData CS.UnityEngine.EventSystems.PointerEventData
function CS.UnityEngine.EventSystems.EventTrigger:OnDrop(eventData) end
---@param eventData CS.UnityEngine.EventSystems.PointerEventData
function CS.UnityEngine.EventSystems.EventTrigger:OnPointerDown(eventData) end
---@param eventData CS.UnityEngine.EventSystems.PointerEventData
function CS.UnityEngine.EventSystems.EventTrigger:OnPointerUp(eventData) end
---@param eventData CS.UnityEngine.EventSystems.PointerEventData
function CS.UnityEngine.EventSystems.EventTrigger:OnPointerClick(eventData) end
---@param eventData CS.UnityEngine.EventSystems.BaseEventData
function CS.UnityEngine.EventSystems.EventTrigger:OnSelect(eventData) end
---@param eventData CS.UnityEngine.EventSystems.BaseEventData
function CS.UnityEngine.EventSystems.EventTrigger:OnDeselect(eventData) end
---@param eventData CS.UnityEngine.EventSystems.PointerEventData
function CS.UnityEngine.EventSystems.EventTrigger:OnScroll(eventData) end
---@param eventData CS.UnityEngine.EventSystems.AxisEventData
function CS.UnityEngine.EventSystems.EventTrigger:OnMove(eventData) end
---@param eventData CS.UnityEngine.EventSystems.BaseEventData
function CS.UnityEngine.EventSystems.EventTrigger:OnUpdateSelected(eventData) end
---@param eventData CS.UnityEngine.EventSystems.PointerEventData
function CS.UnityEngine.EventSystems.EventTrigger:OnInitializePotentialDrag(eventData) end
---@param eventData CS.UnityEngine.EventSystems.PointerEventData
function CS.UnityEngine.EventSystems.EventTrigger:OnBeginDrag(eventData) end
---@param eventData CS.UnityEngine.EventSystems.PointerEventData
function CS.UnityEngine.EventSystems.EventTrigger:OnEndDrag(eventData) end
---@param eventData CS.UnityEngine.EventSystems.BaseEventData
function CS.UnityEngine.EventSystems.EventTrigger:OnSubmit(eventData) end
---@param eventData CS.UnityEngine.EventSystems.BaseEventData
function CS.UnityEngine.EventSystems.EventTrigger:OnCancel(eventData) end

---@class CS.UnityEngine.EventSystems.EventTriggerType
---@field PointerEnter CS.UnityEngine.EventSystems.EventTriggerType
---@field PointerExit CS.UnityEngine.EventSystems.EventTriggerType
---@field PointerDown CS.UnityEngine.EventSystems.EventTriggerType
---@field PointerUp CS.UnityEngine.EventSystems.EventTriggerType
---@field PointerClick CS.UnityEngine.EventSystems.EventTriggerType
---@field Drag CS.UnityEngine.EventSystems.EventTriggerType
---@field Drop CS.UnityEngine.EventSystems.EventTriggerType
---@field Scroll CS.UnityEngine.EventSystems.EventTriggerType
---@field UpdateSelected CS.UnityEngine.EventSystems.EventTriggerType
---@field Select CS.UnityEngine.EventSystems.EventTriggerType
---@field Deselect CS.UnityEngine.EventSystems.EventTriggerType
---@field Move CS.UnityEngine.EventSystems.EventTriggerType
---@field InitializePotentialDrag CS.UnityEngine.EventSystems.EventTriggerType
---@field BeginDrag CS.UnityEngine.EventSystems.EventTriggerType
---@field EndDrag CS.UnityEngine.EventSystems.EventTriggerType
---@field Submit CS.UnityEngine.EventSystems.EventTriggerType
---@field Cancel CS.UnityEngine.EventSystems.EventTriggerType
CS.UnityEngine.EventSystems.EventTriggerType = {}

