import abc
import datetime
import typing

import System
import System.Buffers
import System.Collections
import System.Collections.Generic
import System.Collections.ObjectModel
import System.Configuration.Assemblies
import System.Diagnostics
import System.Globalization
import System.Reflection
import System.Runtime.CompilerServices
import System.Runtime.InteropServices
import System.Runtime.Remoting
import System.Runtime.Serialization
import System.Security
import System.Security.Principal
import System.Text
import System.Threading
import System.Threading.Tasks

System_Buffers_SpanAction = typing.Any
System_UnhandledExceptionEventHandler = typing.Any
System_EventHandler = typing.Any
System_TimeZoneInfo = typing.Any
System_TimeZoneInfo_TransitionTime = typing.Any
System_TimeZoneInfo_AdjustmentRule = typing.Any
System_Lazy = typing.Any
System_Guid = typing.Any
System_Reflection_MemberFilter = typing.Any
System_Reflection_TypeFilter = typing.Any
Char8 = typing.Any
Utf8String = typing.Any
System_AssemblyLoadEventHandler = typing.Any
System_ResolveEventHandler = typing.Any
System_UIntPtr = typing.Any
System_Version = typing.Any
System_DateTimeOffset = typing.Any
System_Half = typing.Any
System_Converter = typing.Any
System_Predicate = typing.Any
System_Comparison = typing.Any
System_Memory = typing.Any
System_IntPtr = typing.Any
System_ReadOnlyMemory = typing.Any
System_Index = typing.Any
System_Range = typing.Any
System_ValueTuple = typing.Any

System_String_Create_TState = typing.TypeVar("System_String_Create_TState")
System_String_Concat_T = typing.TypeVar("System_String_Concat_T")
System_String_Join_T = typing.TypeVar("System_String_Join_T")
System_TupleExtensions_Deconstruct_T1 = typing.TypeVar("System_TupleExtensions_Deconstruct_T1")
System_TupleExtensions_Deconstruct_T2 = typing.TypeVar("System_TupleExtensions_Deconstruct_T2")
System_TupleExtensions_Deconstruct_T3 = typing.TypeVar("System_TupleExtensions_Deconstruct_T3")
System_TupleExtensions_Deconstruct_T4 = typing.TypeVar("System_TupleExtensions_Deconstruct_T4")
System_TupleExtensions_Deconstruct_T5 = typing.TypeVar("System_TupleExtensions_Deconstruct_T5")
System_TupleExtensions_Deconstruct_T6 = typing.TypeVar("System_TupleExtensions_Deconstruct_T6")
System_TupleExtensions_Deconstruct_T7 = typing.TypeVar("System_TupleExtensions_Deconstruct_T7")
System_TupleExtensions_Deconstruct_T8 = typing.TypeVar("System_TupleExtensions_Deconstruct_T8")
System_TupleExtensions_Deconstruct_T9 = typing.TypeVar("System_TupleExtensions_Deconstruct_T9")
System_TupleExtensions_Deconstruct_T10 = typing.TypeVar("System_TupleExtensions_Deconstruct_T10")
System_TupleExtensions_Deconstruct_T11 = typing.TypeVar("System_TupleExtensions_Deconstruct_T11")
System_TupleExtensions_Deconstruct_T12 = typing.TypeVar("System_TupleExtensions_Deconstruct_T12")
System_TupleExtensions_Deconstruct_T13 = typing.TypeVar("System_TupleExtensions_Deconstruct_T13")
System_TupleExtensions_Deconstruct_T14 = typing.TypeVar("System_TupleExtensions_Deconstruct_T14")
System_TupleExtensions_Deconstruct_T15 = typing.TypeVar("System_TupleExtensions_Deconstruct_T15")
System_TupleExtensions_Deconstruct_T16 = typing.TypeVar("System_TupleExtensions_Deconstruct_T16")
System_TupleExtensions_Deconstruct_T17 = typing.TypeVar("System_TupleExtensions_Deconstruct_T17")
System_TupleExtensions_Deconstruct_T18 = typing.TypeVar("System_TupleExtensions_Deconstruct_T18")
System_TupleExtensions_Deconstruct_T19 = typing.TypeVar("System_TupleExtensions_Deconstruct_T19")
System_TupleExtensions_Deconstruct_T20 = typing.TypeVar("System_TupleExtensions_Deconstruct_T20")
System_TupleExtensions_Deconstruct_T21 = typing.TypeVar("System_TupleExtensions_Deconstruct_T21")
System_TupleExtensions_ToValueTuple_T1 = typing.TypeVar("System_TupleExtensions_ToValueTuple_T1")
System_TupleExtensions_ToValueTuple_T2 = typing.TypeVar("System_TupleExtensions_ToValueTuple_T2")
System_TupleExtensions_ToValueTuple_T3 = typing.TypeVar("System_TupleExtensions_ToValueTuple_T3")
System_TupleExtensions_ToValueTuple_T4 = typing.TypeVar("System_TupleExtensions_ToValueTuple_T4")
System_TupleExtensions_ToValueTuple_T5 = typing.TypeVar("System_TupleExtensions_ToValueTuple_T5")
System_TupleExtensions_ToValueTuple_T6 = typing.TypeVar("System_TupleExtensions_ToValueTuple_T6")
System_TupleExtensions_ToValueTuple_T7 = typing.TypeVar("System_TupleExtensions_ToValueTuple_T7")
System_TupleExtensions_ToTuple_T1 = typing.TypeVar("System_TupleExtensions_ToTuple_T1")
System_TupleExtensions_ToTuple_T2 = typing.TypeVar("System_TupleExtensions_ToTuple_T2")
System_TupleExtensions_ToTuple_T3 = typing.TypeVar("System_TupleExtensions_ToTuple_T3")
System_TupleExtensions_ToTuple_T4 = typing.TypeVar("System_TupleExtensions_ToTuple_T4")
System_TupleExtensions_ToTuple_T5 = typing.TypeVar("System_TupleExtensions_ToTuple_T5")
System_TupleExtensions_ToTuple_T6 = typing.TypeVar("System_TupleExtensions_ToTuple_T6")
System_TupleExtensions_ToTuple_T7 = typing.TypeVar("System_TupleExtensions_ToTuple_T7")
System_TupleExtensions_ToValueTuple_T8 = typing.TypeVar("System_TupleExtensions_ToValueTuple_T8")
System_TupleExtensions_ToValueTuple_T9 = typing.TypeVar("System_TupleExtensions_ToValueTuple_T9")
System_TupleExtensions_ToValueTuple_T10 = typing.TypeVar("System_TupleExtensions_ToValueTuple_T10")
System_TupleExtensions_ToValueTuple_T11 = typing.TypeVar("System_TupleExtensions_ToValueTuple_T11")
System_TupleExtensions_ToValueTuple_T12 = typing.TypeVar("System_TupleExtensions_ToValueTuple_T12")
System_TupleExtensions_ToValueTuple_T13 = typing.TypeVar("System_TupleExtensions_ToValueTuple_T13")
System_TupleExtensions_ToValueTuple_T14 = typing.TypeVar("System_TupleExtensions_ToValueTuple_T14")
System_TupleExtensions_ToTuple_T8 = typing.TypeVar("System_TupleExtensions_ToTuple_T8")
System_TupleExtensions_ToTuple_T9 = typing.TypeVar("System_TupleExtensions_ToTuple_T9")
System_TupleExtensions_ToTuple_T10 = typing.TypeVar("System_TupleExtensions_ToTuple_T10")
System_TupleExtensions_ToTuple_T11 = typing.TypeVar("System_TupleExtensions_ToTuple_T11")
System_TupleExtensions_ToTuple_T12 = typing.TypeVar("System_TupleExtensions_ToTuple_T12")
System_TupleExtensions_ToTuple_T13 = typing.TypeVar("System_TupleExtensions_ToTuple_T13")
System_TupleExtensions_ToTuple_T14 = typing.TypeVar("System_TupleExtensions_ToTuple_T14")
System_TupleExtensions_ToValueTuple_T15 = typing.TypeVar("System_TupleExtensions_ToValueTuple_T15")
System_TupleExtensions_ToValueTuple_T16 = typing.TypeVar("System_TupleExtensions_ToValueTuple_T16")
System_TupleExtensions_ToValueTuple_T17 = typing.TypeVar("System_TupleExtensions_ToValueTuple_T17")
System_TupleExtensions_ToValueTuple_T18 = typing.TypeVar("System_TupleExtensions_ToValueTuple_T18")
System_TupleExtensions_ToValueTuple_T19 = typing.TypeVar("System_TupleExtensions_ToValueTuple_T19")
System_TupleExtensions_ToValueTuple_T20 = typing.TypeVar("System_TupleExtensions_ToValueTuple_T20")
System_TupleExtensions_ToValueTuple_T21 = typing.TypeVar("System_TupleExtensions_ToValueTuple_T21")
System_TupleExtensions_ToTuple_T15 = typing.TypeVar("System_TupleExtensions_ToTuple_T15")
System_TupleExtensions_ToTuple_T16 = typing.TypeVar("System_TupleExtensions_ToTuple_T16")
System_TupleExtensions_ToTuple_T17 = typing.TypeVar("System_TupleExtensions_ToTuple_T17")
System_TupleExtensions_ToTuple_T18 = typing.TypeVar("System_TupleExtensions_ToTuple_T18")
System_TupleExtensions_ToTuple_T19 = typing.TypeVar("System_TupleExtensions_ToTuple_T19")
System_TupleExtensions_ToTuple_T20 = typing.TypeVar("System_TupleExtensions_ToTuple_T20")
System_TupleExtensions_ToTuple_T21 = typing.TypeVar("System_TupleExtensions_ToTuple_T21")
System_Enum_GetName_TEnum = typing.TypeVar("System_Enum_GetName_TEnum")
System_Enum_GetValues_TEnum = typing.TypeVar("System_Enum_GetValues_TEnum")
System_Enum_IsDefined_TEnum = typing.TypeVar("System_Enum_IsDefined_TEnum")
System_Enum_Parse_TEnum = typing.TypeVar("System_Enum_Parse_TEnum")
System_Enum_TryParse_TEnum = typing.TypeVar("System_Enum_TryParse_TEnum")
System_IComparable_T = typing.TypeVar("System_IComparable_T")
System_Lazy_T = typing.TypeVar("System_Lazy_T")
System_Lazy_TMetadata = typing.TypeVar("System_Lazy_TMetadata")
System_Nullable_T = typing.TypeVar("System_Nullable_T")
System_Nullable_Compare_T = typing.TypeVar("System_Nullable_Compare_T")
System_Nullable_Equals_T = typing.TypeVar("System_Nullable_Equals_T")
System_HashCode_Combine_T1 = typing.TypeVar("System_HashCode_Combine_T1")
System_HashCode_Combine_T2 = typing.TypeVar("System_HashCode_Combine_T2")
System_HashCode_Combine_T3 = typing.TypeVar("System_HashCode_Combine_T3")
System_HashCode_Combine_T4 = typing.TypeVar("System_HashCode_Combine_T4")
System_HashCode_Combine_T5 = typing.TypeVar("System_HashCode_Combine_T5")
System_HashCode_Combine_T6 = typing.TypeVar("System_HashCode_Combine_T6")
System_HashCode_Combine_T7 = typing.TypeVar("System_HashCode_Combine_T7")
System_HashCode_Combine_T8 = typing.TypeVar("System_HashCode_Combine_T8")
System_HashCode_Add_T = typing.TypeVar("System_HashCode_Add_T")
System_Activator_CreateInstance_T = typing.TypeVar("System_Activator_CreateInstance_T")
System_Array_BinarySearch_T = typing.TypeVar("System_Array_BinarySearch_T")
System_Array_Fill_T = typing.TypeVar("System_Array_Fill_T")
System_Array_Find_T = typing.TypeVar("System_Array_Find_T")
System_Array_FindLast_T = typing.TypeVar("System_Array_FindLast_T")
System_Array_IndexOf_T = typing.TypeVar("System_Array_IndexOf_T")
System_Array_LastIndexOf_T = typing.TypeVar("System_Array_LastIndexOf_T")
System_Array_AsReadOnly_T = typing.TypeVar("System_Array_AsReadOnly_T")
System_Array_Resize_T = typing.TypeVar("System_Array_Resize_T")
System_Array_ConvertAll_TOutput = typing.TypeVar("System_Array_ConvertAll_TOutput")
System_Array_ConvertAll_TInput = typing.TypeVar("System_Array_ConvertAll_TInput")
System_Array_Empty_T = typing.TypeVar("System_Array_Empty_T")
System_Array_Exists_T = typing.TypeVar("System_Array_Exists_T")
System_Array_FindAll_T = typing.TypeVar("System_Array_FindAll_T")
System_Array_FindIndex_T = typing.TypeVar("System_Array_FindIndex_T")
System_Array_FindLastIndex_T = typing.TypeVar("System_Array_FindLastIndex_T")
System_Array_ForEach_T = typing.TypeVar("System_Array_ForEach_T")
System_Array_Reverse_T = typing.TypeVar("System_Array_Reverse_T")
System_Array_Sort_T = typing.TypeVar("System_Array_Sort_T")
System_Array_Sort_TKey = typing.TypeVar("System_Array_Sort_TKey")
System_Array_Sort_TValue = typing.TypeVar("System_Array_Sort_TValue")
System_Array_TrueForAll_T = typing.TypeVar("System_Array_TrueForAll_T")
System_ArraySegment_T = typing.TypeVar("System_ArraySegment_T")
System_WeakReference_T = typing.TypeVar("System_WeakReference_T")
System_Progress_T = typing.TypeVar("System_Progress_T")
System_Memory_T = typing.TypeVar("System_Memory_T")
System_IEquatable_T = typing.TypeVar("System_IEquatable_T")
System_IProgress_T = typing.TypeVar("System_IProgress_T")
System_IObserver_T = typing.TypeVar("System_IObserver_T")
System_MemoryExtensions_Contains_T = typing.TypeVar("System_MemoryExtensions_Contains_T")
System_MemoryExtensions_IndexOf_T = typing.TypeVar("System_MemoryExtensions_IndexOf_T")
System_MemoryExtensions_LastIndexOf_T = typing.TypeVar("System_MemoryExtensions_LastIndexOf_T")
System_MemoryExtensions_IndexOfAny_T = typing.TypeVar("System_MemoryExtensions_IndexOfAny_T")
System_MemoryExtensions_LastIndexOfAny_T = typing.TypeVar("System_MemoryExtensions_LastIndexOfAny_T")
System_MemoryExtensions_BinarySearch_TComparable = typing.TypeVar("System_MemoryExtensions_BinarySearch_TComparable")
System_MemoryExtensions_BinarySearch_T = typing.TypeVar("System_MemoryExtensions_BinarySearch_T")
System_MemoryExtensions_BinarySearch_TComparer = typing.TypeVar("System_MemoryExtensions_BinarySearch_TComparer")
System_MemoryExtensions_Sort_TComparer = typing.TypeVar("System_MemoryExtensions_Sort_TComparer")
System_MemoryExtensions_Trim_T = typing.TypeVar("System_MemoryExtensions_Trim_T")
System_MemoryExtensions_TrimStart_T = typing.TypeVar("System_MemoryExtensions_TrimStart_T")
System_MemoryExtensions_TrimEnd_T = typing.TypeVar("System_MemoryExtensions_TrimEnd_T")
System_MemoryExtensions_AsSpan_T = typing.TypeVar("System_MemoryExtensions_AsSpan_T")
System_MemoryExtensions_SequenceEqual_T = typing.TypeVar("System_MemoryExtensions_SequenceEqual_T")
System_MemoryExtensions_SequenceCompareTo_T = typing.TypeVar("System_MemoryExtensions_SequenceCompareTo_T")
System_MemoryExtensions_StartsWith_T = typing.TypeVar("System_MemoryExtensions_StartsWith_T")
System_MemoryExtensions_EndsWith_T = typing.TypeVar("System_MemoryExtensions_EndsWith_T")
System_MemoryExtensions_Reverse_T = typing.TypeVar("System_MemoryExtensions_Reverse_T")
System_MemoryExtensions_AsMemory_T = typing.TypeVar("System_MemoryExtensions_AsMemory_T")
System_MemoryExtensions_CopyTo_T = typing.TypeVar("System_MemoryExtensions_CopyTo_T")
System_MemoryExtensions_Overlaps_T = typing.TypeVar("System_MemoryExtensions_Overlaps_T")
System_MemoryExtensions_Sort_T = typing.TypeVar("System_MemoryExtensions_Sort_T")
System_MemoryExtensions_Sort_TKey = typing.TypeVar("System_MemoryExtensions_Sort_TKey")
System_MemoryExtensions_Sort_TValue = typing.TypeVar("System_MemoryExtensions_Sort_TValue")
System_ReadOnlyMemory_T = typing.TypeVar("System_ReadOnlyMemory_T")
System_Span_T = typing.TypeVar("System_Span_T")
System_ValueTuple_T1 = typing.TypeVar("System_ValueTuple_T1")
System_ValueTuple_T2 = typing.TypeVar("System_ValueTuple_T2")
System_ValueTuple_T3 = typing.TypeVar("System_ValueTuple_T3")
System_ValueTuple_T4 = typing.TypeVar("System_ValueTuple_T4")
System_ValueTuple_T5 = typing.TypeVar("System_ValueTuple_T5")
System_ValueTuple_T6 = typing.TypeVar("System_ValueTuple_T6")
System_ValueTuple_T7 = typing.TypeVar("System_ValueTuple_T7")
System_ValueTuple_TRest = typing.TypeVar("System_ValueTuple_TRest")
System_ValueTuple_Create_T1 = typing.TypeVar("System_ValueTuple_Create_T1")
System_ValueTuple_Create_T2 = typing.TypeVar("System_ValueTuple_Create_T2")
System_ValueTuple_Create_T3 = typing.TypeVar("System_ValueTuple_Create_T3")
System_ValueTuple_Create_T4 = typing.TypeVar("System_ValueTuple_Create_T4")
System_ValueTuple_Create_T5 = typing.TypeVar("System_ValueTuple_Create_T5")
System_ValueTuple_Create_T6 = typing.TypeVar("System_ValueTuple_Create_T6")
System_ValueTuple_Create_T7 = typing.TypeVar("System_ValueTuple_Create_T7")
System_ValueTuple_Create_T8 = typing.TypeVar("System_ValueTuple_Create_T8")
System_Tuple_T1 = typing.TypeVar("System_Tuple_T1")
System_Tuple_T2 = typing.TypeVar("System_Tuple_T2")
System_Tuple_T3 = typing.TypeVar("System_Tuple_T3")
System_Tuple_T4 = typing.TypeVar("System_Tuple_T4")
System_Tuple_T5 = typing.TypeVar("System_Tuple_T5")
System_Tuple_T6 = typing.TypeVar("System_Tuple_T6")
System_Tuple_T7 = typing.TypeVar("System_Tuple_T7")
System_Tuple_TRest = typing.TypeVar("System_Tuple_TRest")
System_Tuple_Create_T1 = typing.TypeVar("System_Tuple_Create_T1")
System_Tuple_Create_T2 = typing.TypeVar("System_Tuple_Create_T2")
System_Tuple_Create_T3 = typing.TypeVar("System_Tuple_Create_T3")
System_Tuple_Create_T4 = typing.TypeVar("System_Tuple_Create_T4")
System_Tuple_Create_T5 = typing.TypeVar("System_Tuple_Create_T5")
System_Tuple_Create_T6 = typing.TypeVar("System_Tuple_Create_T6")
System_Tuple_Create_T7 = typing.TypeVar("System_Tuple_Create_T7")
System_Tuple_Create_T8 = typing.TypeVar("System_Tuple_Create_T8")
System_ReadOnlySpan_T = typing.TypeVar("System_ReadOnlySpan_T")
System_IObservable_T = typing.TypeVar("System_IObservable_T")
System_GC_AllocateUninitializedArray_T = typing.TypeVar("System_GC_AllocateUninitializedArray_T")
System_GC_AllocateArray_T = typing.TypeVar("System_GC_AllocateArray_T")


class Object:
    """This class has no documentation."""

    def __init__(self) -> None:
        ...

    def ToString(self) -> str:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Equals(objA: typing.Any, objB: typing.Any) -> bool:
        ...

    @staticmethod
    def ReferenceEquals(objA: typing.Any, objB: typing.Any) -> bool:
        ...

    def GetHashCode(self) -> int:
        ...

    def GetType(self) -> typing.Type:
        ...

    def MemberwiseClone(self) -> System.Object:
        """This method is protected."""
        ...


class Exception(System.Object, System.Runtime.Serialization.ISerializable):
    """This class has no documentation."""

    @property
    def Message(self) -> str:
        ...

    @property
    def Data(self) -> System.Collections.IDictionary:
        ...

    @property
    def InnerException(self) -> System.Exception:
        ...

    @property
    def HelpLink(self) -> str:
        ...

    @HelpLink.setter
    def HelpLink(self, value: str):
        ...

    @property
    def Source(self) -> str:
        ...

    @Source.setter
    def Source(self, value: str):
        ...

    @property
    def SerializeObjectState(self) -> typing.List[System_EventHandler]:
        """This property is protected."""
        ...

    @SerializeObjectState.setter
    def SerializeObjectState(self, value: typing.List[System_EventHandler]):
        """This property is protected."""
        ...

    @property
    def HResult(self) -> int:
        ...

    @HResult.setter
    def HResult(self, value: int):
        ...

    @property
    def _message(self) -> str:
        ...

    @_message.setter
    def _message(self, value: str):
        ...

    @property
    def foreignExceptionsFrames(self) -> typing.List[System.Diagnostics.MonoStackFrame]:
        ...

    @foreignExceptionsFrames.setter
    def foreignExceptionsFrames(self, value: typing.List[System.Diagnostics.MonoStackFrame]):
        ...

    @property
    def TargetSite(self) -> System.Reflection.MethodBase:
        ...

    @property
    def StackTrace(self) -> str:
        ...

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...

    def GetBaseException(self) -> System.Exception:
        ...

    def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        ...

    def ToString(self) -> str:
        ...

    def GetType(self) -> typing.Type:
        ...

    def RestoreRemoteStackTrace(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        ...


class SystemException(System.Exception):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class MemberAccessException(System.SystemException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, inner: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class IFormatProvider(metaclass=abc.ABCMeta):
    """This class has no documentation."""

    def GetFormat(self, formatType: typing.Type) -> System.Object:
        ...


class IConvertible(metaclass=abc.ABCMeta):
    """This class has no documentation."""

    def GetTypeCode(self) -> int:
        """:returns: This method returns the int value of a member of the System.TypeCode enum."""
        ...

    def ToBoolean(self, provider: System.IFormatProvider) -> bool:
        ...

    def ToChar(self, provider: System.IFormatProvider) -> str:
        ...

    def ToSByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToSingle(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDouble(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDecimal(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDateTime(self, provider: System.IFormatProvider) -> datetime.datetime:
        ...

    def ToString(self, provider: System.IFormatProvider) -> str:
        ...

    def ToType(self, conversionType: typing.Type, provider: System.IFormatProvider) -> System.Object:
        ...


class IComparable(typing.Generic[System_IComparable_T], metaclass=abc.ABCMeta):
    """This class has no documentation."""

    @typing.overload
    def CompareTo(self, obj: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, other: System_IComparable_T) -> int:
        ...


class IEquatable(typing.Generic[System_IEquatable_T], metaclass=abc.ABCMeta):
    """This class has no documentation."""

    def Equals(self, other: System_IEquatable_T) -> bool:
        ...


class ICloneable(metaclass=abc.ABCMeta):
    """This class has no documentation."""

    def Clone(self) -> System.Object:
        ...


class Span(typing.Generic[System_Span_T]):
    """
    Span represents a contiguous region of arbitrary memory. Unlike arrays, it can point to either managed
    or native memory, or to memory allocated on the stack. It is type- and memory-safe.
    """

    class Enumerator:
        """Enumerates the elements of a Span{T}."""

        @property
        def Current(self) -> typing.Any:
            """Gets the element at the current position of the enumerator."""
            ...

        def MoveNext(self) -> bool:
            """Advances the enumerator to the next element of the span."""
            ...

    @property
    def _pointer(self) -> System.ByReference[System_Span_T]:
        """A byref or a native ptr."""
        ...

    @property
    def Length(self) -> int:
        """The number of items in the span."""
        ...

    @property
    def IsEmpty(self) -> bool:
        """Returns true if Length is 0."""
        ...

    Empty: System.Span[System_Span_T]
    """Returns an empty Span{T}"""

    @typing.overload
    def __init__(self, array: typing.List[System_Span_T]) -> None:
        """
        Creates a new span over the entirety of the target array.
        
        :param array: The target array.
        """
        ...

    @typing.overload
    def __init__(self, array: typing.List[System_Span_T], start: int, length: int) -> None:
        """
        Creates a new span over the portion of the target array beginning
        at 'start' index and ending at 'end' index (exclusive).
        
        :param array: The target array.
        :param start: The index at which to begin the span.
        :param length: The number of items in the span.
        """
        ...

    @typing.overload
    def __init__(self, pointer: typing.Any, length: int) -> None:
        """
        Creates a new span over the target unmanaged buffer.  Clearly this
        is quite dangerous, because we are creating arbitrarily typed T's
        out of a void*-typed block of memory.  And the length is not checked.
        But if this creation is correct, then all subsequent uses are correct.
        
        :param pointer: An unmanaged pointer to memory.
        :param length: The number of T elements the memory contains.
        """
        ...

    def __getitem__(self, index: int) -> typing.Any:
        """Returns a reference to specified element of the Span."""
        ...

    def Equals(self, obj: typing.Any) -> bool:
        """
        This method is not supported as spans cannot be boxed. To compare two spans, use operator==.
        
        Always thrown by this method.
        """
        ...

    def GetHashCode(self) -> int:
        """
        This method is not supported as spans cannot be boxed.
        
        Always thrown by this method.
        """
        ...

    def GetEnumerator(self) -> System.Span.Enumerator:
        """Gets an enumerator for this span."""
        ...

    def GetPinnableReference(self) -> typing.Any:
        """
        Returns a reference to the 0th element of the Span. If the Span is empty, returns null reference.
        It can be used for pinning and is required to support the use of span within a fixed statement.
        """
        ...

    def Clear(self) -> None:
        """Clears the contents of this span."""
        ...

    def Fill(self, value: System_Span_T) -> None:
        """Fills the contents of this span with the given value."""
        ...

    def CopyTo(self, destination: System.Span[System_Span_T]) -> None:
        """
        Copies the contents of this span into destination span. If the source
        and destinations overlap, this method behaves as if the original values in
        a temporary location before the destination is overwritten.
        
        :param destination: The span to copy items into.
        """
        ...

    def TryCopyTo(self, destination: System.Span[System_Span_T]) -> bool:
        """
        Copies the contents of this span into destination span. If the source
        and destinations overlap, this method behaves as if the original values in
        a temporary location before the destination is overwritten.
        
        :param destination: The span to copy items into.
        :returns: If the destination span is shorter than the source span, this method return false and no data is written to the destination.
        """
        ...

    def ToString(self) -> str:
        """
        For Span{Char}, returns a new instance of string that represents the characters pointed to by the span.
        Otherwise, returns a string with the name of the type and the number of elements.
        """
        ...

    @typing.overload
    def Slice(self, start: int) -> System.Span[System_Span_T]:
        """
        Forms a slice out of the given span, beginning at 'start'.
        
        :param start: The index at which to begin this slice.
        """
        ...

    @typing.overload
    def Slice(self, start: int, length: int) -> System.Span[System_Span_T]:
        """
        Forms a slice out of the given span, beginning at 'start', of given length
        
        :param start: The index at which to begin this slice.
        :param length: The desired length for the slice (exclusive).
        """
        ...

    def ToArray(self) -> typing.List[System_Span_T]:
        """
        Copies the contents of this span into a new array.  This heap
        allocates, so should generally be avoided, however it is sometimes
        necessary to bridge the gap with APIs written in terms of arrays.
        """
        ...


class ReadOnlySpan(typing.Generic[System_ReadOnlySpan_T]):
    """
    ReadOnlySpan represents a contiguous region of arbitrary memory. Unlike arrays, it can point to either managed
    or native memory, or to memory allocated on the stack. It is type- and memory-safe.
    """

    class Enumerator:
        """Enumerates the elements of a ReadOnlySpan{T}."""

        @property
        def Current(self) -> typing.Any:
            """Gets the element at the current position of the enumerator."""
            ...

        def MoveNext(self) -> bool:
            """Advances the enumerator to the next element of the span."""
            ...

    @property
    def _pointer(self) -> System.ByReference[System_ReadOnlySpan_T]:
        """A byref or a native ptr."""
        ...

    @property
    def Length(self) -> int:
        """The number of items in the read-only span."""
        ...

    @property
    def IsEmpty(self) -> bool:
        """Returns true if Length is 0."""
        ...

    Empty: System.ReadOnlySpan[System_ReadOnlySpan_T]
    """Returns a 0-length read-only span whose base is the null pointer."""

    @typing.overload
    def __init__(self, array: typing.List[System_ReadOnlySpan_T]) -> None:
        """
        Creates a new read-only span over the entirety of the target array.
        
        :param array: The target array.
        """
        ...

    @typing.overload
    def __init__(self, array: typing.List[System_ReadOnlySpan_T], start: int, length: int) -> None:
        """
        Creates a new read-only span over the portion of the target array beginning
        at 'start' index and ending at 'end' index (exclusive).
        
        :param array: The target array.
        :param start: The index at which to begin the read-only span.
        :param length: The number of items in the read-only span.
        """
        ...

    @typing.overload
    def __init__(self, pointer: typing.Any, length: int) -> None:
        """
        Creates a new read-only span over the target unmanaged buffer.  Clearly this
        is quite dangerous, because we are creating arbitrarily typed T's
        out of a void*-typed block of memory.  And the length is not checked.
        But if this creation is correct, then all subsequent uses are correct.
        
        :param pointer: An unmanaged pointer to memory.
        :param length: The number of T elements the memory contains.
        """
        ...

    def __getitem__(self, index: int) -> typing.Any:
        """Returns the specified element of the read-only span."""
        ...

    def Equals(self, obj: typing.Any) -> bool:
        """
        This method is not supported as spans cannot be boxed. To compare two spans, use operator==.
        
        Always thrown by this method.
        """
        ...

    def GetHashCode(self) -> int:
        """
        This method is not supported as spans cannot be boxed.
        
        Always thrown by this method.
        """
        ...

    def GetEnumerator(self) -> System.ReadOnlySpan.Enumerator:
        """Gets an enumerator for this span."""
        ...

    def GetPinnableReference(self) -> typing.Any:
        """
        Returns a reference to the 0th element of the Span. If the Span is empty, returns null reference.
        It can be used for pinning and is required to support the use of span within a fixed statement.
        """
        ...

    def CopyTo(self, destination: System.Span[System_ReadOnlySpan_T]) -> None:
        """
        Copies the contents of this read-only span into destination span. If the source
        and destinations overlap, this method behaves as if the original values in
        a temporary location before the destination is overwritten.
        
        The span to copy items into.
        Thrown when the destination Span is shorter than the source Span.
        
        :param destination: The span to copy items into.
        """
        ...

    def TryCopyTo(self, destination: System.Span[System_ReadOnlySpan_T]) -> bool:
        """
        Copies the contents of this read-only span into destination span. If the source
        and destinations overlap, this method behaves as if the original values in
        a temporary location before the destination is overwritten.
        
        :param destination: The span to copy items into.
        :returns: If the destination span is shorter than the source span, this method return false and no data is written to the destination.
        """
        ...

    def ToString(self) -> str:
        """
        For ReadOnlySpan{Char}, returns a new instance of string that represents the characters pointed to by the span.
        Otherwise, returns a string with the name of the type and the number of elements.
        """
        ...

    @typing.overload
    def Slice(self, start: int) -> System.ReadOnlySpan[System_ReadOnlySpan_T]:
        """
        Forms a slice out of the given read-only span, beginning at 'start'.
        
        :param start: The index at which to begin this slice.
        """
        ...

    @typing.overload
    def Slice(self, start: int, length: int) -> System.ReadOnlySpan[System_ReadOnlySpan_T]:
        """
        Forms a slice out of the given read-only span, beginning at 'start', of given length
        
        :param start: The index at which to begin this slice.
        :param length: The desired length for the slice (exclusive).
        """
        ...

    def ToArray(self) -> typing.List[System_ReadOnlySpan_T]:
        """
        Copies the contents of this read-only span into a new array.  This heap
        allocates, so should generally be avoided, however it is sometimes
        necessary to bridge the gap with APIs written in terms of arrays.
        """
        ...


class IDisposable(metaclass=abc.ABCMeta):
    """This class has no documentation."""

    def Dispose(self) -> None:
        ...


class CharEnumerator(System.Object, System.Collections.Generic.IEnumerator[str], System.IDisposable, System.ICloneable):
    """This class has no documentation."""

    @property
    def Current(self) -> System.Object:
        ...

    def Clone(self) -> System.Object:
        ...

    def MoveNext(self) -> bool:
        ...

    def Dispose(self) -> None:
        ...

    def Reset(self) -> None:
        ...


class IFormattable(metaclass=abc.ABCMeta):
    """This class has no documentation."""

    def ToString(self, format: str, formatProvider: System.IFormatProvider) -> str:
        ...


class Enum(System.Object, System.IComparable, System.IFormattable, System.IConvertible, metaclass=abc.ABCMeta):
    """This class has no documentation."""

    @staticmethod
    @typing.overload
    def GetName(value: System_Enum_GetName_TEnum) -> str:
        ...

    @staticmethod
    @typing.overload
    def GetName(enumType: typing.Type, value: typing.Any) -> str:
        ...

    @staticmethod
    @typing.overload
    def GetNames() -> typing.List[str]:
        ...

    @staticmethod
    @typing.overload
    def GetNames(enumType: typing.Type) -> typing.List[str]:
        ...

    @staticmethod
    def GetUnderlyingType(enumType: typing.Type) -> typing.Type:
        ...

    @staticmethod
    def GetValues(enumType: System_Enum_GetValues_TEnum) -> typing.List[System_Enum_GetValues_TEnum]:
        ...

    def HasFlag(self, flag: System.Enum) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsDefined(value: System_Enum_IsDefined_TEnum) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsDefined(enumType: typing.Type, value: typing.Any) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Parse(enumType: typing.Type, value: str) -> System.Object:
        ...

    @staticmethod
    @typing.overload
    def Parse(enumType: typing.Type, value: str, ignoreCase: bool) -> System.Object:
        ...

    @staticmethod
    @typing.overload
    def Parse(value: str) -> System_Enum_Parse_TEnum:
        ...

    @staticmethod
    @typing.overload
    def Parse(value: str, ignoreCase: bool) -> System_Enum_Parse_TEnum:
        ...

    @staticmethod
    @typing.overload
    def TryParse(enumType: typing.Type, value: str, result: typing.Any) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(enumType: typing.Type, value: str, ignoreCase: bool, result: typing.Any) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(value: str, result: System_Enum_TryParse_TEnum) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(value: str, ignoreCase: bool, result: System_Enum_TryParse_TEnum) -> bool:
        ...

    @staticmethod
    @typing.overload
    def ToObject(enumType: typing.Type, value: typing.Any) -> System.Object:
        ...

    @staticmethod
    def Format(enumType: typing.Type, value: typing.Any, format: str) -> str:
        ...

    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    def CompareTo(self, target: typing.Any) -> int:
        ...

    @typing.overload
    def ToString(self, format: str, provider: System.IFormatProvider) -> str:
        ...

    @typing.overload
    def ToString(self, format: str) -> str:
        ...

    @typing.overload
    def ToString(self, provider: System.IFormatProvider) -> str:
        ...

    def GetTypeCode(self) -> int:
        """:returns: This method returns the int value of a member of the System.TypeCode enum."""
        ...

    def ToBoolean(self, provider: System.IFormatProvider) -> bool:
        ...

    def ToChar(self, provider: System.IFormatProvider) -> str:
        ...

    def ToSByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToSingle(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDouble(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDecimal(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDateTime(self, provider: System.IFormatProvider) -> datetime.datetime:
        ...

    def ToType(self, type: typing.Type, provider: System.IFormatProvider) -> System.Object:
        ...

    @staticmethod
    @typing.overload
    def ToObject(enumType: typing.Type, value: int) -> System.Object:
        ...

    @staticmethod
    @typing.overload
    def ToObject(enumType: typing.Type, value: int) -> System.Object:
        ...

    @staticmethod
    @typing.overload
    def ToObject(enumType: typing.Type, value: int) -> System.Object:
        ...

    @staticmethod
    @typing.overload
    def ToObject(enumType: typing.Type, value: int) -> System.Object:
        ...

    @staticmethod
    @typing.overload
    def ToObject(enumType: typing.Type, value: int) -> System.Object:
        ...

    @staticmethod
    @typing.overload
    def ToObject(enumType: typing.Type, value: int) -> System.Object:
        ...

    @staticmethod
    @typing.overload
    def ToObject(enumType: typing.Type, value: int) -> System.Object:
        ...

    @staticmethod
    @typing.overload
    def ToObject(enumType: typing.Type, value: int) -> System.Object:
        ...


class StringComparison(System.Enum):
    """This class has no documentation."""

    CurrentCulture = 0

    CurrentCultureIgnoreCase = 1

    InvariantCulture = 2

    InvariantCultureIgnoreCase = 3

    Ordinal = 4

    OrdinalIgnoreCase = 5


class StringSplitOptions(System.Enum):
    """This class has no documentation."""

    # Cannot convert to Python: None = 0
    """Do not transform the results. This is the default behavior."""

    RemoveEmptyEntries = 1
    """Remove empty (zero-length) substrings from the result."""

    TrimEntries = 2
    """Trim whitespace from each substring in the result."""


class String(System.Object, System.IComparable[str], System.IConvertible, System.Collections.Generic.IEnumerable[str], System.IEquatable[str], System.ICloneable, typing.Iterable[str]):
    """This class has no documentation."""

    Empty: str

    @property
    def Length(self) -> int:
        ...

    @typing.overload
    def __init__(self, value: typing.List[str]) -> None:
        ...

    @typing.overload
    def __init__(self, value: typing.List[str], startIndex: int, length: int) -> None:
        ...

    @typing.overload
    def __init__(self, value: typing.Any) -> None:
        ...

    @typing.overload
    def __init__(self, value: typing.Any, startIndex: int, length: int) -> None:
        ...

    @typing.overload
    def __init__(self, value: typing.Any) -> None:
        ...

    @typing.overload
    def __init__(self, value: typing.Any, startIndex: int, length: int) -> None:
        ...

    @typing.overload
    def __init__(self, value: typing.Any, startIndex: int, length: int, enc: System.Text.Encoding) -> None:
        ...

    @typing.overload
    def __init__(self, c: str, count: int) -> None:
        ...

    @typing.overload
    def __init__(self, value: System.ReadOnlySpan[str]) -> None:
        ...

    @staticmethod
    def Create(length: int, state: System_String_Create_TState, action: System_Buffers_SpanAction) -> str:
        ...

    def Clone(self) -> System.Object:
        ...

    @staticmethod
    def Copy(str: str) -> str:
        ...

    def CopyTo(self, sourceIndex: int, destination: typing.List[str], destinationIndex: int, count: int) -> None:
        ...

    @typing.overload
    def ToCharArray(self) -> typing.List[str]:
        ...

    @typing.overload
    def ToCharArray(self, startIndex: int, length: int) -> typing.List[str]:
        ...

    @staticmethod
    def IsNullOrEmpty(value: str) -> bool:
        ...

    @staticmethod
    def IsNullOrWhiteSpace(value: str) -> bool:
        ...

    def GetPinnableReference(self) -> typing.Any:
        """Returns a reference to the first element of the String. If the string is null, an access will throw a NullReferenceException."""
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, provider: System.IFormatProvider) -> str:
        ...

    @typing.overload
    def GetEnumerator(self) -> System.CharEnumerator:
        ...

    @typing.overload
    def GetEnumerator(self) -> System.Collections.Generic.IEnumerator[str]:
        ...

    @typing.overload
    def GetEnumerator(self) -> System.Collections.IEnumerator:
        ...

    def EnumerateRunes(self) -> System.Text.StringRuneEnumerator:
        """Returns an enumeration of Rune from this string."""
        ...

    def GetTypeCode(self) -> int:
        """:returns: This method returns the int value of a member of the System.TypeCode enum."""
        ...

    def ToBoolean(self, provider: System.IFormatProvider) -> bool:
        ...

    def ToChar(self, provider: System.IFormatProvider) -> str:
        ...

    def ToSByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToSingle(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDouble(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDecimal(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDateTime(self, provider: System.IFormatProvider) -> datetime.datetime:
        ...

    def ToType(self, type: typing.Type, provider: System.IFormatProvider) -> System.Object:
        ...

    @typing.overload
    def IsNormalized(self) -> bool:
        ...

    @typing.overload
    def IsNormalized(self, normalizationForm: System.Text.NormalizationForm) -> bool:
        ...

    @typing.overload
    def Normalize(self) -> str:
        ...

    @typing.overload
    def Normalize(self, normalizationForm: System.Text.NormalizationForm) -> str:
        ...

    @staticmethod
    @typing.overload
    def Compare(strA: str, strB: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def Compare(strA: str, strB: str, ignoreCase: bool) -> int:
        ...

    @staticmethod
    @typing.overload
    def Compare(strA: str, strB: str, comparisonType: System.StringComparison) -> int:
        ...

    @staticmethod
    @typing.overload
    def Compare(strA: str, strB: str, culture: System.Globalization.CultureInfo, options: System.Globalization.CompareOptions) -> int:
        ...

    @staticmethod
    @typing.overload
    def Compare(strA: str, strB: str, ignoreCase: bool, culture: System.Globalization.CultureInfo) -> int:
        ...

    @staticmethod
    @typing.overload
    def Compare(strA: str, indexA: int, strB: str, indexB: int, length: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Compare(strA: str, indexA: int, strB: str, indexB: int, length: int, ignoreCase: bool) -> int:
        ...

    @staticmethod
    @typing.overload
    def Compare(strA: str, indexA: int, strB: str, indexB: int, length: int, ignoreCase: bool, culture: System.Globalization.CultureInfo) -> int:
        ...

    @staticmethod
    @typing.overload
    def Compare(strA: str, indexA: int, strB: str, indexB: int, length: int, culture: System.Globalization.CultureInfo, options: System.Globalization.CompareOptions) -> int:
        ...

    @staticmethod
    @typing.overload
    def Compare(strA: str, indexA: int, strB: str, indexB: int, length: int, comparisonType: System.StringComparison) -> int:
        ...

    @staticmethod
    @typing.overload
    def CompareOrdinal(strA: str, strB: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def CompareOrdinal(strA: str, indexA: int, strB: str, indexB: int, length: int) -> int:
        ...

    @typing.overload
    def CompareTo(self, value: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, strB: str) -> int:
        ...

    @typing.overload
    def EndsWith(self, value: str) -> bool:
        ...

    @typing.overload
    def EndsWith(self, value: str, comparisonType: System.StringComparison) -> bool:
        ...

    @typing.overload
    def EndsWith(self, value: str, ignoreCase: bool, culture: System.Globalization.CultureInfo) -> bool:
        ...

    @typing.overload
    def EndsWith(self, value: str) -> bool:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, value: str) -> bool:
        ...

    @typing.overload
    def Equals(self, value: str, comparisonType: System.StringComparison) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Equals(a: str, b: str) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Equals(a: str, b: str, comparisonType: System.StringComparison) -> bool:
        ...

    @typing.overload
    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparisonType: System.StringComparison) -> int:
        ...

    @staticmethod
    @typing.overload
    def GetHashCode(value: System.ReadOnlySpan[str]) -> int:
        ...

    @staticmethod
    @typing.overload
    def GetHashCode(value: System.ReadOnlySpan[str], comparisonType: System.StringComparison) -> int:
        ...

    @typing.overload
    def StartsWith(self, value: str) -> bool:
        ...

    @typing.overload
    def StartsWith(self, value: str, comparisonType: System.StringComparison) -> bool:
        ...

    @typing.overload
    def StartsWith(self, value: str, ignoreCase: bool, culture: System.Globalization.CultureInfo) -> bool:
        ...

    @typing.overload
    def StartsWith(self, value: str) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Concat(arg0: typing.Any) -> str:
        ...

    @staticmethod
    @typing.overload
    def Concat(arg0: typing.Any, arg1: typing.Any) -> str:
        ...

    @staticmethod
    @typing.overload
    def Concat(arg0: typing.Any, arg1: typing.Any, arg2: typing.Any) -> str:
        ...

    @staticmethod
    @typing.overload
    def Concat(*args: typing.Any) -> str:
        ...

    @staticmethod
    @typing.overload
    def Concat(values: System.Collections.Generic.IEnumerable[System_String_Concat_T]) -> str:
        ...

    @staticmethod
    @typing.overload
    def Concat(values: System.Collections.Generic.IEnumerable[str]) -> str:
        ...

    @staticmethod
    @typing.overload
    def Concat(str0: str, str1: str) -> str:
        ...

    @staticmethod
    @typing.overload
    def Concat(str0: str, str1: str, str2: str) -> str:
        ...

    @staticmethod
    @typing.overload
    def Concat(str0: str, str1: str, str2: str, str3: str) -> str:
        ...

    @staticmethod
    @typing.overload
    def Concat(str0: System.ReadOnlySpan[str], str1: System.ReadOnlySpan[str]) -> str:
        ...

    @staticmethod
    @typing.overload
    def Concat(str0: System.ReadOnlySpan[str], str1: System.ReadOnlySpan[str], str2: System.ReadOnlySpan[str]) -> str:
        ...

    @staticmethod
    @typing.overload
    def Concat(str0: System.ReadOnlySpan[str], str1: System.ReadOnlySpan[str], str2: System.ReadOnlySpan[str], str3: System.ReadOnlySpan[str]) -> str:
        ...

    @staticmethod
    @typing.overload
    def Concat(*values: str) -> str:
        ...

    @staticmethod
    @typing.overload
    def Format(format: str, arg0: typing.Any) -> str:
        ...

    @staticmethod
    @typing.overload
    def Format(format: str, arg0: typing.Any, arg1: typing.Any) -> str:
        ...

    @staticmethod
    @typing.overload
    def Format(format: str, arg0: typing.Any, arg1: typing.Any, arg2: typing.Any) -> str:
        ...

    @staticmethod
    @typing.overload
    def Format(format: str, *args: typing.Any) -> str:
        ...

    @staticmethod
    @typing.overload
    def Format(provider: System.IFormatProvider, format: str, arg0: typing.Any) -> str:
        ...

    @staticmethod
    @typing.overload
    def Format(provider: System.IFormatProvider, format: str, arg0: typing.Any, arg1: typing.Any) -> str:
        ...

    @staticmethod
    @typing.overload
    def Format(provider: System.IFormatProvider, format: str, arg0: typing.Any, arg1: typing.Any, arg2: typing.Any) -> str:
        ...

    @staticmethod
    @typing.overload
    def Format(provider: System.IFormatProvider, format: str, *args: typing.Any) -> str:
        ...

    def Insert(self, startIndex: int, value: str) -> str:
        ...

    @staticmethod
    @typing.overload
    def Join(separator: str, *value: str) -> str:
        ...

    @staticmethod
    @typing.overload
    def Join(separator: str, *value: str) -> str:
        ...

    @staticmethod
    @typing.overload
    def Join(separator: str, value: typing.List[str], startIndex: int, count: int) -> str:
        ...

    @staticmethod
    @typing.overload
    def Join(separator: str, value: typing.List[str], startIndex: int, count: int) -> str:
        ...

    @staticmethod
    @typing.overload
    def Join(separator: str, values: System.Collections.Generic.IEnumerable[str]) -> str:
        ...

    @staticmethod
    @typing.overload
    def Join(separator: str, *values: typing.Any) -> str:
        ...

    @staticmethod
    @typing.overload
    def Join(separator: str, *values: typing.Any) -> str:
        ...

    @staticmethod
    @typing.overload
    def Join(separator: str, values: System.Collections.Generic.IEnumerable[System_String_Join_T]) -> str:
        ...

    @staticmethod
    @typing.overload
    def Join(separator: str, values: System.Collections.Generic.IEnumerable[System_String_Join_T]) -> str:
        ...

    @typing.overload
    def PadLeft(self, totalWidth: int) -> str:
        ...

    @typing.overload
    def PadLeft(self, totalWidth: int, paddingChar: str) -> str:
        ...

    @typing.overload
    def PadRight(self, totalWidth: int) -> str:
        ...

    @typing.overload
    def PadRight(self, totalWidth: int, paddingChar: str) -> str:
        ...

    @typing.overload
    def Remove(self, startIndex: int, count: int) -> str:
        ...

    @typing.overload
    def Remove(self, startIndex: int) -> str:
        ...

    @typing.overload
    def Replace(self, oldValue: str, newValue: str, ignoreCase: bool, culture: System.Globalization.CultureInfo) -> str:
        ...

    @typing.overload
    def Replace(self, oldValue: str, newValue: str, comparisonType: System.StringComparison) -> str:
        ...

    @typing.overload
    def Replace(self, oldChar: str, newChar: str) -> str:
        ...

    @typing.overload
    def Replace(self, oldValue: str, newValue: str) -> str:
        ...

    @typing.overload
    def Split(self, separator: str, options: System.StringSplitOptions = ...) -> typing.List[str]:
        ...

    @typing.overload
    def Split(self, separator: str, count: int, options: System.StringSplitOptions = ...) -> typing.List[str]:
        ...

    @typing.overload
    def Split(self, *separator: str) -> typing.List[str]:
        ...

    @typing.overload
    def Split(self, separator: typing.List[str], count: int) -> typing.List[str]:
        ...

    @typing.overload
    def Split(self, separator: typing.List[str], options: System.StringSplitOptions) -> typing.List[str]:
        ...

    @typing.overload
    def Split(self, separator: typing.List[str], count: int, options: System.StringSplitOptions) -> typing.List[str]:
        ...

    @typing.overload
    def Split(self, separator: str, options: System.StringSplitOptions = ...) -> typing.List[str]:
        ...

    @typing.overload
    def Split(self, separator: str, count: int, options: System.StringSplitOptions = ...) -> typing.List[str]:
        ...

    @typing.overload
    def Split(self, separator: typing.List[str], options: System.StringSplitOptions) -> typing.List[str]:
        ...

    @typing.overload
    def Split(self, separator: typing.List[str], count: int, options: System.StringSplitOptions) -> typing.List[str]:
        ...

    @typing.overload
    def Substring(self, startIndex: int) -> str:
        ...

    @typing.overload
    def Substring(self, startIndex: int, length: int) -> str:
        ...

    @typing.overload
    def ToLower(self) -> str:
        ...

    @typing.overload
    def ToLower(self, culture: System.Globalization.CultureInfo) -> str:
        ...

    def ToLowerInvariant(self) -> str:
        ...

    @typing.overload
    def ToUpper(self) -> str:
        ...

    @typing.overload
    def ToUpper(self, culture: System.Globalization.CultureInfo) -> str:
        ...

    def ToUpperInvariant(self) -> str:
        ...

    @typing.overload
    def Trim(self) -> str:
        ...

    @typing.overload
    def Trim(self, trimChar: str) -> str:
        ...

    @typing.overload
    def Trim(self, *trimChars: str) -> str:
        ...

    @typing.overload
    def TrimStart(self) -> str:
        ...

    @typing.overload
    def TrimStart(self, trimChar: str) -> str:
        ...

    @typing.overload
    def TrimStart(self, *trimChars: str) -> str:
        ...

    @typing.overload
    def TrimEnd(self) -> str:
        ...

    @typing.overload
    def TrimEnd(self, trimChar: str) -> str:
        ...

    @typing.overload
    def TrimEnd(self, *trimChars: str) -> str:
        ...

    @typing.overload
    def Contains(self, value: str) -> bool:
        ...

    @typing.overload
    def Contains(self, value: str, comparisonType: System.StringComparison) -> bool:
        ...

    @typing.overload
    def Contains(self, value: str) -> bool:
        ...

    @typing.overload
    def Contains(self, value: str, comparisonType: System.StringComparison) -> bool:
        ...

    @typing.overload
    def IndexOf(self, value: str) -> int:
        ...

    @typing.overload
    def IndexOf(self, value: str, startIndex: int) -> int:
        ...

    @typing.overload
    def IndexOf(self, value: str, comparisonType: System.StringComparison) -> int:
        ...

    @typing.overload
    def IndexOf(self, value: str, startIndex: int, count: int) -> int:
        ...

    @typing.overload
    def IndexOfAny(self, anyOf: typing.List[str]) -> int:
        ...

    @typing.overload
    def IndexOfAny(self, anyOf: typing.List[str], startIndex: int) -> int:
        ...

    @typing.overload
    def IndexOfAny(self, anyOf: typing.List[str], startIndex: int, count: int) -> int:
        ...

    @typing.overload
    def IndexOf(self, value: str) -> int:
        ...

    @typing.overload
    def IndexOf(self, value: str, startIndex: int) -> int:
        ...

    @typing.overload
    def IndexOf(self, value: str, startIndex: int, count: int) -> int:
        ...

    @typing.overload
    def IndexOf(self, value: str, comparisonType: System.StringComparison) -> int:
        ...

    @typing.overload
    def IndexOf(self, value: str, startIndex: int, comparisonType: System.StringComparison) -> int:
        ...

    @typing.overload
    def IndexOf(self, value: str, startIndex: int, count: int, comparisonType: System.StringComparison) -> int:
        ...

    @typing.overload
    def LastIndexOf(self, value: str) -> int:
        ...

    @typing.overload
    def LastIndexOf(self, value: str, startIndex: int) -> int:
        ...

    @typing.overload
    def LastIndexOf(self, value: str, startIndex: int, count: int) -> int:
        ...

    @typing.overload
    def LastIndexOfAny(self, anyOf: typing.List[str]) -> int:
        ...

    @typing.overload
    def LastIndexOfAny(self, anyOf: typing.List[str], startIndex: int) -> int:
        ...

    @typing.overload
    def LastIndexOfAny(self, anyOf: typing.List[str], startIndex: int, count: int) -> int:
        ...

    @typing.overload
    def LastIndexOf(self, value: str) -> int:
        ...

    @typing.overload
    def LastIndexOf(self, value: str, startIndex: int) -> int:
        ...

    @typing.overload
    def LastIndexOf(self, value: str, startIndex: int, count: int) -> int:
        ...

    @typing.overload
    def LastIndexOf(self, value: str, comparisonType: System.StringComparison) -> int:
        ...

    @typing.overload
    def LastIndexOf(self, value: str, startIndex: int, comparisonType: System.StringComparison) -> int:
        ...

    @typing.overload
    def LastIndexOf(self, value: str, startIndex: int, count: int, comparisonType: System.StringComparison) -> int:
        ...

    def __getitem__(self, index: int) -> str:
        ...

    @staticmethod
    def Intern(str: str) -> str:
        ...

    @staticmethod
    def IsInterned(str: str) -> str:
        ...


class AttributeTargets(System.Enum):
    """This class has no documentation."""

    Assembly = ...

    Module = ...

    Class = ...

    Struct = ...

    Enum = ...

    Constructor = ...

    Method = ...

    Property = ...

    Field = ...

    Event = ...

    Interface = ...

    Parameter = ...

    Delegate = ...

    ReturnValue = ...

    GenericParameter = ...

    All = ...


class IAsyncDisposable(metaclass=abc.ABCMeta):
    """Provides a mechanism for releasing unmanaged resources asynchronously."""

    def DisposeAsync(self) -> System.Threading.Tasks.ValueTask:
        """
        Performs application-defined tasks associated with freeing, releasing, or
        resetting unmanaged resources asynchronously.
        """
        ...


class MarshalByRefObject(System.Object, metaclass=abc.ABCMeta):
    """This class has no documentation."""

    def __init__(self) -> None:
        """This method is protected."""
        ...

    def GetLifetimeService(self) -> System.Object:
        ...

    def InitializeLifetimeService(self) -> System.Object:
        ...

    def MemberwiseClone(self, cloneIdentity: bool) -> System.MarshalByRefObject:
        """This method is protected."""
        ...


class ContextBoundObject(System.MarshalByRefObject, metaclass=abc.ABCMeta):
    """This class has no documentation."""

    def __init__(self) -> None:
        """This method is protected."""
        ...


class ContextMarshalException(System.SystemException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, inner: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class Attribute(System.Object, metaclass=abc.ABCMeta):
    """This class has no documentation."""

    @property
    def TypeId(self) -> System.Object:
        ...

    def __init__(self) -> None:
        """This method is protected."""
        ...

    def Equals(self, obj: typing.Any) -> bool:
        ...

    def GetHashCode(self) -> int:
        ...

    def Match(self, obj: typing.Any) -> bool:
        ...

    def IsDefaultAttribute(self) -> bool:
        ...

    @staticmethod
    @typing.overload
    def GetCustomAttribute(element: System.Reflection.Assembly, attributeType: typing.Type) -> System.Attribute:
        ...

    @staticmethod
    @typing.overload
    def GetCustomAttribute(element: System.Reflection.Assembly, attributeType: typing.Type, inherit: bool) -> System.Attribute:
        ...

    @staticmethod
    @typing.overload
    def GetCustomAttribute(element: System.Reflection.MemberInfo, attributeType: typing.Type) -> System.Attribute:
        ...

    @staticmethod
    @typing.overload
    def GetCustomAttribute(element: System.Reflection.MemberInfo, attributeType: typing.Type, inherit: bool) -> System.Attribute:
        ...

    @staticmethod
    @typing.overload
    def GetCustomAttribute(element: System.Reflection.Module, attributeType: typing.Type) -> System.Attribute:
        ...

    @staticmethod
    @typing.overload
    def GetCustomAttribute(element: System.Reflection.Module, attributeType: typing.Type, inherit: bool) -> System.Attribute:
        ...

    @staticmethod
    @typing.overload
    def GetCustomAttribute(element: System.Reflection.ParameterInfo, attributeType: typing.Type) -> System.Attribute:
        ...

    @staticmethod
    @typing.overload
    def GetCustomAttribute(element: System.Reflection.ParameterInfo, attributeType: typing.Type, inherit: bool) -> System.Attribute:
        ...

    @staticmethod
    @typing.overload
    def GetCustomAttributes(element: System.Reflection.Assembly) -> typing.List[System.Attribute]:
        ...

    @staticmethod
    @typing.overload
    def GetCustomAttributes(element: System.Reflection.Assembly, inherit: bool) -> typing.List[System.Attribute]:
        ...

    @staticmethod
    @typing.overload
    def GetCustomAttributes(element: System.Reflection.Assembly, attributeType: typing.Type) -> typing.List[System.Attribute]:
        ...

    @staticmethod
    @typing.overload
    def GetCustomAttributes(element: System.Reflection.Assembly, attributeType: typing.Type, inherit: bool) -> typing.List[System.Attribute]:
        ...

    @staticmethod
    @typing.overload
    def GetCustomAttributes(element: System.Reflection.MemberInfo) -> typing.List[System.Attribute]:
        ...

    @staticmethod
    @typing.overload
    def GetCustomAttributes(element: System.Reflection.MemberInfo, inherit: bool) -> typing.List[System.Attribute]:
        ...

    @staticmethod
    @typing.overload
    def GetCustomAttributes(element: System.Reflection.MemberInfo, attributeType: typing.Type) -> typing.List[System.Attribute]:
        ...

    @staticmethod
    @typing.overload
    def GetCustomAttributes(element: System.Reflection.MemberInfo, attributeType: typing.Type, inherit: bool) -> typing.List[System.Attribute]:
        ...

    @staticmethod
    @typing.overload
    def GetCustomAttributes(element: System.Reflection.Module) -> typing.List[System.Attribute]:
        ...

    @staticmethod
    @typing.overload
    def GetCustomAttributes(element: System.Reflection.Module, inherit: bool) -> typing.List[System.Attribute]:
        ...

    @staticmethod
    @typing.overload
    def GetCustomAttributes(element: System.Reflection.Module, attributeType: typing.Type) -> typing.List[System.Attribute]:
        ...

    @staticmethod
    @typing.overload
    def GetCustomAttributes(element: System.Reflection.Module, attributeType: typing.Type, inherit: bool) -> typing.List[System.Attribute]:
        ...

    @staticmethod
    @typing.overload
    def GetCustomAttributes(element: System.Reflection.ParameterInfo) -> typing.List[System.Attribute]:
        ...

    @staticmethod
    @typing.overload
    def GetCustomAttributes(element: System.Reflection.ParameterInfo, inherit: bool) -> typing.List[System.Attribute]:
        ...

    @staticmethod
    @typing.overload
    def GetCustomAttributes(element: System.Reflection.ParameterInfo, attributeType: typing.Type) -> typing.List[System.Attribute]:
        ...

    @staticmethod
    @typing.overload
    def GetCustomAttributes(element: System.Reflection.ParameterInfo, attributeType: typing.Type, inherit: bool) -> typing.List[System.Attribute]:
        ...

    @staticmethod
    @typing.overload
    def IsDefined(element: System.Reflection.Assembly, attributeType: typing.Type) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsDefined(element: System.Reflection.Assembly, attributeType: typing.Type, inherit: bool) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsDefined(element: System.Reflection.MemberInfo, attributeType: typing.Type) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsDefined(element: System.Reflection.MemberInfo, attributeType: typing.Type, inherit: bool) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsDefined(element: System.Reflection.Module, attributeType: typing.Type) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsDefined(element: System.Reflection.Module, attributeType: typing.Type, inherit: bool) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsDefined(element: System.Reflection.ParameterInfo, attributeType: typing.Type) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsDefined(element: System.Reflection.ParameterInfo, attributeType: typing.Type, inherit: bool) -> bool:
        ...


class ContextStaticAttribute(System.Attribute):
    """This class has no documentation."""

    def __init__(self) -> None:
        ...


class Single(System.IComparable[float], System.IConvertible, System.IFormattable, System.IEquatable[float], System.ISpanFormattable):
    """This class has no documentation."""

    MinValue: float = ...

    Epsilon: float = ...

    MaxValue: float = ...

    PositiveInfinity: float = ...

    NegativeInfinity: float = ...

    NaN: float = ...

    NegativeZero: float = ...

    SignMask: int = ...

    SignShift: int = 31

    ShiftedSignMask: int = ...

    ExponentMask: int = ...

    ExponentShift: int = 23

    ShiftedExponentMask: int = ...

    SignificandMask: int = ...

    MinSign: int = 0

    MaxSign: int = 1

    MinExponent: int = ...

    MaxExponent: int = ...

    MinSignificand: int = ...

    MaxSignificand: int = ...

    @staticmethod
    def IsFinite(f: float) -> bool:
        """Determines whether the specified value is finite (zero, subnormal, or normal)."""
        ...

    @staticmethod
    def IsInfinity(f: float) -> bool:
        """Determines whether the specified value is infinite."""
        ...

    @staticmethod
    def IsNaN(f: float) -> bool:
        """Determines whether the specified value is NaN."""
        ...

    @staticmethod
    def IsNegative(f: float) -> bool:
        """Determines whether the specified value is negative."""
        ...

    @staticmethod
    def IsNegativeInfinity(f: float) -> bool:
        """Determines whether the specified value is negative infinity."""
        ...

    @staticmethod
    def IsNormal(f: float) -> bool:
        """Determines whether the specified value is normal."""
        ...

    @staticmethod
    def IsPositiveInfinity(f: float) -> bool:
        """Determines whether the specified value is positive infinity."""
        ...

    @staticmethod
    def IsSubnormal(f: float) -> bool:
        """Determines whether the specified value is subnormal."""
        ...

    @typing.overload
    def CompareTo(self, value: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, value: float) -> int:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, obj: float) -> bool:
        ...

    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, provider: System.IFormatProvider) -> str:
        ...

    @typing.overload
    def ToString(self, format: str) -> str:
        ...

    @typing.overload
    def ToString(self, format: str, provider: System.IFormatProvider) -> str:
        ...

    def TryFormat(self, destination: System.Span[str], charsWritten: int, format: System.ReadOnlySpan[str] = ..., provider: System.IFormatProvider = None) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str) -> float:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles) -> float:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, provider: System.IFormatProvider) -> float:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider) -> float:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles = ..., provider: System.IFormatProvider = None) -> float:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, result: float) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], result: float) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: float) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: float) -> bool:
        ...

    def GetTypeCode(self) -> int:
        """:returns: This method returns the int value of a member of the System.TypeCode enum."""
        ...

    def ToBoolean(self, provider: System.IFormatProvider) -> bool:
        ...

    def ToChar(self, provider: System.IFormatProvider) -> str:
        ...

    def ToSByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToSingle(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDouble(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDecimal(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDateTime(self, provider: System.IFormatProvider) -> datetime.datetime:
        ...

    def ToType(self, type: typing.Type, provider: System.IFormatProvider) -> System.Object:
        ...


class LoaderOptimization(System.Enum):
    """This class has no documentation."""

    DisallowBindings = 4

    DomainMask = 3

    MultiDomain = 2

    MultiDomainHost = 3

    NotSpecified = 0

    SingleDomain = 1


class MulticastNotSupportedException(System.SystemException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, inner: System.Exception) -> None:
        ...


class Version(System.Object, System.ICloneable, System.IComparable[System_Version], System.IEquatable[System_Version], System.ISpanFormattable):
    """This class has no documentation."""

    @property
    def Major(self) -> int:
        ...

    @property
    def Minor(self) -> int:
        ...

    @property
    def Build(self) -> int:
        ...

    @property
    def Revision(self) -> int:
        ...

    @property
    def MajorRevision(self) -> int:
        ...

    @property
    def MinorRevision(self) -> int:
        ...

    @typing.overload
    def __init__(self, major: int, minor: int, build: int, revision: int) -> None:
        ...

    @typing.overload
    def __init__(self, major: int, minor: int, build: int) -> None:
        ...

    @typing.overload
    def __init__(self, major: int, minor: int) -> None:
        ...

    @typing.overload
    def __init__(self, version: str) -> None:
        ...

    @typing.overload
    def __init__(self) -> None:
        ...

    def Clone(self) -> System.Object:
        ...

    @typing.overload
    def CompareTo(self, version: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, value: System.Version) -> int:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, obj: System.Version) -> bool:
        ...

    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, fieldCount: int) -> str:
        ...

    @typing.overload
    def TryFormat(self, destination: System.Span[str], charsWritten: int) -> bool:
        ...

    @typing.overload
    def TryFormat(self, destination: System.Span[str], fieldCount: int, charsWritten: int) -> bool:
        ...

    @typing.overload
    def TryFormat(self, destination: System.Span[str], charsWritten: int, format: System.ReadOnlySpan[str], provider: System.IFormatProvider) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Parse(input: str) -> System.Version:
        ...

    @staticmethod
    @typing.overload
    def Parse(input: System.ReadOnlySpan[str]) -> System.Version:
        ...

    @staticmethod
    @typing.overload
    def TryParse(input: str, result: System.Version) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(input: System.ReadOnlySpan[str], result: System.Version) -> bool:
        ...


class PlatformID(System.Enum):
    """This class has no documentation."""

    Win32S = 0

    Win32Windows = 1

    Win32NT = 2

    WinCE = 3

    Unix = 4

    Xbox = 5

    MacOSX = 6

    Other = 7


class OperatingSystem(System.Object, System.Runtime.Serialization.ISerializable, System.ICloneable):
    """This class has no documentation."""

    @property
    def Platform(self) -> int:
        """This property contains the int value of a member of the System.PlatformID enum."""
        ...

    @property
    def ServicePack(self) -> str:
        ...

    @property
    def Version(self) -> System.Version:
        ...

    @property
    def VersionString(self) -> str:
        ...

    def __init__(self, platform: System.PlatformID, version: System.Version) -> None:
        ...

    def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        ...

    def Clone(self) -> System.Object:
        ...

    def ToString(self) -> str:
        ...

    @staticmethod
    def IsOSPlatform(platform: str) -> bool:
        """
        Indicates whether the current application is running on the specified platform.
        
        :param platform: Case-insensitive platform name. Examples: Browser, Linux, FreeBSD, Android, iOS, macOS, tvOS, watchOS, Windows.
        """
        ...

    @staticmethod
    def IsOSPlatformVersionAtLeast(platform: str, major: int, minor: int = 0, build: int = 0, revision: int = 0) -> bool:
        """
        Check for the OS with a >= version comparison. Used to guard APIs that were added in the given OS release.
        
        :param platform: Case-insensitive platform name. Examples: Browser, Linux, FreeBSD, Android, iOS, macOS, tvOS, watchOS, Windows.
        :param major: Major OS version number.
        :param minor: Minor OS version number (optional).
        :param build: Build OS version number (optional).
        :param revision: Revision OS version number (optional).
        """
        ...

    @staticmethod
    def IsBrowser() -> bool:
        """Indicates whether the current application is running as WASM in a Browser."""
        ...

    @staticmethod
    def IsLinux() -> bool:
        ...

    @staticmethod
    def IsFreeBSD() -> bool:
        ...

    @staticmethod
    def IsFreeBSDVersionAtLeast(major: int, minor: int = 0, build: int = 0, revision: int = 0) -> bool:
        ...

    @staticmethod
    def IsAndroid() -> bool:
        """Indicates whether the current application is running on Android."""
        ...

    @staticmethod
    def IsAndroidVersionAtLeast(major: int, minor: int = 0, build: int = 0, revision: int = 0) -> bool:
        ...

    @staticmethod
    def IsIOS() -> bool:
        """Indicates whether the current application is running on iOS."""
        ...

    @staticmethod
    def IsIOSVersionAtLeast(major: int, minor: int = 0, build: int = 0) -> bool:
        ...

    @staticmethod
    def IsMacOS() -> bool:
        """Indicates whether the current application is running on macOS."""
        ...

    @staticmethod
    def IsMacOSVersionAtLeast(major: int, minor: int = 0, build: int = 0) -> bool:
        ...

    @staticmethod
    def IsTvOS() -> bool:
        """Indicates whether the current application is running on tvOS."""
        ...

    @staticmethod
    def IsTvOSVersionAtLeast(major: int, minor: int = 0, build: int = 0) -> bool:
        ...

    @staticmethod
    def IsWatchOS() -> bool:
        """Indicates whether the current application is running on watchOS."""
        ...

    @staticmethod
    def IsWatchOSVersionAtLeast(major: int, minor: int = 0, build: int = 0) -> bool:
        ...

    @staticmethod
    def IsWindows() -> bool:
        """Indicates whether the current application is running on Windows."""
        ...

    @staticmethod
    def IsWindowsVersionAtLeast(major: int, minor: int = 0, build: int = 0, revision: int = 0) -> bool:
        ...


class EnvironmentVariableTarget(System.Enum):
    """This class has no documentation."""

    Process = 0

    User = 1

    Machine = 2


class Environment(System.Object):
    """This class has no documentation."""

    class SpecialFolder(System.Enum):
        """This class has no documentation."""

        ApplicationData = ...

        CommonApplicationData = ...

        LocalApplicationData = ...

        Cookies = ...

        Desktop = ...

        Favorites = ...

        History = ...

        InternetCache = ...

        Programs = ...

        MyComputer = ...

        MyMusic = ...

        MyPictures = ...

        MyVideos = ...

        Recent = ...

        SendTo = ...

        StartMenu = ...

        Startup = ...

        System = ...

        Templates = ...

        DesktopDirectory = ...

        Personal = ...

        MyDocuments = ...

        ProgramFiles = ...

        CommonProgramFiles = ...

        AdminTools = ...

        CDBurning = ...

        CommonAdminTools = ...

        CommonDocuments = ...

        CommonMusic = ...

        CommonOemLinks = ...

        CommonPictures = ...

        CommonStartMenu = ...

        CommonPrograms = ...

        CommonStartup = ...

        CommonDesktopDirectory = ...

        CommonTemplates = ...

        CommonVideos = ...

        Fonts = ...

        NetworkShortcuts = ...

        PrinterShortcuts = ...

        UserProfile = ...

        CommonProgramFilesX86 = ...

        ProgramFilesX86 = ...

        Resources = ...

        LocalizedResources = ...

        SystemX86 = ...

        Windows = ...

    class SpecialFolderOption(System.Enum):
        """This class has no documentation."""

        # Cannot convert to Python: None = 0

        Create = ...

        DoNotVerify = ...

    WorkingSet: int

    NewLineConst: str = "\\r\\n"

    SystemPageSize: int

    MachineName: str

    SystemDirectory: str

    UserInteractive: bool

    UserName: str

    NewLineConst: str = "\\n"

    UserDomainName: str

    IsWindows8OrAbove: bool

    ProcessorCount: int

    IsSingleProcessor: bool
    """Gets whether the current machine has only a single processor."""

    HasShutdownStarted: bool

    CommandLine: str

    CurrentDirectory: str

    ProcessId: int
    """Gets the unique identifier for the current process."""

    ProcessPath: str
    """Returns the path of the executable that started the currently executing process. Returns null when the path is not available."""

    Is64BitProcess: bool

    Is64BitOperatingSystem: bool

    NewLine: str

    OSVersion: System.OperatingSystem

    Version: System.Version

    CurrentManagedThreadId: int

    ExitCode: int

    StackTrace: str

    TickCount: int

    TickCount64: int

    @staticmethod
    @typing.overload
    def GetEnvironmentVariables() -> System.Collections.IDictionary:
        ...

    @staticmethod
    @typing.overload
    def GetLogicalDrives() -> typing.List[str]:
        ...

    @staticmethod
    @typing.overload
    def GetLogicalDrives() -> typing.List[str]:
        ...

    @staticmethod
    @typing.overload
    def GetLogicalDrives() -> typing.List[str]:
        ...

    @staticmethod
    @typing.overload
    def GetEnvironmentVariable(variable: str) -> str:
        ...

    @staticmethod
    @typing.overload
    def GetEnvironmentVariable(variable: str, target: System.EnvironmentVariableTarget) -> str:
        ...

    @staticmethod
    @typing.overload
    def GetEnvironmentVariables(target: System.EnvironmentVariableTarget) -> System.Collections.IDictionary:
        ...

    @staticmethod
    @typing.overload
    def SetEnvironmentVariable(variable: str, value: str) -> None:
        ...

    @staticmethod
    @typing.overload
    def SetEnvironmentVariable(variable: str, value: str, target: System.EnvironmentVariableTarget) -> None:
        ...

    @staticmethod
    def ExpandEnvironmentVariables(name: str) -> str:
        ...

    @staticmethod
    @typing.overload
    def GetFolderPath(folder: System.Environment.SpecialFolder) -> str:
        ...

    @staticmethod
    @typing.overload
    def GetFolderPath(folder: System.Environment.SpecialFolder, option: System.Environment.SpecialFolderOption) -> str:
        ...

    @staticmethod
    @typing.overload
    def GetEnvironmentVariables() -> System.Collections.IDictionary:
        ...

    @staticmethod
    def Exit(exitCode: int) -> None:
        ...

    @staticmethod
    def GetCommandLineArgs() -> typing.List[str]:
        ...

    @staticmethod
    @typing.overload
    def FailFast(message: str) -> None:
        ...

    @staticmethod
    @typing.overload
    def FailFast(message: str, exception: System.Exception) -> None:
        ...

    @staticmethod
    @typing.overload
    def FailFast(message: str, exception: System.Exception, errorSource: str) -> None:
        ...


class AppContext(System.Object):
    """This class has no documentation."""

    BaseDirectory: str

    TargetFrameworkName: str

    UnhandledException: typing.List[System_UnhandledExceptionEventHandler]

    FirstChanceException: typing.List[System_EventHandler]

    ProcessExit: typing.List[System_EventHandler]

    @staticmethod
    def GetData(name: str) -> System.Object:
        ...

    @staticmethod
    def SetData(name: str, data: typing.Any) -> None:
        ...

    @staticmethod
    def TryGetSwitch(switchName: str, isEnabled: bool) -> bool:
        """
        Try to get the value of the switch.
        
        :param switchName: The name of the switch
        :param isEnabled: A variable where to place the value of the switch
        :returns: A return value of true represents that the switch was set and  contains the value of the switch.
        """
        ...

    @staticmethod
    def SetSwitch(switchName: str, isEnabled: bool) -> None:
        """
        Assign a switch a value
        
        :param switchName: The name of the switch
        :param isEnabled: The value to assign
        """
        ...


class DateTimeOffset(System.IComparable[System_DateTimeOffset], System.IFormattable, System.IEquatable[System_DateTimeOffset], System.Runtime.Serialization.ISerializable, System.Runtime.Serialization.IDeserializationCallback, System.ISpanFormattable):
    """This class has no documentation."""

    MaxOffset: int = ...

    MinOffset: int = ...

    UnixMinSeconds: int = ...

    UnixMaxSeconds: int = ...

    MinValue: System.DateTimeOffset = ...

    MaxValue: System.DateTimeOffset = ...

    UnixEpoch: System.DateTimeOffset = ...

    Now: System.DateTimeOffset

    UtcNow: System.DateTimeOffset

    @property
    def DateTime(self) -> datetime.datetime:
        ...

    @property
    def UtcDateTime(self) -> datetime.datetime:
        ...

    @property
    def LocalDateTime(self) -> datetime.datetime:
        ...

    @property
    def Date(self) -> datetime.datetime:
        ...

    @property
    def Day(self) -> int:
        ...

    @property
    def DayOfWeek(self) -> int:
        """This property contains the int value of a member of the System.DayOfWeek enum."""
        ...

    @property
    def DayOfYear(self) -> int:
        ...

    @property
    def Hour(self) -> int:
        ...

    @property
    def Millisecond(self) -> int:
        ...

    @property
    def Minute(self) -> int:
        ...

    @property
    def Month(self) -> int:
        ...

    @property
    def Offset(self) -> datetime.timedelta:
        ...

    @property
    def Second(self) -> int:
        ...

    @property
    def Ticks(self) -> int:
        ...

    @property
    def UtcTicks(self) -> int:
        ...

    @property
    def TimeOfDay(self) -> datetime.timedelta:
        ...

    @property
    def Year(self) -> int:
        ...

    @typing.overload
    def __init__(self, ticks: int, offset: datetime.timedelta) -> None:
        ...

    @typing.overload
    def __init__(self, dateTime: datetime.datetime) -> None:
        ...

    @typing.overload
    def __init__(self, dateTime: datetime.datetime, offset: datetime.timedelta) -> None:
        ...

    @typing.overload
    def __init__(self, year: int, month: int, day: int, hour: int, minute: int, second: int, offset: datetime.timedelta) -> None:
        ...

    @typing.overload
    def __init__(self, year: int, month: int, day: int, hour: int, minute: int, second: int, millisecond: int, offset: datetime.timedelta) -> None:
        ...

    @typing.overload
    def __init__(self, year: int, month: int, day: int, hour: int, minute: int, second: int, millisecond: int, calendar: System.Globalization.Calendar, offset: datetime.timedelta) -> None:
        ...

    def ToOffset(self, offset: datetime.timedelta) -> System.DateTimeOffset:
        ...

    def Add(self, timeSpan: datetime.timedelta) -> System.DateTimeOffset:
        ...

    def AddDays(self, days: float) -> System.DateTimeOffset:
        ...

    def AddHours(self, hours: float) -> System.DateTimeOffset:
        ...

    def AddMilliseconds(self, milliseconds: float) -> System.DateTimeOffset:
        ...

    def AddMinutes(self, minutes: float) -> System.DateTimeOffset:
        ...

    def AddMonths(self, months: int) -> System.DateTimeOffset:
        ...

    def AddSeconds(self, seconds: float) -> System.DateTimeOffset:
        ...

    def AddTicks(self, ticks: int) -> System.DateTimeOffset:
        ...

    def AddYears(self, years: int) -> System.DateTimeOffset:
        ...

    @staticmethod
    def Compare(first: System.DateTimeOffset, second: System.DateTimeOffset) -> int:
        ...

    @typing.overload
    def CompareTo(self, obj: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, other: System.DateTimeOffset) -> int:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, other: System.DateTimeOffset) -> bool:
        ...

    def EqualsExact(self, other: System.DateTimeOffset) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Equals(first: System.DateTimeOffset, second: System.DateTimeOffset) -> bool:
        ...

    @staticmethod
    def FromFileTime(fileTime: int) -> System.DateTimeOffset:
        ...

    @staticmethod
    def FromUnixTimeSeconds(seconds: int) -> System.DateTimeOffset:
        ...

    @staticmethod
    def FromUnixTimeMilliseconds(milliseconds: int) -> System.DateTimeOffset:
        ...

    def OnDeserialization(self, sender: typing.Any) -> None:
        ...

    def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        ...

    def GetHashCode(self) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(input: str) -> System.DateTimeOffset:
        ...

    @staticmethod
    @typing.overload
    def Parse(input: str, formatProvider: System.IFormatProvider) -> System.DateTimeOffset:
        ...

    @staticmethod
    @typing.overload
    def Parse(input: str, formatProvider: System.IFormatProvider, styles: System.Globalization.DateTimeStyles) -> System.DateTimeOffset:
        ...

    @staticmethod
    @typing.overload
    def Parse(input: System.ReadOnlySpan[str], formatProvider: System.IFormatProvider = None, styles: System.Globalization.DateTimeStyles = ...) -> System.DateTimeOffset:
        ...

    @staticmethod
    @typing.overload
    def ParseExact(input: str, format: str, formatProvider: System.IFormatProvider) -> System.DateTimeOffset:
        ...

    @staticmethod
    @typing.overload
    def ParseExact(input: str, format: str, formatProvider: System.IFormatProvider, styles: System.Globalization.DateTimeStyles) -> System.DateTimeOffset:
        ...

    @staticmethod
    @typing.overload
    def ParseExact(input: System.ReadOnlySpan[str], format: System.ReadOnlySpan[str], formatProvider: System.IFormatProvider, styles: System.Globalization.DateTimeStyles = ...) -> System.DateTimeOffset:
        ...

    @staticmethod
    @typing.overload
    def ParseExact(input: str, formats: typing.List[str], formatProvider: System.IFormatProvider, styles: System.Globalization.DateTimeStyles) -> System.DateTimeOffset:
        ...

    @staticmethod
    @typing.overload
    def ParseExact(input: System.ReadOnlySpan[str], formats: typing.List[str], formatProvider: System.IFormatProvider, styles: System.Globalization.DateTimeStyles = ...) -> System.DateTimeOffset:
        ...

    @typing.overload
    def Subtract(self, value: System.DateTimeOffset) -> datetime.timedelta:
        ...

    @typing.overload
    def Subtract(self, value: datetime.timedelta) -> System.DateTimeOffset:
        ...

    def ToFileTime(self) -> int:
        ...

    def ToUnixTimeSeconds(self) -> int:
        ...

    def ToUnixTimeMilliseconds(self) -> int:
        ...

    def ToLocalTime(self) -> System.DateTimeOffset:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, format: str) -> str:
        ...

    @typing.overload
    def ToString(self, formatProvider: System.IFormatProvider) -> str:
        ...

    @typing.overload
    def ToString(self, format: str, formatProvider: System.IFormatProvider) -> str:
        ...

    def TryFormat(self, destination: System.Span[str], charsWritten: int, format: System.ReadOnlySpan[str] = ..., formatProvider: System.IFormatProvider = None) -> bool:
        ...

    def ToUniversalTime(self) -> System.DateTimeOffset:
        ...

    @staticmethod
    @typing.overload
    def TryParse(input: str, result: System.DateTimeOffset) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(input: System.ReadOnlySpan[str], result: System.DateTimeOffset) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(input: str, formatProvider: System.IFormatProvider, styles: System.Globalization.DateTimeStyles, result: System.DateTimeOffset) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(input: System.ReadOnlySpan[str], formatProvider: System.IFormatProvider, styles: System.Globalization.DateTimeStyles, result: System.DateTimeOffset) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParseExact(input: str, format: str, formatProvider: System.IFormatProvider, styles: System.Globalization.DateTimeStyles, result: System.DateTimeOffset) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParseExact(input: System.ReadOnlySpan[str], format: System.ReadOnlySpan[str], formatProvider: System.IFormatProvider, styles: System.Globalization.DateTimeStyles, result: System.DateTimeOffset) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParseExact(input: str, formats: typing.List[str], formatProvider: System.IFormatProvider, styles: System.Globalization.DateTimeStyles, result: System.DateTimeOffset) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParseExact(input: System.ReadOnlySpan[str], formats: typing.List[str], formatProvider: System.IFormatProvider, styles: System.Globalization.DateTimeStyles, result: System.DateTimeOffset) -> bool:
        ...


class DayOfWeek(System.Enum):
    """This class has no documentation."""

    Sunday = 0

    Monday = 1

    Tuesday = 2

    Wednesday = 3

    Thursday = 4

    Friday = 5

    Saturday = 6


class TimeZoneInfo(System.Object, System.IEquatable[System_TimeZoneInfo], System.Runtime.Serialization.ISerializable, System.Runtime.Serialization.IDeserializationCallback):
    """This class has no documentation."""

    class TransitionTime(System.IEquatable[System_TimeZoneInfo_TransitionTime], System.Runtime.Serialization.ISerializable, System.Runtime.Serialization.IDeserializationCallback):
        """This class has no documentation."""

        @property
        def TimeOfDay(self) -> datetime.datetime:
            ...

        @property
        def Month(self) -> int:
            ...

        @property
        def Week(self) -> int:
            ...

        @property
        def Day(self) -> int:
            ...

        @property
        def DayOfWeek(self) -> int:
            """This property contains the int value of a member of the System.DayOfWeek enum."""
            ...

        @property
        def IsFixedDateRule(self) -> bool:
            ...

        @typing.overload
        def Equals(self, obj: typing.Any) -> bool:
            ...

        @typing.overload
        def Equals(self, other: System.TimeZoneInfo.TransitionTime) -> bool:
            ...

        def GetHashCode(self) -> int:
            ...

        @staticmethod
        def CreateFixedDateRule(timeOfDay: datetime.datetime, month: int, day: int) -> System.TimeZoneInfo.TransitionTime:
            ...

        @staticmethod
        def CreateFloatingDateRule(timeOfDay: datetime.datetime, month: int, week: int, dayOfWeek: System.DayOfWeek) -> System.TimeZoneInfo.TransitionTime:
            ...

        def OnDeserialization(self, sender: typing.Any) -> None:
            ...

        def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
            ...

    class AdjustmentRule(System.Object, System.IEquatable[System_TimeZoneInfo_AdjustmentRule], System.Runtime.Serialization.ISerializable, System.Runtime.Serialization.IDeserializationCallback):
        """This class has no documentation."""

        @property
        def DateStart(self) -> datetime.datetime:
            ...

        @property
        def DateEnd(self) -> datetime.datetime:
            ...

        @property
        def DaylightDelta(self) -> datetime.timedelta:
            ...

        @property
        def DaylightTransitionStart(self) -> System.TimeZoneInfo.TransitionTime:
            ...

        @property
        def DaylightTransitionEnd(self) -> System.TimeZoneInfo.TransitionTime:
            ...

        @property
        def BaseUtcOffsetDelta(self) -> datetime.timedelta:
            ...

        @property
        def NoDaylightTransitions(self) -> bool:
            """
            Gets a value indicating that this AdjustmentRule fixes the time zone offset
            from DateStart to DateEnd without any daylight transitions in between.
            """
            ...

        @property
        def HasDaylightSaving(self) -> bool:
            ...

        def Equals(self, other: System.TimeZoneInfo.AdjustmentRule) -> bool:
            ...

        def GetHashCode(self) -> int:
            ...

        @staticmethod
        def CreateAdjustmentRule(dateStart: datetime.datetime, dateEnd: datetime.datetime, daylightDelta: datetime.timedelta, daylightTransitionStart: System.TimeZoneInfo.TransitionTime, daylightTransitionEnd: System.TimeZoneInfo.TransitionTime) -> System.TimeZoneInfo.AdjustmentRule:
            ...

        def OnDeserialization(self, sender: typing.Any) -> None:
            ...

        def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
            ...

    @property
    def Id(self) -> str:
        ...

    @property
    def DisplayName(self) -> str:
        ...

    @property
    def StandardName(self) -> str:
        ...

    @property
    def DaylightName(self) -> str:
        ...

    @property
    def BaseUtcOffset(self) -> datetime.timedelta:
        ...

    @property
    def SupportsDaylightSavingTime(self) -> bool:
        ...

    Local: System.TimeZoneInfo
    """
    Returns a TimeZoneInfo instance that represents the local time on the machine.
    Accessing this property may throw InvalidTimeZoneException or COMException
    if the machine is in an unstable or corrupt state.
    """

    Utc: System.TimeZoneInfo
    """Returns a TimeZoneInfo instance that represents Universal Coordinated Time (UTC)"""

    @typing.overload
    def GetAdjustmentRules(self) -> typing.List[System.TimeZoneInfo.AdjustmentRule]:
        """Returns a cloned array of AdjustmentRule objects"""
        ...

    @staticmethod
    @typing.overload
    def FindSystemTimeZoneById(id: str) -> System.TimeZoneInfo:
        """
        Helper function for retrieving a TimeZoneInfo object by time_zone_name.
        This function wraps the logic necessary to keep the private
        SystemTimeZones cache in working order
        
        This function will either return a valid TimeZoneInfo instance or
        it will throw 'InvalidTimeZoneException' / 'TimeZoneNotFoundException'.
        """
        ...

    @typing.overload
    def GetAdjustmentRules(self) -> typing.List[System.TimeZoneInfo.AdjustmentRule]:
        """Returns a cloned array of AdjustmentRule objects"""
        ...

    @staticmethod
    @typing.overload
    def FindSystemTimeZoneById(id: str) -> System.TimeZoneInfo:
        """
        Helper function for retrieving a TimeZoneInfo object by time_zone_name.
        This function wraps the logic necessary to keep the private
        SystemTimeZones cache in working order
        
        This function will either return a valid TimeZoneInfo instance or
        it will throw 'InvalidTimeZoneException' / 'TimeZoneNotFoundException'.
        """
        ...

    @typing.overload
    def GetAmbiguousTimeOffsets(self, dateTimeOffset: System.DateTimeOffset) -> typing.List[datetime.timedelta]:
        """
        Returns an array of TimeSpan objects representing all of
        possible UTC offset values for this ambiguous time.
        """
        ...

    @typing.overload
    def GetAmbiguousTimeOffsets(self, dateTime: datetime.datetime) -> typing.List[datetime.timedelta]:
        """
        Returns an array of TimeSpan objects representing all of
        possible UTC offset values for this ambiguous time.
        """
        ...

    @typing.overload
    def GetUtcOffset(self, dateTimeOffset: System.DateTimeOffset) -> datetime.timedelta:
        """Returns the Universal Coordinated Time (UTC) Offset for the current TimeZoneInfo instance."""
        ...

    @typing.overload
    def GetUtcOffset(self, dateTime: datetime.datetime) -> datetime.timedelta:
        """Returns the Universal Coordinated Time (UTC) Offset for the current TimeZoneInfo instance."""
        ...

    @typing.overload
    def IsAmbiguousTime(self, dateTimeOffset: System.DateTimeOffset) -> bool:
        """
        Returns true if the time is during the ambiguous time period
        for the current TimeZoneInfo instance.
        """
        ...

    @typing.overload
    def IsAmbiguousTime(self, dateTime: datetime.datetime) -> bool:
        """
        Returns true if the time is during the ambiguous time period
        for the current TimeZoneInfo instance.
        """
        ...

    @typing.overload
    def IsDaylightSavingTime(self, dateTimeOffset: System.DateTimeOffset) -> bool:
        """Returns true if the time is during Daylight Saving time for the current TimeZoneInfo instance."""
        ...

    @typing.overload
    def IsDaylightSavingTime(self, dateTime: datetime.datetime) -> bool:
        """Returns true if the time is during Daylight Saving time for the current TimeZoneInfo instance."""
        ...

    def IsInvalidTime(self, dateTime: datetime.datetime) -> bool:
        """Returns true when dateTime falls into a "hole in time"."""
        ...

    @staticmethod
    def ClearCachedData() -> None:
        """Clears data from static members."""
        ...

    @staticmethod
    @typing.overload
    def ConvertTimeBySystemTimeZoneId(dateTimeOffset: System.DateTimeOffset, destinationTimeZoneId: str) -> System.DateTimeOffset:
        """Converts the value of a DateTime object from sourceTimeZone to destinationTimeZone."""
        ...

    @staticmethod
    @typing.overload
    def ConvertTimeBySystemTimeZoneId(dateTime: datetime.datetime, destinationTimeZoneId: str) -> datetime.datetime:
        """Converts the value of a DateTime object from sourceTimeZone to destinationTimeZone."""
        ...

    @staticmethod
    @typing.overload
    def ConvertTimeBySystemTimeZoneId(dateTime: datetime.datetime, sourceTimeZoneId: str, destinationTimeZoneId: str) -> datetime.datetime:
        """Converts the value of a DateTime object from sourceTimeZone to destinationTimeZone."""
        ...

    @staticmethod
    @typing.overload
    def ConvertTime(dateTimeOffset: System.DateTimeOffset, destinationTimeZone: System.TimeZoneInfo) -> System.DateTimeOffset:
        """Converts the value of the dateTime object from sourceTimeZone to destinationTimeZone"""
        ...

    @staticmethod
    @typing.overload
    def ConvertTime(dateTime: datetime.datetime, destinationTimeZone: System.TimeZoneInfo) -> datetime.datetime:
        """Converts the value of the dateTime object from sourceTimeZone to destinationTimeZone"""
        ...

    @staticmethod
    @typing.overload
    def ConvertTime(dateTime: datetime.datetime, sourceTimeZone: System.TimeZoneInfo, destinationTimeZone: System.TimeZoneInfo) -> datetime.datetime:
        """Converts the value of the dateTime object from sourceTimeZone to destinationTimeZone"""
        ...

    @staticmethod
    def ConvertTimeFromUtc(dateTime: datetime.datetime, destinationTimeZone: System.TimeZoneInfo) -> datetime.datetime:
        """Converts the value of a DateTime object from Coordinated Universal Time (UTC) to the destinationTimeZone."""
        ...

    @staticmethod
    @typing.overload
    def ConvertTimeToUtc(dateTime: datetime.datetime) -> datetime.datetime:
        """Converts the value of a DateTime object to Coordinated Universal Time (UTC)."""
        ...

    @staticmethod
    @typing.overload
    def ConvertTimeToUtc(dateTime: datetime.datetime, sourceTimeZone: System.TimeZoneInfo) -> datetime.datetime:
        """Converts the value of a DateTime object to Coordinated Universal Time (UTC)."""
        ...

    @typing.overload
    def Equals(self, other: System.TimeZoneInfo) -> bool:
        """
        Returns value equality. Equals does not compare any localizable
        String objects (DisplayName, StandardName, DaylightName).
        """
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @staticmethod
    def FromSerializedString(source: str) -> System.TimeZoneInfo:
        ...

    def GetHashCode(self) -> int:
        ...

    @staticmethod
    def GetSystemTimeZones() -> System.Collections.ObjectModel.ReadOnlyCollection[System.TimeZoneInfo]:
        """
        Returns a ReadOnlyCollection{TimeZoneInfo} containing all valid TimeZone's
        from the local machine. The entries in the collection are sorted by
        DisplayName.
        This method does *not* throw TimeZoneNotFoundException or InvalidTimeZoneException.
        """
        ...

    def HasSameRules(self, other: System.TimeZoneInfo) -> bool:
        """Value equality on the "adjustmentRules" array"""
        ...

    def ToSerializedString(self) -> str:
        ...

    def ToString(self) -> str:
        """Returns the DisplayName: "(GMT-08:00) Pacific Time (US & Canada); Tijuana\""""
        ...

    @staticmethod
    @typing.overload
    def CreateCustomTimeZone(id: str, baseUtcOffset: datetime.timedelta, displayName: str, standardDisplayName: str) -> System.TimeZoneInfo:
        """Returns a simple TimeZoneInfo instance that does not support Daylight Saving Time."""
        ...

    @staticmethod
    @typing.overload
    def CreateCustomTimeZone(id: str, baseUtcOffset: datetime.timedelta, displayName: str, standardDisplayName: str, daylightDisplayName: str, adjustmentRules: typing.List[System.TimeZoneInfo.AdjustmentRule]) -> System.TimeZoneInfo:
        """Returns a TimeZoneInfo instance that may support Daylight Saving Time."""
        ...

    @staticmethod
    @typing.overload
    def CreateCustomTimeZone(id: str, baseUtcOffset: datetime.timedelta, displayName: str, standardDisplayName: str, daylightDisplayName: str, adjustmentRules: typing.List[System.TimeZoneInfo.AdjustmentRule], disableDaylightSavingTime: bool) -> System.TimeZoneInfo:
        """Returns a TimeZoneInfo instance that may support Daylight Saving Time."""
        ...

    def OnDeserialization(self, sender: typing.Any) -> None:
        ...

    def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        ...


class UInt64(System.IComparable[int], System.IConvertible, System.IFormattable, System.IEquatable[int], System.ISpanFormattable):
    """This class has no documentation."""

    MaxValue: int = ...

    MinValue: int = ...

    @typing.overload
    def CompareTo(self, value: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, value: int) -> int:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, obj: int) -> bool:
        ...

    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, provider: System.IFormatProvider) -> str:
        ...

    @typing.overload
    def ToString(self, format: str) -> str:
        ...

    @typing.overload
    def ToString(self, format: str, provider: System.IFormatProvider) -> str:
        ...

    def TryFormat(self, destination: System.Span[str], charsWritten: int, format: System.ReadOnlySpan[str] = ..., provider: System.IFormatProvider = None) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles = ..., provider: System.IFormatProvider = None) -> int:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, result: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], result: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: int) -> bool:
        ...

    def GetTypeCode(self) -> int:
        """:returns: This method returns the int value of a member of the System.TypeCode enum."""
        ...

    def ToBoolean(self, provider: System.IFormatProvider) -> bool:
        ...

    def ToChar(self, provider: System.IFormatProvider) -> str:
        ...

    def ToSByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToSingle(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDouble(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDecimal(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDateTime(self, provider: System.IFormatProvider) -> datetime.datetime:
        ...

    def ToType(self, type: typing.Type, provider: System.IFormatProvider) -> System.Object:
        ...


class Tuple(typing.Generic[System_Tuple_T1, System_Tuple_T2, System_Tuple_T3, System_Tuple_T4, System_Tuple_T5, System_Tuple_T6, System_Tuple_T7, System_Tuple_TRest], System.Object, System.Collections.IStructuralEquatable, System.Collections.IStructuralComparable, System.IComparable, System.ITupleInternal, System.Runtime.CompilerServices.ITuple):
    """This class has no documentation."""

    @property
    def Item1(self) -> System_Tuple_T1:
        ...

    @property
    def Length(self) -> int:
        """The number of positions in this data structure."""
        ...

    @property
    def Item2(self) -> System_Tuple_T2:
        ...

    @property
    def Item3(self) -> System_Tuple_T3:
        ...

    @property
    def Item4(self) -> System_Tuple_T4:
        ...

    @property
    def Item5(self) -> System_Tuple_T5:
        ...

    @property
    def Item6(self) -> System_Tuple_T6:
        ...

    @property
    def Item7(self) -> System_Tuple_T7:
        ...

    @property
    def Rest(self) -> System_Tuple_TRest:
        ...

    @staticmethod
    @typing.overload
    def Create(item1: System_Tuple_Create_T1) -> System.Tuple[System_Tuple_Create_T1]:
        ...

    @staticmethod
    @typing.overload
    def Create(item1: System_Tuple_Create_T1, item2: System_Tuple_Create_T2) -> System.Tuple[System_Tuple_Create_T1, System_Tuple_Create_T2]:
        ...

    @staticmethod
    @typing.overload
    def Create(item1: System_Tuple_Create_T1, item2: System_Tuple_Create_T2, item3: System_Tuple_Create_T3) -> System.Tuple[System_Tuple_Create_T1, System_Tuple_Create_T2, System_Tuple_Create_T3]:
        ...

    @staticmethod
    @typing.overload
    def Create(item1: System_Tuple_Create_T1, item2: System_Tuple_Create_T2, item3: System_Tuple_Create_T3, item4: System_Tuple_Create_T4) -> System.Tuple[System_Tuple_Create_T1, System_Tuple_Create_T2, System_Tuple_Create_T3, System_Tuple_Create_T4]:
        ...

    @staticmethod
    @typing.overload
    def Create(item1: System_Tuple_Create_T1, item2: System_Tuple_Create_T2, item3: System_Tuple_Create_T3, item4: System_Tuple_Create_T4, item5: System_Tuple_Create_T5) -> System.Tuple[System_Tuple_Create_T1, System_Tuple_Create_T2, System_Tuple_Create_T3, System_Tuple_Create_T4, System_Tuple_Create_T5]:
        ...

    @staticmethod
    @typing.overload
    def Create(item1: System_Tuple_Create_T1, item2: System_Tuple_Create_T2, item3: System_Tuple_Create_T3, item4: System_Tuple_Create_T4, item5: System_Tuple_Create_T5, item6: System_Tuple_Create_T6) -> System.Tuple[System_Tuple_Create_T1, System_Tuple_Create_T2, System_Tuple_Create_T3, System_Tuple_Create_T4, System_Tuple_Create_T5, System_Tuple_Create_T6]:
        ...

    @staticmethod
    @typing.overload
    def Create(item1: System_Tuple_Create_T1, item2: System_Tuple_Create_T2, item3: System_Tuple_Create_T3, item4: System_Tuple_Create_T4, item5: System_Tuple_Create_T5, item6: System_Tuple_Create_T6, item7: System_Tuple_Create_T7) -> System.Tuple[System_Tuple_Create_T1, System_Tuple_Create_T2, System_Tuple_Create_T3, System_Tuple_Create_T4, System_Tuple_Create_T5, System_Tuple_Create_T6, System_Tuple_Create_T7]:
        ...

    @staticmethod
    @typing.overload
    def Create(item1: System_Tuple_Create_T1, item2: System_Tuple_Create_T2, item3: System_Tuple_Create_T3, item4: System_Tuple_Create_T4, item5: System_Tuple_Create_T5, item6: System_Tuple_Create_T6, item7: System_Tuple_Create_T7, item8: System_Tuple_Create_T8) -> System.Tuple[System_Tuple_Create_T1, System_Tuple_Create_T2, System_Tuple_Create_T3, System_Tuple_Create_T4, System_Tuple_Create_T5, System_Tuple_Create_T6, System_Tuple_Create_T7, System.Tuple[System_Tuple_Create_T8]]:
        ...

    @typing.overload
    def __init__(self, item1: System_Tuple_T1) -> None:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, other: typing.Any, comparer: System.Collections.IEqualityComparer) -> bool:
        ...

    @typing.overload
    def CompareTo(self, obj: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any, comparer: System.Collections.IComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, sb: System.Text.StringBuilder) -> str:
        ...

    @typing.overload
    def __getitem__(self, index: int) -> System.Object:
        """Get the element at position ."""
        ...

    @typing.overload
    def __init__(self, item1: System_Tuple_T1, item2: System_Tuple_T2) -> None:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, other: typing.Any, comparer: System.Collections.IEqualityComparer) -> bool:
        ...

    @typing.overload
    def CompareTo(self, obj: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any, comparer: System.Collections.IComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, sb: System.Text.StringBuilder) -> str:
        ...

    @typing.overload
    def __getitem__(self, index: int) -> System.Object:
        """Get the element at position ."""
        ...

    @typing.overload
    def __init__(self, item1: System_Tuple_T1, item2: System_Tuple_T2, item3: System_Tuple_T3) -> None:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, other: typing.Any, comparer: System.Collections.IEqualityComparer) -> bool:
        ...

    @typing.overload
    def CompareTo(self, obj: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any, comparer: System.Collections.IComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, sb: System.Text.StringBuilder) -> str:
        ...

    @typing.overload
    def __getitem__(self, index: int) -> System.Object:
        """Get the element at position ."""
        ...

    @typing.overload
    def __init__(self, item1: System_Tuple_T1, item2: System_Tuple_T2, item3: System_Tuple_T3, item4: System_Tuple_T4) -> None:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, other: typing.Any, comparer: System.Collections.IEqualityComparer) -> bool:
        ...

    @typing.overload
    def CompareTo(self, obj: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any, comparer: System.Collections.IComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, sb: System.Text.StringBuilder) -> str:
        ...

    @typing.overload
    def __getitem__(self, index: int) -> System.Object:
        """Get the element at position ."""
        ...

    @typing.overload
    def __init__(self, item1: System_Tuple_T1, item2: System_Tuple_T2, item3: System_Tuple_T3, item4: System_Tuple_T4, item5: System_Tuple_T5) -> None:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, other: typing.Any, comparer: System.Collections.IEqualityComparer) -> bool:
        ...

    @typing.overload
    def CompareTo(self, obj: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any, comparer: System.Collections.IComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, sb: System.Text.StringBuilder) -> str:
        ...

    @typing.overload
    def __getitem__(self, index: int) -> System.Object:
        """Get the element at position ."""
        ...

    @typing.overload
    def __init__(self, item1: System_Tuple_T1, item2: System_Tuple_T2, item3: System_Tuple_T3, item4: System_Tuple_T4, item5: System_Tuple_T5, item6: System_Tuple_T6) -> None:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, other: typing.Any, comparer: System.Collections.IEqualityComparer) -> bool:
        ...

    @typing.overload
    def CompareTo(self, obj: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any, comparer: System.Collections.IComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, sb: System.Text.StringBuilder) -> str:
        ...

    @typing.overload
    def __getitem__(self, index: int) -> System.Object:
        """Get the element at position ."""
        ...

    @typing.overload
    def __init__(self, item1: System_Tuple_T1, item2: System_Tuple_T2, item3: System_Tuple_T3, item4: System_Tuple_T4, item5: System_Tuple_T5, item6: System_Tuple_T6, item7: System_Tuple_T7) -> None:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, other: typing.Any, comparer: System.Collections.IEqualityComparer) -> bool:
        ...

    @typing.overload
    def CompareTo(self, obj: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any, comparer: System.Collections.IComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, sb: System.Text.StringBuilder) -> str:
        ...

    @typing.overload
    def __getitem__(self, index: int) -> System.Object:
        """Get the element at position ."""
        ...

    @typing.overload
    def __init__(self, item1: System_Tuple_T1, item2: System_Tuple_T2, item3: System_Tuple_T3, item4: System_Tuple_T4, item5: System_Tuple_T5, item6: System_Tuple_T6, item7: System_Tuple_T7, rest: System_Tuple_TRest) -> None:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, other: typing.Any, comparer: System.Collections.IEqualityComparer) -> bool:
        ...

    @typing.overload
    def CompareTo(self, obj: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any, comparer: System.Collections.IComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, sb: System.Text.StringBuilder) -> str:
        ...

    @typing.overload
    def __getitem__(self, index: int) -> System.Object:
        """Get the element at position ."""
        ...


class ValueTuple(typing.Generic[System_ValueTuple_T1, System_ValueTuple_T2, System_ValueTuple_T3, System_ValueTuple_T4, System_ValueTuple_T5, System_ValueTuple_T6, System_ValueTuple_T7, System_ValueTuple_TRest], System.IEquatable[System_ValueTuple], System.Collections.IStructuralEquatable, System.Collections.IStructuralComparable, System.IComparable[System_ValueTuple], System.IValueTupleInternal, System.Runtime.CompilerServices.ITuple):
    """Represents an 8-tuple, or octuple, as a value type."""

    @property
    def Length(self) -> int:
        """The number of positions in this data structure."""
        ...

    @property
    def Item1(self) -> System_ValueTuple_T1:
        """The current ValueTuple{T1} instance's first component."""
        ...

    @Item1.setter
    def Item1(self, value: System_ValueTuple_T1):
        """The current ValueTuple{T1} instance's first component."""
        ...

    @property
    def Item1(self) -> System_ValueTuple_T1:
        """The current ValueTuple{T1, T2} instance's first component."""
        ...

    @Item1.setter
    def Item1(self, value: System_ValueTuple_T1):
        """The current ValueTuple{T1, T2} instance's first component."""
        ...

    @property
    def Item2(self) -> System_ValueTuple_T2:
        """The current ValueTuple{T1, T2} instance's second component."""
        ...

    @Item2.setter
    def Item2(self, value: System_ValueTuple_T2):
        """The current ValueTuple{T1, T2} instance's second component."""
        ...

    @property
    def Item1(self) -> System_ValueTuple_T1:
        """The current ValueTuple{T1, T2, T3} instance's first component."""
        ...

    @Item1.setter
    def Item1(self, value: System_ValueTuple_T1):
        """The current ValueTuple{T1, T2, T3} instance's first component."""
        ...

    @property
    def Item2(self) -> System_ValueTuple_T2:
        """The current ValueTuple{T1, T2, T3} instance's second component."""
        ...

    @Item2.setter
    def Item2(self, value: System_ValueTuple_T2):
        """The current ValueTuple{T1, T2, T3} instance's second component."""
        ...

    @property
    def Item3(self) -> System_ValueTuple_T3:
        """The current ValueTuple{T1, T2, T3} instance's third component."""
        ...

    @Item3.setter
    def Item3(self, value: System_ValueTuple_T3):
        """The current ValueTuple{T1, T2, T3} instance's third component."""
        ...

    @property
    def Item1(self) -> System_ValueTuple_T1:
        """The current ValueTuple{T1, T2, T3, T4} instance's first component."""
        ...

    @Item1.setter
    def Item1(self, value: System_ValueTuple_T1):
        """The current ValueTuple{T1, T2, T3, T4} instance's first component."""
        ...

    @property
    def Item2(self) -> System_ValueTuple_T2:
        """The current ValueTuple{T1, T2, T3, T4} instance's second component."""
        ...

    @Item2.setter
    def Item2(self, value: System_ValueTuple_T2):
        """The current ValueTuple{T1, T2, T3, T4} instance's second component."""
        ...

    @property
    def Item3(self) -> System_ValueTuple_T3:
        """The current ValueTuple{T1, T2, T3, T4} instance's third component."""
        ...

    @Item3.setter
    def Item3(self, value: System_ValueTuple_T3):
        """The current ValueTuple{T1, T2, T3, T4} instance's third component."""
        ...

    @property
    def Item4(self) -> System_ValueTuple_T4:
        """The current ValueTuple{T1, T2, T3, T4} instance's fourth component."""
        ...

    @Item4.setter
    def Item4(self, value: System_ValueTuple_T4):
        """The current ValueTuple{T1, T2, T3, T4} instance's fourth component."""
        ...

    @property
    def Item1(self) -> System_ValueTuple_T1:
        """The current ValueTuple{T1, T2, T3, T4, T5} instance's first component."""
        ...

    @Item1.setter
    def Item1(self, value: System_ValueTuple_T1):
        """The current ValueTuple{T1, T2, T3, T4, T5} instance's first component."""
        ...

    @property
    def Item2(self) -> System_ValueTuple_T2:
        """The current ValueTuple{T1, T2, T3, T4, T5} instance's second component."""
        ...

    @Item2.setter
    def Item2(self, value: System_ValueTuple_T2):
        """The current ValueTuple{T1, T2, T3, T4, T5} instance's second component."""
        ...

    @property
    def Item3(self) -> System_ValueTuple_T3:
        """The current ValueTuple{T1, T2, T3, T4, T5} instance's third component."""
        ...

    @Item3.setter
    def Item3(self, value: System_ValueTuple_T3):
        """The current ValueTuple{T1, T2, T3, T4, T5} instance's third component."""
        ...

    @property
    def Item4(self) -> System_ValueTuple_T4:
        """The current ValueTuple{T1, T2, T3, T4, T5} instance's fourth component."""
        ...

    @Item4.setter
    def Item4(self, value: System_ValueTuple_T4):
        """The current ValueTuple{T1, T2, T3, T4, T5} instance's fourth component."""
        ...

    @property
    def Item5(self) -> System_ValueTuple_T5:
        """The current ValueTuple{T1, T2, T3, T4, T5} instance's fifth component."""
        ...

    @Item5.setter
    def Item5(self, value: System_ValueTuple_T5):
        """The current ValueTuple{T1, T2, T3, T4, T5} instance's fifth component."""
        ...

    @property
    def Item1(self) -> System_ValueTuple_T1:
        """The current ValueTuple{T1, T2, T3, T4, T5, T6} instance's first component."""
        ...

    @Item1.setter
    def Item1(self, value: System_ValueTuple_T1):
        """The current ValueTuple{T1, T2, T3, T4, T5, T6} instance's first component."""
        ...

    @property
    def Item2(self) -> System_ValueTuple_T2:
        """The current ValueTuple{T1, T2, T3, T4, T5, T6} instance's second component."""
        ...

    @Item2.setter
    def Item2(self, value: System_ValueTuple_T2):
        """The current ValueTuple{T1, T2, T3, T4, T5, T6} instance's second component."""
        ...

    @property
    def Item3(self) -> System_ValueTuple_T3:
        """The current ValueTuple{T1, T2, T3, T4, T5, T6} instance's third component."""
        ...

    @Item3.setter
    def Item3(self, value: System_ValueTuple_T3):
        """The current ValueTuple{T1, T2, T3, T4, T5, T6} instance's third component."""
        ...

    @property
    def Item4(self) -> System_ValueTuple_T4:
        """The current ValueTuple{T1, T2, T3, T4, T5, T6} instance's fourth component."""
        ...

    @Item4.setter
    def Item4(self, value: System_ValueTuple_T4):
        """The current ValueTuple{T1, T2, T3, T4, T5, T6} instance's fourth component."""
        ...

    @property
    def Item5(self) -> System_ValueTuple_T5:
        """The current ValueTuple{T1, T2, T3, T4, T5, T6} instance's fifth component."""
        ...

    @Item5.setter
    def Item5(self, value: System_ValueTuple_T5):
        """The current ValueTuple{T1, T2, T3, T4, T5, T6} instance's fifth component."""
        ...

    @property
    def Item6(self) -> System_ValueTuple_T6:
        """The current ValueTuple{T1, T2, T3, T4, T5, T6} instance's sixth component."""
        ...

    @Item6.setter
    def Item6(self, value: System_ValueTuple_T6):
        """The current ValueTuple{T1, T2, T3, T4, T5, T6} instance's sixth component."""
        ...

    @property
    def Item1(self) -> System_ValueTuple_T1:
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7} instance's first component."""
        ...

    @Item1.setter
    def Item1(self, value: System_ValueTuple_T1):
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7} instance's first component."""
        ...

    @property
    def Item2(self) -> System_ValueTuple_T2:
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7} instance's second component."""
        ...

    @Item2.setter
    def Item2(self, value: System_ValueTuple_T2):
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7} instance's second component."""
        ...

    @property
    def Item3(self) -> System_ValueTuple_T3:
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7} instance's third component."""
        ...

    @Item3.setter
    def Item3(self, value: System_ValueTuple_T3):
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7} instance's third component."""
        ...

    @property
    def Item4(self) -> System_ValueTuple_T4:
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7} instance's fourth component."""
        ...

    @Item4.setter
    def Item4(self, value: System_ValueTuple_T4):
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7} instance's fourth component."""
        ...

    @property
    def Item5(self) -> System_ValueTuple_T5:
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7} instance's fifth component."""
        ...

    @Item5.setter
    def Item5(self, value: System_ValueTuple_T5):
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7} instance's fifth component."""
        ...

    @property
    def Item6(self) -> System_ValueTuple_T6:
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7} instance's sixth component."""
        ...

    @Item6.setter
    def Item6(self, value: System_ValueTuple_T6):
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7} instance's sixth component."""
        ...

    @property
    def Item7(self) -> System_ValueTuple_T7:
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7} instance's seventh component."""
        ...

    @Item7.setter
    def Item7(self, value: System_ValueTuple_T7):
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7} instance's seventh component."""
        ...

    @property
    def Item1(self) -> System_ValueTuple_T1:
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7, TRest} instance's first component."""
        ...

    @Item1.setter
    def Item1(self, value: System_ValueTuple_T1):
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7, TRest} instance's first component."""
        ...

    @property
    def Item2(self) -> System_ValueTuple_T2:
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7, TRest} instance's second component."""
        ...

    @Item2.setter
    def Item2(self, value: System_ValueTuple_T2):
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7, TRest} instance's second component."""
        ...

    @property
    def Item3(self) -> System_ValueTuple_T3:
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7, TRest} instance's third component."""
        ...

    @Item3.setter
    def Item3(self, value: System_ValueTuple_T3):
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7, TRest} instance's third component."""
        ...

    @property
    def Item4(self) -> System_ValueTuple_T4:
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7, TRest} instance's fourth component."""
        ...

    @Item4.setter
    def Item4(self, value: System_ValueTuple_T4):
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7, TRest} instance's fourth component."""
        ...

    @property
    def Item5(self) -> System_ValueTuple_T5:
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7, TRest} instance's fifth component."""
        ...

    @Item5.setter
    def Item5(self, value: System_ValueTuple_T5):
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7, TRest} instance's fifth component."""
        ...

    @property
    def Item6(self) -> System_ValueTuple_T6:
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7, TRest} instance's sixth component."""
        ...

    @Item6.setter
    def Item6(self, value: System_ValueTuple_T6):
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7, TRest} instance's sixth component."""
        ...

    @property
    def Item7(self) -> System_ValueTuple_T7:
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7, TRest} instance's seventh component."""
        ...

    @Item7.setter
    def Item7(self, value: System_ValueTuple_T7):
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7, TRest} instance's seventh component."""
        ...

    @property
    def Rest(self) -> System_ValueTuple_TRest:
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7, TRest} instance's eighth component."""
        ...

    @Rest.setter
    def Rest(self, value: System_ValueTuple_TRest):
        """The current ValueTuple{T1, T2, T3, T4, T5, T6, T7, TRest} instance's eighth component."""
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        """
        Returns a value that indicates whether the current ValueTuple instance is equal to a specified object.
        
        :param obj: The object to compare with this instance.
        :returns: true if  is a ValueTuple.
        """
        ...

    @typing.overload
    def Equals(self, other: System.ValueTuple) -> bool:
        """
        Returns a value indicating whether this instance is equal to a specified value.
        
        :param other: An instance to compare to this instance.
        :returns: true if  has the same value as this instance; otherwise, false.
        """
        ...

    @typing.overload
    def Equals(self, other: typing.Any, comparer: System.Collections.IEqualityComparer) -> bool:
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, other: System.ValueTuple) -> int:
        """
        Compares this instance to a specified instance and returns an indication of their relative values.
        
        :param other: An instance to compare.
        :returns: A signed number indicating the relative values of this instance and . Returns less than zero if this instance is less than , zero if this instance is equal to , and greater than zero if this instance is greater than .
        """
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any, comparer: System.Collections.IComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self) -> int:
        """
        Returns the hash code for this instance.
        
        :returns: A 32-bit signed integer hash code.
        """
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        """
        Returns a string that represents the value of this ValueTuple instance.
        
        :returns: The string representation of this ValueTuple instance.
        """
        ...

    @typing.overload
    def ToStringEnd(self) -> str:
        ...

    @typing.overload
    def __getitem__(self, index: int) -> System.Object:
        """Get the element at position ."""
        ...

    @staticmethod
    @typing.overload
    def Create() -> System.ValueTuple:
        """
        Creates a new struct 0-tuple.
        
        :returns: A 0-tuple.
        """
        ...

    @staticmethod
    @typing.overload
    def Create(item1: System_ValueTuple_Create_T1) -> System.ValueTuple[System_ValueTuple_Create_T1]:
        """
        Creates a new struct 1-tuple, or singleton.
        
        :param item1: The value of the first component of the tuple.
        :returns: A 1-tuple (singleton) whose value is (item1).
        """
        ...

    @staticmethod
    @typing.overload
    def Create(item1: System_ValueTuple_Create_T1, item2: System_ValueTuple_Create_T2) -> System.ValueTuple[System_ValueTuple_Create_T1, System_ValueTuple_Create_T2]:
        """
        Creates a new struct 2-tuple, or pair.
        
        :param item1: The value of the first component of the tuple.
        :param item2: The value of the second component of the tuple.
        :returns: A 2-tuple (pair) whose value is (item1, item2).
        """
        ...

    @staticmethod
    @typing.overload
    def Create(item1: System_ValueTuple_Create_T1, item2: System_ValueTuple_Create_T2, item3: System_ValueTuple_Create_T3) -> System.ValueTuple[System_ValueTuple_Create_T1, System_ValueTuple_Create_T2, System_ValueTuple_Create_T3]:
        """
        Creates a new struct 3-tuple, or triple.
        
        :param item1: The value of the first component of the tuple.
        :param item2: The value of the second component of the tuple.
        :param item3: The value of the third component of the tuple.
        :returns: A 3-tuple (triple) whose value is (item1, item2, item3).
        """
        ...

    @staticmethod
    @typing.overload
    def Create(item1: System_ValueTuple_Create_T1, item2: System_ValueTuple_Create_T2, item3: System_ValueTuple_Create_T3, item4: System_ValueTuple_Create_T4) -> System.ValueTuple[System_ValueTuple_Create_T1, System_ValueTuple_Create_T2, System_ValueTuple_Create_T3, System_ValueTuple_Create_T4]:
        """
        Creates a new struct 4-tuple, or quadruple.
        
        :param item1: The value of the first component of the tuple.
        :param item2: The value of the second component of the tuple.
        :param item3: The value of the third component of the tuple.
        :param item4: The value of the fourth component of the tuple.
        :returns: A 4-tuple (quadruple) whose value is (item1, item2, item3, item4).
        """
        ...

    @staticmethod
    @typing.overload
    def Create(item1: System_ValueTuple_Create_T1, item2: System_ValueTuple_Create_T2, item3: System_ValueTuple_Create_T3, item4: System_ValueTuple_Create_T4, item5: System_ValueTuple_Create_T5) -> System.ValueTuple[System_ValueTuple_Create_T1, System_ValueTuple_Create_T2, System_ValueTuple_Create_T3, System_ValueTuple_Create_T4, System_ValueTuple_Create_T5]:
        """
        Creates a new struct 5-tuple, or quintuple.
        
        :param item1: The value of the first component of the tuple.
        :param item2: The value of the second component of the tuple.
        :param item3: The value of the third component of the tuple.
        :param item4: The value of the fourth component of the tuple.
        :param item5: The value of the fifth component of the tuple.
        :returns: A 5-tuple (quintuple) whose value is (item1, item2, item3, item4, item5).
        """
        ...

    @staticmethod
    @typing.overload
    def Create(item1: System_ValueTuple_Create_T1, item2: System_ValueTuple_Create_T2, item3: System_ValueTuple_Create_T3, item4: System_ValueTuple_Create_T4, item5: System_ValueTuple_Create_T5, item6: System_ValueTuple_Create_T6) -> System.ValueTuple[System_ValueTuple_Create_T1, System_ValueTuple_Create_T2, System_ValueTuple_Create_T3, System_ValueTuple_Create_T4, System_ValueTuple_Create_T5, System_ValueTuple_Create_T6]:
        """
        Creates a new struct 6-tuple, or sextuple.
        
        :param item1: The value of the first component of the tuple.
        :param item2: The value of the second component of the tuple.
        :param item3: The value of the third component of the tuple.
        :param item4: The value of the fourth component of the tuple.
        :param item5: The value of the fifth component of the tuple.
        :param item6: The value of the sixth component of the tuple.
        :returns: A 6-tuple (sextuple) whose value is (item1, item2, item3, item4, item5, item6).
        """
        ...

    @staticmethod
    @typing.overload
    def Create(item1: System_ValueTuple_Create_T1, item2: System_ValueTuple_Create_T2, item3: System_ValueTuple_Create_T3, item4: System_ValueTuple_Create_T4, item5: System_ValueTuple_Create_T5, item6: System_ValueTuple_Create_T6, item7: System_ValueTuple_Create_T7) -> System.ValueTuple[System_ValueTuple_Create_T1, System_ValueTuple_Create_T2, System_ValueTuple_Create_T3, System_ValueTuple_Create_T4, System_ValueTuple_Create_T5, System_ValueTuple_Create_T6, System_ValueTuple_Create_T7]:
        """
        Creates a new struct 7-tuple, or septuple.
        
        :param item1: The value of the first component of the tuple.
        :param item2: The value of the second component of the tuple.
        :param item3: The value of the third component of the tuple.
        :param item4: The value of the fourth component of the tuple.
        :param item5: The value of the fifth component of the tuple.
        :param item6: The value of the sixth component of the tuple.
        :param item7: The value of the seventh component of the tuple.
        :returns: A 7-tuple (septuple) whose value is (item1, item2, item3, item4, item5, item6, item7).
        """
        ...

    @staticmethod
    @typing.overload
    def Create(item1: System_ValueTuple_Create_T1, item2: System_ValueTuple_Create_T2, item3: System_ValueTuple_Create_T3, item4: System_ValueTuple_Create_T4, item5: System_ValueTuple_Create_T5, item6: System_ValueTuple_Create_T6, item7: System_ValueTuple_Create_T7, item8: System_ValueTuple_Create_T8) -> System.ValueTuple[System_ValueTuple_Create_T1, System_ValueTuple_Create_T2, System_ValueTuple_Create_T3, System_ValueTuple_Create_T4, System_ValueTuple_Create_T5, System_ValueTuple_Create_T6, System_ValueTuple_Create_T7, System.ValueTuple[System_ValueTuple_Create_T8]]:
        """
        Creates a new struct 8-tuple, or octuple.
        
        :param item1: The value of the first component of the tuple.
        :param item2: The value of the second component of the tuple.
        :param item3: The value of the third component of the tuple.
        :param item4: The value of the fourth component of the tuple.
        :param item5: The value of the fifth component of the tuple.
        :param item6: The value of the sixth component of the tuple.
        :param item7: The value of the seventh component of the tuple.
        :param item8: The value of the eighth component of the tuple.
        :returns: An 8-tuple (octuple) whose value is (item1, item2, item3, item4, item5, item6, item7, item8).
        """
        ...

    @typing.overload
    def __init__(self, item1: System_ValueTuple_T1) -> None:
        """
        Initializes a new instance of the ValueTuple{T1} value type.
        
        :param item1: The value of the tuple's first component.
        """
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        """
        Returns a value that indicates whether the current ValueTuple{T1} instance is equal to a specified object.
        
        :param obj: The object to compare with this instance.
        :returns: true if the current instance is equal to the specified object; otherwise, false.
        """
        ...

    @typing.overload
    def Equals(self, other: System.ValueTuple[System_ValueTuple_T1]) -> bool:
        """
        Returns a value that indicates whether the current ValueTuple{T1}
        instance is equal to a specified ValueTuple{T1}.
        
        :param other: The tuple to compare with this instance.
        :returns: true if the current instance is equal to the specified tuple; otherwise, false.
        """
        ...

    @typing.overload
    def Equals(self, other: typing.Any, comparer: System.Collections.IEqualityComparer) -> bool:
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, other: System.ValueTuple[System_ValueTuple_T1]) -> int:
        """
        Compares this instance to a specified instance and returns an indication of their relative values.
        
        :param other: An instance to compare.
        :returns: A signed number indicating the relative values of this instance and . Returns less than zero if this instance is less than , zero if this instance is equal to , and greater than zero if this instance is greater than .
        """
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any, comparer: System.Collections.IComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self) -> int:
        """
        Returns the hash code for the current ValueTuple{T1} instance.
        
        :returns: A 32-bit signed integer hash code.
        """
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        """
        Returns a string that represents the value of this ValueTuple{T1} instance.
        
        :returns: The string representation of this ValueTuple{T1} instance.
        """
        ...

    @typing.overload
    def ToStringEnd(self) -> str:
        ...

    @typing.overload
    def __getitem__(self, index: int) -> System.Object:
        """Get the element at position ."""
        ...

    @typing.overload
    def __init__(self, item1: System_ValueTuple_T1, item2: System_ValueTuple_T2) -> None:
        """
        Initializes a new instance of the ValueTuple{T1, T2} value type.
        
        :param item1: The value of the tuple's first component.
        :param item2: The value of the tuple's second component.
        """
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        """
        Returns a value that indicates whether the current ValueTuple{T1, T2} instance is equal to a specified object.
        
        :param obj: The object to compare with this instance.
        :returns: true if the current instance is equal to the specified object; otherwise, false.
        """
        ...

    @typing.overload
    def Equals(self, other: System.ValueTuple[System_ValueTuple_T1, System_ValueTuple_T2]) -> bool:
        """
        Returns a value that indicates whether the current ValueTuple{T1, T2} instance is equal to a specified ValueTuple{T1, T2}.
        
        :param other: The tuple to compare with this instance.
        :returns: true if the current instance is equal to the specified tuple; otherwise, false.
        """
        ...

    @typing.overload
    def Equals(self, other: typing.Any, comparer: System.Collections.IEqualityComparer) -> bool:
        """
        Returns a value that indicates whether the current ValueTuple{T1, T2} instance is equal to a specified object based on a specified comparison method.
        
        :param other: The object to compare with this instance.
        :param comparer: An object that defines the method to use to evaluate whether the two objects are equal.
        :returns: true if the current instance is equal to the specified object; otherwise, false.
        """
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, other: System.ValueTuple[System_ValueTuple_T1, System_ValueTuple_T2]) -> int:
        """
        Compares this instance to a specified instance and returns an indication of their relative values.
        
        :param other: An instance to compare.
        :returns: A signed number indicating the relative values of this instance and . Returns less than zero if this instance is less than , zero if this instance is equal to , and greater than zero if this instance is greater than .
        """
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any, comparer: System.Collections.IComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self) -> int:
        """
        Returns the hash code for the current ValueTuple{T1, T2} instance.
        
        :returns: A 32-bit signed integer hash code.
        """
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        """
        Returns a string that represents the value of this ValueTuple{T1, T2} instance.
        
        :returns: The string representation of this ValueTuple{T1, T2} instance.
        """
        ...

    @typing.overload
    def ToStringEnd(self) -> str:
        ...

    @typing.overload
    def __getitem__(self, index: int) -> System.Object:
        """Get the element at position ."""
        ...

    @typing.overload
    def __init__(self, item1: System_ValueTuple_T1, item2: System_ValueTuple_T2, item3: System_ValueTuple_T3) -> None:
        """
        Initializes a new instance of the ValueTuple{T1, T2, T3} value type.
        
        :param item1: The value of the tuple's first component.
        :param item2: The value of the tuple's second component.
        :param item3: The value of the tuple's third component.
        """
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        """
        Returns a value that indicates whether the current ValueTuple{T1, T2, T3} instance is equal to a specified object.
        
        :param obj: The object to compare with this instance.
        :returns: true if the current instance is equal to the specified object; otherwise, false.
        """
        ...

    @typing.overload
    def Equals(self, other: System.ValueTuple[System_ValueTuple_T1, System_ValueTuple_T2, System_ValueTuple_T3]) -> bool:
        """
        Returns a value that indicates whether the current ValueTuple{T1, T2, T3}
        instance is equal to a specified ValueTuple{T1, T2, T3}.
        
        :param other: The tuple to compare with this instance.
        :returns: true if the current instance is equal to the specified tuple; otherwise, false.
        """
        ...

    @typing.overload
    def Equals(self, other: typing.Any, comparer: System.Collections.IEqualityComparer) -> bool:
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, other: System.ValueTuple[System_ValueTuple_T1, System_ValueTuple_T2, System_ValueTuple_T3]) -> int:
        """
        Compares this instance to a specified instance and returns an indication of their relative values.
        
        :param other: An instance to compare.
        :returns: A signed number indicating the relative values of this instance and . Returns less than zero if this instance is less than , zero if this instance is equal to , and greater than zero if this instance is greater than .
        """
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any, comparer: System.Collections.IComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self) -> int:
        """
        Returns the hash code for the current ValueTuple{T1, T2, T3} instance.
        
        :returns: A 32-bit signed integer hash code.
        """
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        """
        Returns a string that represents the value of this ValueTuple{T1, T2, T3} instance.
        
        :returns: The string representation of this ValueTuple{T1, T2, T3} instance.
        """
        ...

    @typing.overload
    def ToStringEnd(self) -> str:
        ...

    @typing.overload
    def __getitem__(self, index: int) -> System.Object:
        """Get the element at position ."""
        ...

    @typing.overload
    def __init__(self, item1: System_ValueTuple_T1, item2: System_ValueTuple_T2, item3: System_ValueTuple_T3, item4: System_ValueTuple_T4) -> None:
        """
        Initializes a new instance of the ValueTuple{T1, T2, T3, T4} value type.
        
        :param item1: The value of the tuple's first component.
        :param item2: The value of the tuple's second component.
        :param item3: The value of the tuple's third component.
        :param item4: The value of the tuple's fourth component.
        """
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        """
        Returns a value that indicates whether the current ValueTuple{T1, T2, T3, T4} instance is equal to a specified object.
        
        :param obj: The object to compare with this instance.
        :returns: true if the current instance is equal to the specified object; otherwise, false.
        """
        ...

    @typing.overload
    def Equals(self, other: System.ValueTuple[System_ValueTuple_T1, System_ValueTuple_T2, System_ValueTuple_T3, System_ValueTuple_T4]) -> bool:
        """
        Returns a value that indicates whether the current ValueTuple{T1, T2, T3, T4}
        instance is equal to a specified ValueTuple{T1, T2, T3, T4}.
        
        :param other: The tuple to compare with this instance.
        :returns: true if the current instance is equal to the specified tuple; otherwise, false.
        """
        ...

    @typing.overload
    def Equals(self, other: typing.Any, comparer: System.Collections.IEqualityComparer) -> bool:
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, other: System.ValueTuple[System_ValueTuple_T1, System_ValueTuple_T2, System_ValueTuple_T3, System_ValueTuple_T4]) -> int:
        """
        Compares this instance to a specified instance and returns an indication of their relative values.
        
        :param other: An instance to compare.
        :returns: A signed number indicating the relative values of this instance and . Returns less than zero if this instance is less than , zero if this instance is equal to , and greater than zero if this instance is greater than .
        """
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any, comparer: System.Collections.IComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self) -> int:
        """
        Returns the hash code for the current ValueTuple{T1, T2, T3, T4} instance.
        
        :returns: A 32-bit signed integer hash code.
        """
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        """
        Returns a string that represents the value of this ValueTuple{T1, T2, T3, T4} instance.
        
        :returns: The string representation of this ValueTuple{T1, T2, T3, T4} instance.
        """
        ...

    @typing.overload
    def ToStringEnd(self) -> str:
        ...

    @typing.overload
    def __getitem__(self, index: int) -> System.Object:
        """Get the element at position ."""
        ...

    @typing.overload
    def __init__(self, item1: System_ValueTuple_T1, item2: System_ValueTuple_T2, item3: System_ValueTuple_T3, item4: System_ValueTuple_T4, item5: System_ValueTuple_T5) -> None:
        """
        Initializes a new instance of the ValueTuple{T1, T2, T3, T4, T5} value type.
        
        :param item1: The value of the tuple's first component.
        :param item2: The value of the tuple's second component.
        :param item3: The value of the tuple's third component.
        :param item4: The value of the tuple's fourth component.
        :param item5: The value of the tuple's fifth component.
        """
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        """
        Returns a value that indicates whether the current ValueTuple{T1, T2, T3, T4, T5} instance is equal to a specified object.
        
        :param obj: The object to compare with this instance.
        :returns: true if the current instance is equal to the specified object; otherwise, false.
        """
        ...

    @typing.overload
    def Equals(self, other: System.ValueTuple[System_ValueTuple_T1, System_ValueTuple_T2, System_ValueTuple_T3, System_ValueTuple_T4, System_ValueTuple_T5]) -> bool:
        """
        Returns a value that indicates whether the current ValueTuple{T1, T2, T3, T4, T5}
        instance is equal to a specified ValueTuple{T1, T2, T3, T4, T5}.
        
        :param other: The tuple to compare with this instance.
        :returns: true if the current instance is equal to the specified tuple; otherwise, false.
        """
        ...

    @typing.overload
    def Equals(self, other: typing.Any, comparer: System.Collections.IEqualityComparer) -> bool:
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, other: System.ValueTuple[System_ValueTuple_T1, System_ValueTuple_T2, System_ValueTuple_T3, System_ValueTuple_T4, System_ValueTuple_T5]) -> int:
        """
        Compares this instance to a specified instance and returns an indication of their relative values.
        
        :param other: An instance to compare.
        :returns: A signed number indicating the relative values of this instance and . Returns less than zero if this instance is less than , zero if this instance is equal to , and greater than zero if this instance is greater than .
        """
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any, comparer: System.Collections.IComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self) -> int:
        """
        Returns the hash code for the current ValueTuple{T1, T2, T3, T4, T5} instance.
        
        :returns: A 32-bit signed integer hash code.
        """
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        """
        Returns a string that represents the value of this ValueTuple{T1, T2, T3, T4, T5} instance.
        
        :returns: The string representation of this ValueTuple{T1, T2, T3, T4, T5} instance.
        """
        ...

    @typing.overload
    def ToStringEnd(self) -> str:
        ...

    @typing.overload
    def __getitem__(self, index: int) -> System.Object:
        """Get the element at position ."""
        ...

    @typing.overload
    def __init__(self, item1: System_ValueTuple_T1, item2: System_ValueTuple_T2, item3: System_ValueTuple_T3, item4: System_ValueTuple_T4, item5: System_ValueTuple_T5, item6: System_ValueTuple_T6) -> None:
        """
        Initializes a new instance of the ValueTuple{T1, T2, T3, T4, T5, T6} value type.
        
        :param item1: The value of the tuple's first component.
        :param item2: The value of the tuple's second component.
        :param item3: The value of the tuple's third component.
        :param item4: The value of the tuple's fourth component.
        :param item5: The value of the tuple's fifth component.
        :param item6: The value of the tuple's sixth component.
        """
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        """
        Returns a value that indicates whether the current ValueTuple{T1, T2, T3, T4, T5, T6} instance is equal to a specified object.
        
        :param obj: The object to compare with this instance.
        :returns: true if the current instance is equal to the specified object; otherwise, false.
        """
        ...

    @typing.overload
    def Equals(self, other: System.ValueTuple[System_ValueTuple_T1, System_ValueTuple_T2, System_ValueTuple_T3, System_ValueTuple_T4, System_ValueTuple_T5, System_ValueTuple_T6]) -> bool:
        """
        Returns a value that indicates whether the current ValueTuple{T1, T2, T3, T4, T5, T6}
        instance is equal to a specified ValueTuple{T1, T2, T3, T4, T5, T6}.
        
        :param other: The tuple to compare with this instance.
        :returns: true if the current instance is equal to the specified tuple; otherwise, false.
        """
        ...

    @typing.overload
    def Equals(self, other: typing.Any, comparer: System.Collections.IEqualityComparer) -> bool:
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, other: System.ValueTuple[System_ValueTuple_T1, System_ValueTuple_T2, System_ValueTuple_T3, System_ValueTuple_T4, System_ValueTuple_T5, System_ValueTuple_T6]) -> int:
        """
        Compares this instance to a specified instance and returns an indication of their relative values.
        
        :param other: An instance to compare.
        :returns: A signed number indicating the relative values of this instance and . Returns less than zero if this instance is less than , zero if this instance is equal to , and greater than zero if this instance is greater than .
        """
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any, comparer: System.Collections.IComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self) -> int:
        """
        Returns the hash code for the current ValueTuple{T1, T2, T3, T4, T5, T6} instance.
        
        :returns: A 32-bit signed integer hash code.
        """
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        """
        Returns a string that represents the value of this ValueTuple{T1, T2, T3, T4, T5, T6} instance.
        
        :returns: The string representation of this ValueTuple{T1, T2, T3, T4, T5, T6} instance.
        """
        ...

    @typing.overload
    def ToStringEnd(self) -> str:
        ...

    @typing.overload
    def __getitem__(self, index: int) -> System.Object:
        """Get the element at position ."""
        ...

    @typing.overload
    def __init__(self, item1: System_ValueTuple_T1, item2: System_ValueTuple_T2, item3: System_ValueTuple_T3, item4: System_ValueTuple_T4, item5: System_ValueTuple_T5, item6: System_ValueTuple_T6, item7: System_ValueTuple_T7) -> None:
        """
        Initializes a new instance of the ValueTuple{T1, T2, T3, T4, T5, T6, T7} value type.
        
        :param item1: The value of the tuple's first component.
        :param item2: The value of the tuple's second component.
        :param item3: The value of the tuple's third component.
        :param item4: The value of the tuple's fourth component.
        :param item5: The value of the tuple's fifth component.
        :param item6: The value of the tuple's sixth component.
        :param item7: The value of the tuple's seventh component.
        """
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        """
        Returns a value that indicates whether the current ValueTuple{T1, T2, T3, T4, T5, T6, T7} instance is equal to a specified object.
        
        :param obj: The object to compare with this instance.
        :returns: true if the current instance is equal to the specified object; otherwise, false.
        """
        ...

    @typing.overload
    def Equals(self, other: System.ValueTuple[System_ValueTuple_T1, System_ValueTuple_T2, System_ValueTuple_T3, System_ValueTuple_T4, System_ValueTuple_T5, System_ValueTuple_T6, System_ValueTuple_T7]) -> bool:
        """
        Returns a value that indicates whether the current ValueTuple{T1, T2, T3, T4, T5, T6, T7}
        instance is equal to a specified ValueTuple{T1, T2, T3, T4, T5, T6, T7}.
        
        :param other: The tuple to compare with this instance.
        :returns: true if the current instance is equal to the specified tuple; otherwise, false.
        """
        ...

    @typing.overload
    def Equals(self, other: typing.Any, comparer: System.Collections.IEqualityComparer) -> bool:
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, other: System.ValueTuple[System_ValueTuple_T1, System_ValueTuple_T2, System_ValueTuple_T3, System_ValueTuple_T4, System_ValueTuple_T5, System_ValueTuple_T6, System_ValueTuple_T7]) -> int:
        """
        Compares this instance to a specified instance and returns an indication of their relative values.
        
        :param other: An instance to compare.
        :returns: A signed number indicating the relative values of this instance and . Returns less than zero if this instance is less than , zero if this instance is equal to , and greater than zero if this instance is greater than .
        """
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any, comparer: System.Collections.IComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self) -> int:
        """
        Returns the hash code for the current ValueTuple{T1, T2, T3, T4, T5, T6, T7} instance.
        
        :returns: A 32-bit signed integer hash code.
        """
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        """
        Returns a string that represents the value of this ValueTuple{T1, T2, T3, T4, T5, T6, T7} instance.
        
        :returns: The string representation of this ValueTuple{T1, T2, T3, T4, T5, T6, T7} instance.
        """
        ...

    @typing.overload
    def ToStringEnd(self) -> str:
        ...

    @typing.overload
    def __getitem__(self, index: int) -> System.Object:
        """Get the element at position ."""
        ...

    @typing.overload
    def __init__(self, item1: System_ValueTuple_T1, item2: System_ValueTuple_T2, item3: System_ValueTuple_T3, item4: System_ValueTuple_T4, item5: System_ValueTuple_T5, item6: System_ValueTuple_T6, item7: System_ValueTuple_T7, rest: System_ValueTuple_TRest) -> None:
        """
        Initializes a new instance of the ValueTuple{T1, T2, T3, T4, T5, T6, T7, TRest} value type.
        
        :param item1: The value of the tuple's first component.
        :param item2: The value of the tuple's second component.
        :param item3: The value of the tuple's third component.
        :param item4: The value of the tuple's fourth component.
        :param item5: The value of the tuple's fifth component.
        :param item6: The value of the tuple's sixth component.
        :param item7: The value of the tuple's seventh component.
        :param rest: The value of the tuple's eight component.
        """
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        """
        Returns a value that indicates whether the current ValueTuple{T1, T2, T3, T4, T5, T6, T7, TRest} instance is equal to a specified object.
        
        :param obj: The object to compare with this instance.
        :returns: true if the current instance is equal to the specified object; otherwise, false.
        """
        ...

    @typing.overload
    def Equals(self, other: System.ValueTuple[System_ValueTuple_T1, System_ValueTuple_T2, System_ValueTuple_T3, System_ValueTuple_T4, System_ValueTuple_T5, System_ValueTuple_T6, System_ValueTuple_T7, System_ValueTuple_TRest]) -> bool:
        """
        Returns a value that indicates whether the current ValueTuple{T1, T2, T3, T4, T5, T6, T7, TRest}
        instance is equal to a specified ValueTuple{T1, T2, T3, T4, T5, T6, T7, TRest}.
        
        :param other: The tuple to compare with this instance.
        :returns: true if the current instance is equal to the specified tuple; otherwise, false.
        """
        ...

    @typing.overload
    def Equals(self, other: typing.Any, comparer: System.Collections.IEqualityComparer) -> bool:
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, other: System.ValueTuple[System_ValueTuple_T1, System_ValueTuple_T2, System_ValueTuple_T3, System_ValueTuple_T4, System_ValueTuple_T5, System_ValueTuple_T6, System_ValueTuple_T7, System_ValueTuple_TRest]) -> int:
        """
        Compares this instance to a specified instance and returns an indication of their relative values.
        
        :param other: An instance to compare.
        :returns: A signed number indicating the relative values of this instance and . Returns less than zero if this instance is less than , zero if this instance is equal to , and greater than zero if this instance is greater than .
        """
        ...

    @typing.overload
    def CompareTo(self, other: typing.Any, comparer: System.Collections.IComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self) -> int:
        """
        Returns the hash code for the current ValueTuple{T1, T2, T3, T4, T5, T6, T7, TRest} instance.
        
        :returns: A 32-bit signed integer hash code.
        """
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        """
        Returns a string that represents the value of this ValueTuple{T1, T2, T3, T4, T5, T6, T7, TRest} instance.
        
        :returns: The string representation of this ValueTuple{T1, T2, T3, T4, T5, T6, T7, TRest} instance.
        """
        ...

    @typing.overload
    def ToStringEnd(self) -> str:
        ...

    @typing.overload
    def __getitem__(self, index: int) -> System.Object:
        """Get the element at position ."""
        ...


class TupleExtensions(System.Object):
    """Provides extension methods for Tuple instances to interop with C# tuples features (deconstruction syntax, converting from and to ValueTuple)."""

    @staticmethod
    @typing.overload
    def Deconstruct(value: System.Tuple[System_TupleExtensions_Deconstruct_T1], item1: System_TupleExtensions_Deconstruct_T1) -> None:
        ...

    @staticmethod
    @typing.overload
    def Deconstruct(value: System.Tuple[System_TupleExtensions_Deconstruct_T1, System_TupleExtensions_Deconstruct_T2], item1: System_TupleExtensions_Deconstruct_T1, item2: System_TupleExtensions_Deconstruct_T2) -> None:
        """Deconstruct a properly nested Tuple with 2 elements."""
        ...

    @staticmethod
    @typing.overload
    def Deconstruct(value: System.Tuple[System_TupleExtensions_Deconstruct_T1, System_TupleExtensions_Deconstruct_T2, System_TupleExtensions_Deconstruct_T3], item1: System_TupleExtensions_Deconstruct_T1, item2: System_TupleExtensions_Deconstruct_T2, item3: System_TupleExtensions_Deconstruct_T3) -> None:
        """Deconstruct a properly nested Tuple with 3 elements."""
        ...

    @staticmethod
    @typing.overload
    def Deconstruct(value: System.Tuple[System_TupleExtensions_Deconstruct_T1, System_TupleExtensions_Deconstruct_T2, System_TupleExtensions_Deconstruct_T3, System_TupleExtensions_Deconstruct_T4], item1: System_TupleExtensions_Deconstruct_T1, item2: System_TupleExtensions_Deconstruct_T2, item3: System_TupleExtensions_Deconstruct_T3, item4: System_TupleExtensions_Deconstruct_T4) -> None:
        """Deconstruct a properly nested Tuple with 4 elements."""
        ...

    @staticmethod
    @typing.overload
    def Deconstruct(value: System.Tuple[System_TupleExtensions_Deconstruct_T1, System_TupleExtensions_Deconstruct_T2, System_TupleExtensions_Deconstruct_T3, System_TupleExtensions_Deconstruct_T4, System_TupleExtensions_Deconstruct_T5], item1: System_TupleExtensions_Deconstruct_T1, item2: System_TupleExtensions_Deconstruct_T2, item3: System_TupleExtensions_Deconstruct_T3, item4: System_TupleExtensions_Deconstruct_T4, item5: System_TupleExtensions_Deconstruct_T5) -> None:
        """Deconstruct a properly nested Tuple with 5 elements."""
        ...

    @staticmethod
    @typing.overload
    def Deconstruct(value: System.Tuple[System_TupleExtensions_Deconstruct_T1, System_TupleExtensions_Deconstruct_T2, System_TupleExtensions_Deconstruct_T3, System_TupleExtensions_Deconstruct_T4, System_TupleExtensions_Deconstruct_T5, System_TupleExtensions_Deconstruct_T6], item1: System_TupleExtensions_Deconstruct_T1, item2: System_TupleExtensions_Deconstruct_T2, item3: System_TupleExtensions_Deconstruct_T3, item4: System_TupleExtensions_Deconstruct_T4, item5: System_TupleExtensions_Deconstruct_T5, item6: System_TupleExtensions_Deconstruct_T6) -> None:
        """Deconstruct a properly nested Tuple with 6 elements."""
        ...

    @staticmethod
    @typing.overload
    def Deconstruct(value: System.Tuple[System_TupleExtensions_Deconstruct_T1, System_TupleExtensions_Deconstruct_T2, System_TupleExtensions_Deconstruct_T3, System_TupleExtensions_Deconstruct_T4, System_TupleExtensions_Deconstruct_T5, System_TupleExtensions_Deconstruct_T6, System_TupleExtensions_Deconstruct_T7], item1: System_TupleExtensions_Deconstruct_T1, item2: System_TupleExtensions_Deconstruct_T2, item3: System_TupleExtensions_Deconstruct_T3, item4: System_TupleExtensions_Deconstruct_T4, item5: System_TupleExtensions_Deconstruct_T5, item6: System_TupleExtensions_Deconstruct_T6, item7: System_TupleExtensions_Deconstruct_T7) -> None:
        """Deconstruct a properly nested Tuple with 7 elements."""
        ...

    @staticmethod
    @typing.overload
    def Deconstruct(value: System.Tuple[System_TupleExtensions_Deconstruct_T1, System_TupleExtensions_Deconstruct_T2, System_TupleExtensions_Deconstruct_T3, System_TupleExtensions_Deconstruct_T4, System_TupleExtensions_Deconstruct_T5, System_TupleExtensions_Deconstruct_T6, System_TupleExtensions_Deconstruct_T7, System.Tuple[System_TupleExtensions_Deconstruct_T8]], item1: System_TupleExtensions_Deconstruct_T1, item2: System_TupleExtensions_Deconstruct_T2, item3: System_TupleExtensions_Deconstruct_T3, item4: System_TupleExtensions_Deconstruct_T4, item5: System_TupleExtensions_Deconstruct_T5, item6: System_TupleExtensions_Deconstruct_T6, item7: System_TupleExtensions_Deconstruct_T7, item8: System_TupleExtensions_Deconstruct_T8) -> None:
        """Deconstruct a properly nested Tuple with 8 elements."""
        ...

    @staticmethod
    @typing.overload
    def Deconstruct(value: System.Tuple[System_TupleExtensions_Deconstruct_T1, System_TupleExtensions_Deconstruct_T2, System_TupleExtensions_Deconstruct_T3, System_TupleExtensions_Deconstruct_T4, System_TupleExtensions_Deconstruct_T5, System_TupleExtensions_Deconstruct_T6, System_TupleExtensions_Deconstruct_T7, System.Tuple[System_TupleExtensions_Deconstruct_T8, System_TupleExtensions_Deconstruct_T9]], item1: System_TupleExtensions_Deconstruct_T1, item2: System_TupleExtensions_Deconstruct_T2, item3: System_TupleExtensions_Deconstruct_T3, item4: System_TupleExtensions_Deconstruct_T4, item5: System_TupleExtensions_Deconstruct_T5, item6: System_TupleExtensions_Deconstruct_T6, item7: System_TupleExtensions_Deconstruct_T7, item8: System_TupleExtensions_Deconstruct_T8, item9: System_TupleExtensions_Deconstruct_T9) -> None:
        """Deconstruct a properly nested Tuple with 9 elements."""
        ...

    @staticmethod
    @typing.overload
    def Deconstruct(value: System.Tuple[System_TupleExtensions_Deconstruct_T1, System_TupleExtensions_Deconstruct_T2, System_TupleExtensions_Deconstruct_T3, System_TupleExtensions_Deconstruct_T4, System_TupleExtensions_Deconstruct_T5, System_TupleExtensions_Deconstruct_T6, System_TupleExtensions_Deconstruct_T7, System.Tuple[System_TupleExtensions_Deconstruct_T8, System_TupleExtensions_Deconstruct_T9, System_TupleExtensions_Deconstruct_T10]], item1: System_TupleExtensions_Deconstruct_T1, item2: System_TupleExtensions_Deconstruct_T2, item3: System_TupleExtensions_Deconstruct_T3, item4: System_TupleExtensions_Deconstruct_T4, item5: System_TupleExtensions_Deconstruct_T5, item6: System_TupleExtensions_Deconstruct_T6, item7: System_TupleExtensions_Deconstruct_T7, item8: System_TupleExtensions_Deconstruct_T8, item9: System_TupleExtensions_Deconstruct_T9, item10: System_TupleExtensions_Deconstruct_T10) -> None:
        """Deconstruct a properly nested Tuple with 10 elements."""
        ...

    @staticmethod
    @typing.overload
    def Deconstruct(value: System.Tuple[System_TupleExtensions_Deconstruct_T1, System_TupleExtensions_Deconstruct_T2, System_TupleExtensions_Deconstruct_T3, System_TupleExtensions_Deconstruct_T4, System_TupleExtensions_Deconstruct_T5, System_TupleExtensions_Deconstruct_T6, System_TupleExtensions_Deconstruct_T7, System.Tuple[System_TupleExtensions_Deconstruct_T8, System_TupleExtensions_Deconstruct_T9, System_TupleExtensions_Deconstruct_T10, System_TupleExtensions_Deconstruct_T11]], item1: System_TupleExtensions_Deconstruct_T1, item2: System_TupleExtensions_Deconstruct_T2, item3: System_TupleExtensions_Deconstruct_T3, item4: System_TupleExtensions_Deconstruct_T4, item5: System_TupleExtensions_Deconstruct_T5, item6: System_TupleExtensions_Deconstruct_T6, item7: System_TupleExtensions_Deconstruct_T7, item8: System_TupleExtensions_Deconstruct_T8, item9: System_TupleExtensions_Deconstruct_T9, item10: System_TupleExtensions_Deconstruct_T10, item11: System_TupleExtensions_Deconstruct_T11) -> None:
        """Deconstruct a properly nested Tuple with 11 elements."""
        ...

    @staticmethod
    @typing.overload
    def Deconstruct(value: System.Tuple[System_TupleExtensions_Deconstruct_T1, System_TupleExtensions_Deconstruct_T2, System_TupleExtensions_Deconstruct_T3, System_TupleExtensions_Deconstruct_T4, System_TupleExtensions_Deconstruct_T5, System_TupleExtensions_Deconstruct_T6, System_TupleExtensions_Deconstruct_T7, System.Tuple[System_TupleExtensions_Deconstruct_T8, System_TupleExtensions_Deconstruct_T9, System_TupleExtensions_Deconstruct_T10, System_TupleExtensions_Deconstruct_T11, System_TupleExtensions_Deconstruct_T12]], item1: System_TupleExtensions_Deconstruct_T1, item2: System_TupleExtensions_Deconstruct_T2, item3: System_TupleExtensions_Deconstruct_T3, item4: System_TupleExtensions_Deconstruct_T4, item5: System_TupleExtensions_Deconstruct_T5, item6: System_TupleExtensions_Deconstruct_T6, item7: System_TupleExtensions_Deconstruct_T7, item8: System_TupleExtensions_Deconstruct_T8, item9: System_TupleExtensions_Deconstruct_T9, item10: System_TupleExtensions_Deconstruct_T10, item11: System_TupleExtensions_Deconstruct_T11, item12: System_TupleExtensions_Deconstruct_T12) -> None:
        """Deconstruct a properly nested Tuple with 12 elements."""
        ...

    @staticmethod
    @typing.overload
    def Deconstruct(value: System.Tuple[System_TupleExtensions_Deconstruct_T1, System_TupleExtensions_Deconstruct_T2, System_TupleExtensions_Deconstruct_T3, System_TupleExtensions_Deconstruct_T4, System_TupleExtensions_Deconstruct_T5, System_TupleExtensions_Deconstruct_T6, System_TupleExtensions_Deconstruct_T7, System.Tuple[System_TupleExtensions_Deconstruct_T8, System_TupleExtensions_Deconstruct_T9, System_TupleExtensions_Deconstruct_T10, System_TupleExtensions_Deconstruct_T11, System_TupleExtensions_Deconstruct_T12, System_TupleExtensions_Deconstruct_T13]], item1: System_TupleExtensions_Deconstruct_T1, item2: System_TupleExtensions_Deconstruct_T2, item3: System_TupleExtensions_Deconstruct_T3, item4: System_TupleExtensions_Deconstruct_T4, item5: System_TupleExtensions_Deconstruct_T5, item6: System_TupleExtensions_Deconstruct_T6, item7: System_TupleExtensions_Deconstruct_T7, item8: System_TupleExtensions_Deconstruct_T8, item9: System_TupleExtensions_Deconstruct_T9, item10: System_TupleExtensions_Deconstruct_T10, item11: System_TupleExtensions_Deconstruct_T11, item12: System_TupleExtensions_Deconstruct_T12, item13: System_TupleExtensions_Deconstruct_T13) -> None:
        """Deconstruct a properly nested Tuple with 13 elements."""
        ...

    @staticmethod
    @typing.overload
    def Deconstruct(value: System.Tuple[System_TupleExtensions_Deconstruct_T1, System_TupleExtensions_Deconstruct_T2, System_TupleExtensions_Deconstruct_T3, System_TupleExtensions_Deconstruct_T4, System_TupleExtensions_Deconstruct_T5, System_TupleExtensions_Deconstruct_T6, System_TupleExtensions_Deconstruct_T7, System.Tuple[System_TupleExtensions_Deconstruct_T8, System_TupleExtensions_Deconstruct_T9, System_TupleExtensions_Deconstruct_T10, System_TupleExtensions_Deconstruct_T11, System_TupleExtensions_Deconstruct_T12, System_TupleExtensions_Deconstruct_T13, System_TupleExtensions_Deconstruct_T14]], item1: System_TupleExtensions_Deconstruct_T1, item2: System_TupleExtensions_Deconstruct_T2, item3: System_TupleExtensions_Deconstruct_T3, item4: System_TupleExtensions_Deconstruct_T4, item5: System_TupleExtensions_Deconstruct_T5, item6: System_TupleExtensions_Deconstruct_T6, item7: System_TupleExtensions_Deconstruct_T7, item8: System_TupleExtensions_Deconstruct_T8, item9: System_TupleExtensions_Deconstruct_T9, item10: System_TupleExtensions_Deconstruct_T10, item11: System_TupleExtensions_Deconstruct_T11, item12: System_TupleExtensions_Deconstruct_T12, item13: System_TupleExtensions_Deconstruct_T13, item14: System_TupleExtensions_Deconstruct_T14) -> None:
        """Deconstruct a properly nested Tuple with 14 elements."""
        ...

    @staticmethod
    @typing.overload
    def Deconstruct(value: System.Tuple[System_TupleExtensions_Deconstruct_T1, System_TupleExtensions_Deconstruct_T2, System_TupleExtensions_Deconstruct_T3, System_TupleExtensions_Deconstruct_T4, System_TupleExtensions_Deconstruct_T5, System_TupleExtensions_Deconstruct_T6, System_TupleExtensions_Deconstruct_T7, System.Tuple[System_TupleExtensions_Deconstruct_T8, System_TupleExtensions_Deconstruct_T9, System_TupleExtensions_Deconstruct_T10, System_TupleExtensions_Deconstruct_T11, System_TupleExtensions_Deconstruct_T12, System_TupleExtensions_Deconstruct_T13, System_TupleExtensions_Deconstruct_T14, System.Tuple[System_TupleExtensions_Deconstruct_T15]]], item1: System_TupleExtensions_Deconstruct_T1, item2: System_TupleExtensions_Deconstruct_T2, item3: System_TupleExtensions_Deconstruct_T3, item4: System_TupleExtensions_Deconstruct_T4, item5: System_TupleExtensions_Deconstruct_T5, item6: System_TupleExtensions_Deconstruct_T6, item7: System_TupleExtensions_Deconstruct_T7, item8: System_TupleExtensions_Deconstruct_T8, item9: System_TupleExtensions_Deconstruct_T9, item10: System_TupleExtensions_Deconstruct_T10, item11: System_TupleExtensions_Deconstruct_T11, item12: System_TupleExtensions_Deconstruct_T12, item13: System_TupleExtensions_Deconstruct_T13, item14: System_TupleExtensions_Deconstruct_T14, item15: System_TupleExtensions_Deconstruct_T15) -> None:
        """Deconstruct a properly nested Tuple with 15 elements."""
        ...

    @staticmethod
    @typing.overload
    def Deconstruct(value: System.Tuple[System_TupleExtensions_Deconstruct_T1, System_TupleExtensions_Deconstruct_T2, System_TupleExtensions_Deconstruct_T3, System_TupleExtensions_Deconstruct_T4, System_TupleExtensions_Deconstruct_T5, System_TupleExtensions_Deconstruct_T6, System_TupleExtensions_Deconstruct_T7, System.Tuple[System_TupleExtensions_Deconstruct_T8, System_TupleExtensions_Deconstruct_T9, System_TupleExtensions_Deconstruct_T10, System_TupleExtensions_Deconstruct_T11, System_TupleExtensions_Deconstruct_T12, System_TupleExtensions_Deconstruct_T13, System_TupleExtensions_Deconstruct_T14, System.Tuple[System_TupleExtensions_Deconstruct_T15, System_TupleExtensions_Deconstruct_T16]]], item1: System_TupleExtensions_Deconstruct_T1, item2: System_TupleExtensions_Deconstruct_T2, item3: System_TupleExtensions_Deconstruct_T3, item4: System_TupleExtensions_Deconstruct_T4, item5: System_TupleExtensions_Deconstruct_T5, item6: System_TupleExtensions_Deconstruct_T6, item7: System_TupleExtensions_Deconstruct_T7, item8: System_TupleExtensions_Deconstruct_T8, item9: System_TupleExtensions_Deconstruct_T9, item10: System_TupleExtensions_Deconstruct_T10, item11: System_TupleExtensions_Deconstruct_T11, item12: System_TupleExtensions_Deconstruct_T12, item13: System_TupleExtensions_Deconstruct_T13, item14: System_TupleExtensions_Deconstruct_T14, item15: System_TupleExtensions_Deconstruct_T15, item16: System_TupleExtensions_Deconstruct_T16) -> None:
        """Deconstruct a properly nested Tuple with 16 elements."""
        ...

    @staticmethod
    @typing.overload
    def Deconstruct(value: System.Tuple[System_TupleExtensions_Deconstruct_T1, System_TupleExtensions_Deconstruct_T2, System_TupleExtensions_Deconstruct_T3, System_TupleExtensions_Deconstruct_T4, System_TupleExtensions_Deconstruct_T5, System_TupleExtensions_Deconstruct_T6, System_TupleExtensions_Deconstruct_T7, System.Tuple[System_TupleExtensions_Deconstruct_T8, System_TupleExtensions_Deconstruct_T9, System_TupleExtensions_Deconstruct_T10, System_TupleExtensions_Deconstruct_T11, System_TupleExtensions_Deconstruct_T12, System_TupleExtensions_Deconstruct_T13, System_TupleExtensions_Deconstruct_T14, System.Tuple[System_TupleExtensions_Deconstruct_T15, System_TupleExtensions_Deconstruct_T16, System_TupleExtensions_Deconstruct_T17]]], item1: System_TupleExtensions_Deconstruct_T1, item2: System_TupleExtensions_Deconstruct_T2, item3: System_TupleExtensions_Deconstruct_T3, item4: System_TupleExtensions_Deconstruct_T4, item5: System_TupleExtensions_Deconstruct_T5, item6: System_TupleExtensions_Deconstruct_T6, item7: System_TupleExtensions_Deconstruct_T7, item8: System_TupleExtensions_Deconstruct_T8, item9: System_TupleExtensions_Deconstruct_T9, item10: System_TupleExtensions_Deconstruct_T10, item11: System_TupleExtensions_Deconstruct_T11, item12: System_TupleExtensions_Deconstruct_T12, item13: System_TupleExtensions_Deconstruct_T13, item14: System_TupleExtensions_Deconstruct_T14, item15: System_TupleExtensions_Deconstruct_T15, item16: System_TupleExtensions_Deconstruct_T16, item17: System_TupleExtensions_Deconstruct_T17) -> None:
        """Deconstruct a properly nested Tuple with 17 elements."""
        ...

    @staticmethod
    @typing.overload
    def Deconstruct(value: System.Tuple[System_TupleExtensions_Deconstruct_T1, System_TupleExtensions_Deconstruct_T2, System_TupleExtensions_Deconstruct_T3, System_TupleExtensions_Deconstruct_T4, System_TupleExtensions_Deconstruct_T5, System_TupleExtensions_Deconstruct_T6, System_TupleExtensions_Deconstruct_T7, System.Tuple[System_TupleExtensions_Deconstruct_T8, System_TupleExtensions_Deconstruct_T9, System_TupleExtensions_Deconstruct_T10, System_TupleExtensions_Deconstruct_T11, System_TupleExtensions_Deconstruct_T12, System_TupleExtensions_Deconstruct_T13, System_TupleExtensions_Deconstruct_T14, System.Tuple[System_TupleExtensions_Deconstruct_T15, System_TupleExtensions_Deconstruct_T16, System_TupleExtensions_Deconstruct_T17, System_TupleExtensions_Deconstruct_T18]]], item1: System_TupleExtensions_Deconstruct_T1, item2: System_TupleExtensions_Deconstruct_T2, item3: System_TupleExtensions_Deconstruct_T3, item4: System_TupleExtensions_Deconstruct_T4, item5: System_TupleExtensions_Deconstruct_T5, item6: System_TupleExtensions_Deconstruct_T6, item7: System_TupleExtensions_Deconstruct_T7, item8: System_TupleExtensions_Deconstruct_T8, item9: System_TupleExtensions_Deconstruct_T9, item10: System_TupleExtensions_Deconstruct_T10, item11: System_TupleExtensions_Deconstruct_T11, item12: System_TupleExtensions_Deconstruct_T12, item13: System_TupleExtensions_Deconstruct_T13, item14: System_TupleExtensions_Deconstruct_T14, item15: System_TupleExtensions_Deconstruct_T15, item16: System_TupleExtensions_Deconstruct_T16, item17: System_TupleExtensions_Deconstruct_T17, item18: System_TupleExtensions_Deconstruct_T18) -> None:
        """Deconstruct a properly nested Tuple with 18 elements."""
        ...

    @staticmethod
    @typing.overload
    def Deconstruct(value: System.Tuple[System_TupleExtensions_Deconstruct_T1, System_TupleExtensions_Deconstruct_T2, System_TupleExtensions_Deconstruct_T3, System_TupleExtensions_Deconstruct_T4, System_TupleExtensions_Deconstruct_T5, System_TupleExtensions_Deconstruct_T6, System_TupleExtensions_Deconstruct_T7, System.Tuple[System_TupleExtensions_Deconstruct_T8, System_TupleExtensions_Deconstruct_T9, System_TupleExtensions_Deconstruct_T10, System_TupleExtensions_Deconstruct_T11, System_TupleExtensions_Deconstruct_T12, System_TupleExtensions_Deconstruct_T13, System_TupleExtensions_Deconstruct_T14, System.Tuple[System_TupleExtensions_Deconstruct_T15, System_TupleExtensions_Deconstruct_T16, System_TupleExtensions_Deconstruct_T17, System_TupleExtensions_Deconstruct_T18, System_TupleExtensions_Deconstruct_T19]]], item1: System_TupleExtensions_Deconstruct_T1, item2: System_TupleExtensions_Deconstruct_T2, item3: System_TupleExtensions_Deconstruct_T3, item4: System_TupleExtensions_Deconstruct_T4, item5: System_TupleExtensions_Deconstruct_T5, item6: System_TupleExtensions_Deconstruct_T6, item7: System_TupleExtensions_Deconstruct_T7, item8: System_TupleExtensions_Deconstruct_T8, item9: System_TupleExtensions_Deconstruct_T9, item10: System_TupleExtensions_Deconstruct_T10, item11: System_TupleExtensions_Deconstruct_T11, item12: System_TupleExtensions_Deconstruct_T12, item13: System_TupleExtensions_Deconstruct_T13, item14: System_TupleExtensions_Deconstruct_T14, item15: System_TupleExtensions_Deconstruct_T15, item16: System_TupleExtensions_Deconstruct_T16, item17: System_TupleExtensions_Deconstruct_T17, item18: System_TupleExtensions_Deconstruct_T18, item19: System_TupleExtensions_Deconstruct_T19) -> None:
        """Deconstruct a properly nested Tuple with 19 elements."""
        ...

    @staticmethod
    @typing.overload
    def Deconstruct(value: System.Tuple[System_TupleExtensions_Deconstruct_T1, System_TupleExtensions_Deconstruct_T2, System_TupleExtensions_Deconstruct_T3, System_TupleExtensions_Deconstruct_T4, System_TupleExtensions_Deconstruct_T5, System_TupleExtensions_Deconstruct_T6, System_TupleExtensions_Deconstruct_T7, System.Tuple[System_TupleExtensions_Deconstruct_T8, System_TupleExtensions_Deconstruct_T9, System_TupleExtensions_Deconstruct_T10, System_TupleExtensions_Deconstruct_T11, System_TupleExtensions_Deconstruct_T12, System_TupleExtensions_Deconstruct_T13, System_TupleExtensions_Deconstruct_T14, System.Tuple[System_TupleExtensions_Deconstruct_T15, System_TupleExtensions_Deconstruct_T16, System_TupleExtensions_Deconstruct_T17, System_TupleExtensions_Deconstruct_T18, System_TupleExtensions_Deconstruct_T19, System_TupleExtensions_Deconstruct_T20]]], item1: System_TupleExtensions_Deconstruct_T1, item2: System_TupleExtensions_Deconstruct_T2, item3: System_TupleExtensions_Deconstruct_T3, item4: System_TupleExtensions_Deconstruct_T4, item5: System_TupleExtensions_Deconstruct_T5, item6: System_TupleExtensions_Deconstruct_T6, item7: System_TupleExtensions_Deconstruct_T7, item8: System_TupleExtensions_Deconstruct_T8, item9: System_TupleExtensions_Deconstruct_T9, item10: System_TupleExtensions_Deconstruct_T10, item11: System_TupleExtensions_Deconstruct_T11, item12: System_TupleExtensions_Deconstruct_T12, item13: System_TupleExtensions_Deconstruct_T13, item14: System_TupleExtensions_Deconstruct_T14, item15: System_TupleExtensions_Deconstruct_T15, item16: System_TupleExtensions_Deconstruct_T16, item17: System_TupleExtensions_Deconstruct_T17, item18: System_TupleExtensions_Deconstruct_T18, item19: System_TupleExtensions_Deconstruct_T19, item20: System_TupleExtensions_Deconstruct_T20) -> None:
        """Deconstruct a properly nested Tuple with 20 elements."""
        ...

    @staticmethod
    @typing.overload
    def Deconstruct(value: System.Tuple[System_TupleExtensions_Deconstruct_T1, System_TupleExtensions_Deconstruct_T2, System_TupleExtensions_Deconstruct_T3, System_TupleExtensions_Deconstruct_T4, System_TupleExtensions_Deconstruct_T5, System_TupleExtensions_Deconstruct_T6, System_TupleExtensions_Deconstruct_T7, System.Tuple[System_TupleExtensions_Deconstruct_T8, System_TupleExtensions_Deconstruct_T9, System_TupleExtensions_Deconstruct_T10, System_TupleExtensions_Deconstruct_T11, System_TupleExtensions_Deconstruct_T12, System_TupleExtensions_Deconstruct_T13, System_TupleExtensions_Deconstruct_T14, System.Tuple[System_TupleExtensions_Deconstruct_T15, System_TupleExtensions_Deconstruct_T16, System_TupleExtensions_Deconstruct_T17, System_TupleExtensions_Deconstruct_T18, System_TupleExtensions_Deconstruct_T19, System_TupleExtensions_Deconstruct_T20, System_TupleExtensions_Deconstruct_T21]]], item1: System_TupleExtensions_Deconstruct_T1, item2: System_TupleExtensions_Deconstruct_T2, item3: System_TupleExtensions_Deconstruct_T3, item4: System_TupleExtensions_Deconstruct_T4, item5: System_TupleExtensions_Deconstruct_T5, item6: System_TupleExtensions_Deconstruct_T6, item7: System_TupleExtensions_Deconstruct_T7, item8: System_TupleExtensions_Deconstruct_T8, item9: System_TupleExtensions_Deconstruct_T9, item10: System_TupleExtensions_Deconstruct_T10, item11: System_TupleExtensions_Deconstruct_T11, item12: System_TupleExtensions_Deconstruct_T12, item13: System_TupleExtensions_Deconstruct_T13, item14: System_TupleExtensions_Deconstruct_T14, item15: System_TupleExtensions_Deconstruct_T15, item16: System_TupleExtensions_Deconstruct_T16, item17: System_TupleExtensions_Deconstruct_T17, item18: System_TupleExtensions_Deconstruct_T18, item19: System_TupleExtensions_Deconstruct_T19, item20: System_TupleExtensions_Deconstruct_T20, item21: System_TupleExtensions_Deconstruct_T21) -> None:
        """Deconstruct a properly nested Tuple with 21 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToValueTuple(value: System.Tuple[System_TupleExtensions_ToValueTuple_T1]) -> System.ValueTuple[System_TupleExtensions_ToValueTuple_T1]:
        ...

    @staticmethod
    @typing.overload
    def ToValueTuple(value: System.Tuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2]) -> System.ValueTuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2]:
        """Make a properly nested ValueTuple from a properly nested Tuple with 2 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToValueTuple(value: System.Tuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3]) -> System.ValueTuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3]:
        """Make a properly nested ValueTuple from a properly nested Tuple with 3 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToValueTuple(value: System.Tuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4]) -> System.ValueTuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4]:
        """Make a properly nested ValueTuple from a properly nested Tuple with 4 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToValueTuple(value: System.Tuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5]) -> System.ValueTuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5]:
        """Make a properly nested ValueTuple from a properly nested Tuple with 5 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToValueTuple(value: System.Tuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6]) -> System.ValueTuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6]:
        """Make a properly nested ValueTuple from a properly nested Tuple with 6 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToValueTuple(value: System.Tuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7]) -> System.ValueTuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7]:
        """Make a properly nested ValueTuple from a properly nested Tuple with 7 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToValueTuple(value: System.Tuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.Tuple[System_TupleExtensions_ToValueTuple_T8]]) -> System.ValueTuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.ValueTuple[System_TupleExtensions_ToValueTuple_T8]]:
        """Make a properly nested ValueTuple from a properly nested Tuple with 8 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToValueTuple(value: System.Tuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.Tuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9]]) -> System.ValueTuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.ValueTuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9]]:
        """Make a properly nested ValueTuple from a properly nested Tuple with 9 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToValueTuple(value: System.Tuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.Tuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9, System_TupleExtensions_ToValueTuple_T10]]) -> System.ValueTuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.ValueTuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9, System_TupleExtensions_ToValueTuple_T10]]:
        """Make a properly nested ValueTuple from a properly nested Tuple with 10 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToValueTuple(value: System.Tuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.Tuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9, System_TupleExtensions_ToValueTuple_T10, System_TupleExtensions_ToValueTuple_T11]]) -> System.ValueTuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.ValueTuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9, System_TupleExtensions_ToValueTuple_T10, System_TupleExtensions_ToValueTuple_T11]]:
        """Make a properly nested ValueTuple from a properly nested Tuple with 11 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToValueTuple(value: System.Tuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.Tuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9, System_TupleExtensions_ToValueTuple_T10, System_TupleExtensions_ToValueTuple_T11, System_TupleExtensions_ToValueTuple_T12]]) -> System.ValueTuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.ValueTuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9, System_TupleExtensions_ToValueTuple_T10, System_TupleExtensions_ToValueTuple_T11, System_TupleExtensions_ToValueTuple_T12]]:
        """Make a properly nested ValueTuple from a properly nested Tuple with 12 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToValueTuple(value: System.Tuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.Tuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9, System_TupleExtensions_ToValueTuple_T10, System_TupleExtensions_ToValueTuple_T11, System_TupleExtensions_ToValueTuple_T12, System_TupleExtensions_ToValueTuple_T13]]) -> System.ValueTuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.ValueTuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9, System_TupleExtensions_ToValueTuple_T10, System_TupleExtensions_ToValueTuple_T11, System_TupleExtensions_ToValueTuple_T12, System_TupleExtensions_ToValueTuple_T13]]:
        """Make a properly nested ValueTuple from a properly nested Tuple with 13 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToValueTuple(value: System.Tuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.Tuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9, System_TupleExtensions_ToValueTuple_T10, System_TupleExtensions_ToValueTuple_T11, System_TupleExtensions_ToValueTuple_T12, System_TupleExtensions_ToValueTuple_T13, System_TupleExtensions_ToValueTuple_T14]]) -> System.ValueTuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.ValueTuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9, System_TupleExtensions_ToValueTuple_T10, System_TupleExtensions_ToValueTuple_T11, System_TupleExtensions_ToValueTuple_T12, System_TupleExtensions_ToValueTuple_T13, System_TupleExtensions_ToValueTuple_T14]]:
        """Make a properly nested ValueTuple from a properly nested Tuple with 14 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToValueTuple(value: System.Tuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.Tuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9, System_TupleExtensions_ToValueTuple_T10, System_TupleExtensions_ToValueTuple_T11, System_TupleExtensions_ToValueTuple_T12, System_TupleExtensions_ToValueTuple_T13, System_TupleExtensions_ToValueTuple_T14, System.Tuple[System_TupleExtensions_ToValueTuple_T15]]]) -> System.ValueTuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.ValueTuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9, System_TupleExtensions_ToValueTuple_T10, System_TupleExtensions_ToValueTuple_T11, System_TupleExtensions_ToValueTuple_T12, System_TupleExtensions_ToValueTuple_T13, System_TupleExtensions_ToValueTuple_T14, System.ValueTuple[System_TupleExtensions_ToValueTuple_T15]]]:
        """Make a properly nested ValueTuple from a properly nested Tuple with 15 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToValueTuple(value: System.Tuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.Tuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9, System_TupleExtensions_ToValueTuple_T10, System_TupleExtensions_ToValueTuple_T11, System_TupleExtensions_ToValueTuple_T12, System_TupleExtensions_ToValueTuple_T13, System_TupleExtensions_ToValueTuple_T14, System.Tuple[System_TupleExtensions_ToValueTuple_T15, System_TupleExtensions_ToValueTuple_T16]]]) -> System.ValueTuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.ValueTuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9, System_TupleExtensions_ToValueTuple_T10, System_TupleExtensions_ToValueTuple_T11, System_TupleExtensions_ToValueTuple_T12, System_TupleExtensions_ToValueTuple_T13, System_TupleExtensions_ToValueTuple_T14, System.ValueTuple[System_TupleExtensions_ToValueTuple_T15, System_TupleExtensions_ToValueTuple_T16]]]:
        """Make a properly nested ValueTuple from a properly nested Tuple with 16 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToValueTuple(value: System.Tuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.Tuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9, System_TupleExtensions_ToValueTuple_T10, System_TupleExtensions_ToValueTuple_T11, System_TupleExtensions_ToValueTuple_T12, System_TupleExtensions_ToValueTuple_T13, System_TupleExtensions_ToValueTuple_T14, System.Tuple[System_TupleExtensions_ToValueTuple_T15, System_TupleExtensions_ToValueTuple_T16, System_TupleExtensions_ToValueTuple_T17]]]) -> System.ValueTuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.ValueTuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9, System_TupleExtensions_ToValueTuple_T10, System_TupleExtensions_ToValueTuple_T11, System_TupleExtensions_ToValueTuple_T12, System_TupleExtensions_ToValueTuple_T13, System_TupleExtensions_ToValueTuple_T14, System.ValueTuple[System_TupleExtensions_ToValueTuple_T15, System_TupleExtensions_ToValueTuple_T16, System_TupleExtensions_ToValueTuple_T17]]]:
        """Make a properly nested ValueTuple from a properly nested Tuple with 17 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToValueTuple(value: System.Tuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.Tuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9, System_TupleExtensions_ToValueTuple_T10, System_TupleExtensions_ToValueTuple_T11, System_TupleExtensions_ToValueTuple_T12, System_TupleExtensions_ToValueTuple_T13, System_TupleExtensions_ToValueTuple_T14, System.Tuple[System_TupleExtensions_ToValueTuple_T15, System_TupleExtensions_ToValueTuple_T16, System_TupleExtensions_ToValueTuple_T17, System_TupleExtensions_ToValueTuple_T18]]]) -> System.ValueTuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.ValueTuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9, System_TupleExtensions_ToValueTuple_T10, System_TupleExtensions_ToValueTuple_T11, System_TupleExtensions_ToValueTuple_T12, System_TupleExtensions_ToValueTuple_T13, System_TupleExtensions_ToValueTuple_T14, System.ValueTuple[System_TupleExtensions_ToValueTuple_T15, System_TupleExtensions_ToValueTuple_T16, System_TupleExtensions_ToValueTuple_T17, System_TupleExtensions_ToValueTuple_T18]]]:
        """Make a properly nested ValueTuple from a properly nested Tuple with 18 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToValueTuple(value: System.Tuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.Tuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9, System_TupleExtensions_ToValueTuple_T10, System_TupleExtensions_ToValueTuple_T11, System_TupleExtensions_ToValueTuple_T12, System_TupleExtensions_ToValueTuple_T13, System_TupleExtensions_ToValueTuple_T14, System.Tuple[System_TupleExtensions_ToValueTuple_T15, System_TupleExtensions_ToValueTuple_T16, System_TupleExtensions_ToValueTuple_T17, System_TupleExtensions_ToValueTuple_T18, System_TupleExtensions_ToValueTuple_T19]]]) -> System.ValueTuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.ValueTuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9, System_TupleExtensions_ToValueTuple_T10, System_TupleExtensions_ToValueTuple_T11, System_TupleExtensions_ToValueTuple_T12, System_TupleExtensions_ToValueTuple_T13, System_TupleExtensions_ToValueTuple_T14, System.ValueTuple[System_TupleExtensions_ToValueTuple_T15, System_TupleExtensions_ToValueTuple_T16, System_TupleExtensions_ToValueTuple_T17, System_TupleExtensions_ToValueTuple_T18, System_TupleExtensions_ToValueTuple_T19]]]:
        """Make a properly nested ValueTuple from a properly nested Tuple with 19 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToValueTuple(value: System.Tuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.Tuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9, System_TupleExtensions_ToValueTuple_T10, System_TupleExtensions_ToValueTuple_T11, System_TupleExtensions_ToValueTuple_T12, System_TupleExtensions_ToValueTuple_T13, System_TupleExtensions_ToValueTuple_T14, System.Tuple[System_TupleExtensions_ToValueTuple_T15, System_TupleExtensions_ToValueTuple_T16, System_TupleExtensions_ToValueTuple_T17, System_TupleExtensions_ToValueTuple_T18, System_TupleExtensions_ToValueTuple_T19, System_TupleExtensions_ToValueTuple_T20]]]) -> System.ValueTuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.ValueTuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9, System_TupleExtensions_ToValueTuple_T10, System_TupleExtensions_ToValueTuple_T11, System_TupleExtensions_ToValueTuple_T12, System_TupleExtensions_ToValueTuple_T13, System_TupleExtensions_ToValueTuple_T14, System.ValueTuple[System_TupleExtensions_ToValueTuple_T15, System_TupleExtensions_ToValueTuple_T16, System_TupleExtensions_ToValueTuple_T17, System_TupleExtensions_ToValueTuple_T18, System_TupleExtensions_ToValueTuple_T19, System_TupleExtensions_ToValueTuple_T20]]]:
        """Make a properly nested ValueTuple from a properly nested Tuple with 20 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToValueTuple(value: System.Tuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.Tuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9, System_TupleExtensions_ToValueTuple_T10, System_TupleExtensions_ToValueTuple_T11, System_TupleExtensions_ToValueTuple_T12, System_TupleExtensions_ToValueTuple_T13, System_TupleExtensions_ToValueTuple_T14, System.Tuple[System_TupleExtensions_ToValueTuple_T15, System_TupleExtensions_ToValueTuple_T16, System_TupleExtensions_ToValueTuple_T17, System_TupleExtensions_ToValueTuple_T18, System_TupleExtensions_ToValueTuple_T19, System_TupleExtensions_ToValueTuple_T20, System_TupleExtensions_ToValueTuple_T21]]]) -> System.ValueTuple[System_TupleExtensions_ToValueTuple_T1, System_TupleExtensions_ToValueTuple_T2, System_TupleExtensions_ToValueTuple_T3, System_TupleExtensions_ToValueTuple_T4, System_TupleExtensions_ToValueTuple_T5, System_TupleExtensions_ToValueTuple_T6, System_TupleExtensions_ToValueTuple_T7, System.ValueTuple[System_TupleExtensions_ToValueTuple_T8, System_TupleExtensions_ToValueTuple_T9, System_TupleExtensions_ToValueTuple_T10, System_TupleExtensions_ToValueTuple_T11, System_TupleExtensions_ToValueTuple_T12, System_TupleExtensions_ToValueTuple_T13, System_TupleExtensions_ToValueTuple_T14, System.ValueTuple[System_TupleExtensions_ToValueTuple_T15, System_TupleExtensions_ToValueTuple_T16, System_TupleExtensions_ToValueTuple_T17, System_TupleExtensions_ToValueTuple_T18, System_TupleExtensions_ToValueTuple_T19, System_TupleExtensions_ToValueTuple_T20, System_TupleExtensions_ToValueTuple_T21]]]:
        """Make a properly nested ValueTuple from a properly nested Tuple with 21 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToTuple(value: System.ValueTuple[System_TupleExtensions_ToTuple_T1]) -> System.Tuple[System_TupleExtensions_ToTuple_T1]:
        ...

    @staticmethod
    @typing.overload
    def ToTuple(value: System.ValueTuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2]) -> System.Tuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2]:
        """Make a properly nested Tuple from a properly nested ValueTuple with 2 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToTuple(value: System.ValueTuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3]) -> System.Tuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3]:
        """Make a properly nested Tuple from a properly nested ValueTuple with 3 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToTuple(value: System.ValueTuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4]) -> System.Tuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4]:
        """Make a properly nested Tuple from a properly nested ValueTuple with 4 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToTuple(value: System.ValueTuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5]) -> System.Tuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5]:
        """Make a properly nested Tuple from a properly nested ValueTuple with 5 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToTuple(value: System.ValueTuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6]) -> System.Tuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6]:
        """Make a properly nested Tuple from a properly nested ValueTuple with 6 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToTuple(value: System.ValueTuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7]) -> System.Tuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7]:
        """Make a properly nested Tuple from a properly nested ValueTuple with 7 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToTuple(value: System.ValueTuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.ValueTuple[System_TupleExtensions_ToTuple_T8]]) -> System.Tuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.Tuple[System_TupleExtensions_ToTuple_T8]]:
        """Make a properly nested Tuple from a properly nested ValueTuple with 8 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToTuple(value: System.ValueTuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.ValueTuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9]]) -> System.Tuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.Tuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9]]:
        """Make a properly nested Tuple from a properly nested ValueTuple with 9 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToTuple(value: System.ValueTuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.ValueTuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9, System_TupleExtensions_ToTuple_T10]]) -> System.Tuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.Tuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9, System_TupleExtensions_ToTuple_T10]]:
        """Make a properly nested Tuple from a properly nested ValueTuple with 10 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToTuple(value: System.ValueTuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.ValueTuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9, System_TupleExtensions_ToTuple_T10, System_TupleExtensions_ToTuple_T11]]) -> System.Tuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.Tuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9, System_TupleExtensions_ToTuple_T10, System_TupleExtensions_ToTuple_T11]]:
        """Make a properly nested Tuple from a properly nested ValueTuple with 11 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToTuple(value: System.ValueTuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.ValueTuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9, System_TupleExtensions_ToTuple_T10, System_TupleExtensions_ToTuple_T11, System_TupleExtensions_ToTuple_T12]]) -> System.Tuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.Tuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9, System_TupleExtensions_ToTuple_T10, System_TupleExtensions_ToTuple_T11, System_TupleExtensions_ToTuple_T12]]:
        """Make a properly nested Tuple from a properly nested ValueTuple with 12 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToTuple(value: System.ValueTuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.ValueTuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9, System_TupleExtensions_ToTuple_T10, System_TupleExtensions_ToTuple_T11, System_TupleExtensions_ToTuple_T12, System_TupleExtensions_ToTuple_T13]]) -> System.Tuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.Tuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9, System_TupleExtensions_ToTuple_T10, System_TupleExtensions_ToTuple_T11, System_TupleExtensions_ToTuple_T12, System_TupleExtensions_ToTuple_T13]]:
        """Make a properly nested Tuple from a properly nested ValueTuple with 13 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToTuple(value: System.ValueTuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.ValueTuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9, System_TupleExtensions_ToTuple_T10, System_TupleExtensions_ToTuple_T11, System_TupleExtensions_ToTuple_T12, System_TupleExtensions_ToTuple_T13, System_TupleExtensions_ToTuple_T14]]) -> System.Tuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.Tuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9, System_TupleExtensions_ToTuple_T10, System_TupleExtensions_ToTuple_T11, System_TupleExtensions_ToTuple_T12, System_TupleExtensions_ToTuple_T13, System_TupleExtensions_ToTuple_T14]]:
        """Make a properly nested Tuple from a properly nested ValueTuple with 14 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToTuple(value: System.ValueTuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.ValueTuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9, System_TupleExtensions_ToTuple_T10, System_TupleExtensions_ToTuple_T11, System_TupleExtensions_ToTuple_T12, System_TupleExtensions_ToTuple_T13, System_TupleExtensions_ToTuple_T14, System.ValueTuple[System_TupleExtensions_ToTuple_T15]]]) -> System.Tuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.Tuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9, System_TupleExtensions_ToTuple_T10, System_TupleExtensions_ToTuple_T11, System_TupleExtensions_ToTuple_T12, System_TupleExtensions_ToTuple_T13, System_TupleExtensions_ToTuple_T14, System.Tuple[System_TupleExtensions_ToTuple_T15]]]:
        """Make a properly nested Tuple from a properly nested ValueTuple with 15 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToTuple(value: System.ValueTuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.ValueTuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9, System_TupleExtensions_ToTuple_T10, System_TupleExtensions_ToTuple_T11, System_TupleExtensions_ToTuple_T12, System_TupleExtensions_ToTuple_T13, System_TupleExtensions_ToTuple_T14, System.ValueTuple[System_TupleExtensions_ToTuple_T15, System_TupleExtensions_ToTuple_T16]]]) -> System.Tuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.Tuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9, System_TupleExtensions_ToTuple_T10, System_TupleExtensions_ToTuple_T11, System_TupleExtensions_ToTuple_T12, System_TupleExtensions_ToTuple_T13, System_TupleExtensions_ToTuple_T14, System.Tuple[System_TupleExtensions_ToTuple_T15, System_TupleExtensions_ToTuple_T16]]]:
        """Make a properly nested Tuple from a properly nested ValueTuple with 16 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToTuple(value: System.ValueTuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.ValueTuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9, System_TupleExtensions_ToTuple_T10, System_TupleExtensions_ToTuple_T11, System_TupleExtensions_ToTuple_T12, System_TupleExtensions_ToTuple_T13, System_TupleExtensions_ToTuple_T14, System.ValueTuple[System_TupleExtensions_ToTuple_T15, System_TupleExtensions_ToTuple_T16, System_TupleExtensions_ToTuple_T17]]]) -> System.Tuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.Tuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9, System_TupleExtensions_ToTuple_T10, System_TupleExtensions_ToTuple_T11, System_TupleExtensions_ToTuple_T12, System_TupleExtensions_ToTuple_T13, System_TupleExtensions_ToTuple_T14, System.Tuple[System_TupleExtensions_ToTuple_T15, System_TupleExtensions_ToTuple_T16, System_TupleExtensions_ToTuple_T17]]]:
        """Make a properly nested Tuple from a properly nested ValueTuple with 17 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToTuple(value: System.ValueTuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.ValueTuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9, System_TupleExtensions_ToTuple_T10, System_TupleExtensions_ToTuple_T11, System_TupleExtensions_ToTuple_T12, System_TupleExtensions_ToTuple_T13, System_TupleExtensions_ToTuple_T14, System.ValueTuple[System_TupleExtensions_ToTuple_T15, System_TupleExtensions_ToTuple_T16, System_TupleExtensions_ToTuple_T17, System_TupleExtensions_ToTuple_T18]]]) -> System.Tuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.Tuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9, System_TupleExtensions_ToTuple_T10, System_TupleExtensions_ToTuple_T11, System_TupleExtensions_ToTuple_T12, System_TupleExtensions_ToTuple_T13, System_TupleExtensions_ToTuple_T14, System.Tuple[System_TupleExtensions_ToTuple_T15, System_TupleExtensions_ToTuple_T16, System_TupleExtensions_ToTuple_T17, System_TupleExtensions_ToTuple_T18]]]:
        """Make a properly nested Tuple from a properly nested ValueTuple with 18 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToTuple(value: System.ValueTuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.ValueTuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9, System_TupleExtensions_ToTuple_T10, System_TupleExtensions_ToTuple_T11, System_TupleExtensions_ToTuple_T12, System_TupleExtensions_ToTuple_T13, System_TupleExtensions_ToTuple_T14, System.ValueTuple[System_TupleExtensions_ToTuple_T15, System_TupleExtensions_ToTuple_T16, System_TupleExtensions_ToTuple_T17, System_TupleExtensions_ToTuple_T18, System_TupleExtensions_ToTuple_T19]]]) -> System.Tuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.Tuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9, System_TupleExtensions_ToTuple_T10, System_TupleExtensions_ToTuple_T11, System_TupleExtensions_ToTuple_T12, System_TupleExtensions_ToTuple_T13, System_TupleExtensions_ToTuple_T14, System.Tuple[System_TupleExtensions_ToTuple_T15, System_TupleExtensions_ToTuple_T16, System_TupleExtensions_ToTuple_T17, System_TupleExtensions_ToTuple_T18, System_TupleExtensions_ToTuple_T19]]]:
        """Make a properly nested Tuple from a properly nested ValueTuple with 19 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToTuple(value: System.ValueTuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.ValueTuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9, System_TupleExtensions_ToTuple_T10, System_TupleExtensions_ToTuple_T11, System_TupleExtensions_ToTuple_T12, System_TupleExtensions_ToTuple_T13, System_TupleExtensions_ToTuple_T14, System.ValueTuple[System_TupleExtensions_ToTuple_T15, System_TupleExtensions_ToTuple_T16, System_TupleExtensions_ToTuple_T17, System_TupleExtensions_ToTuple_T18, System_TupleExtensions_ToTuple_T19, System_TupleExtensions_ToTuple_T20]]]) -> System.Tuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.Tuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9, System_TupleExtensions_ToTuple_T10, System_TupleExtensions_ToTuple_T11, System_TupleExtensions_ToTuple_T12, System_TupleExtensions_ToTuple_T13, System_TupleExtensions_ToTuple_T14, System.Tuple[System_TupleExtensions_ToTuple_T15, System_TupleExtensions_ToTuple_T16, System_TupleExtensions_ToTuple_T17, System_TupleExtensions_ToTuple_T18, System_TupleExtensions_ToTuple_T19, System_TupleExtensions_ToTuple_T20]]]:
        """Make a properly nested Tuple from a properly nested ValueTuple with 20 elements."""
        ...

    @staticmethod
    @typing.overload
    def ToTuple(value: System.ValueTuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.ValueTuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9, System_TupleExtensions_ToTuple_T10, System_TupleExtensions_ToTuple_T11, System_TupleExtensions_ToTuple_T12, System_TupleExtensions_ToTuple_T13, System_TupleExtensions_ToTuple_T14, System.ValueTuple[System_TupleExtensions_ToTuple_T15, System_TupleExtensions_ToTuple_T16, System_TupleExtensions_ToTuple_T17, System_TupleExtensions_ToTuple_T18, System_TupleExtensions_ToTuple_T19, System_TupleExtensions_ToTuple_T20, System_TupleExtensions_ToTuple_T21]]]) -> System.Tuple[System_TupleExtensions_ToTuple_T1, System_TupleExtensions_ToTuple_T2, System_TupleExtensions_ToTuple_T3, System_TupleExtensions_ToTuple_T4, System_TupleExtensions_ToTuple_T5, System_TupleExtensions_ToTuple_T6, System_TupleExtensions_ToTuple_T7, System.Tuple[System_TupleExtensions_ToTuple_T8, System_TupleExtensions_ToTuple_T9, System_TupleExtensions_ToTuple_T10, System_TupleExtensions_ToTuple_T11, System_TupleExtensions_ToTuple_T12, System_TupleExtensions_ToTuple_T13, System_TupleExtensions_ToTuple_T14, System.Tuple[System_TupleExtensions_ToTuple_T15, System_TupleExtensions_ToTuple_T16, System_TupleExtensions_ToTuple_T17, System_TupleExtensions_ToTuple_T18, System_TupleExtensions_ToTuple_T19, System_TupleExtensions_ToTuple_T20, System_TupleExtensions_ToTuple_T21]]]:
        """Make a properly nested Tuple from a properly nested ValueTuple with 21 elements."""
        ...


class MissingMemberException(System.MemberAccessException):
    """This class has no documentation."""

    @property
    def Message(self) -> str:
        ...

    @property
    def ClassName(self) -> str:
        """This field is protected."""
        ...

    @ClassName.setter
    def ClassName(self, value: str):
        """This field is protected."""
        ...

    @property
    def MemberName(self) -> str:
        """This field is protected."""
        ...

    @MemberName.setter
    def MemberName(self, value: str):
        """This field is protected."""
        ...

    @property
    def Signature(self) -> typing.List[int]:
        """This field is protected."""
        ...

    @Signature.setter
    def Signature(self, value: typing.List[int]):
        """This field is protected."""
        ...

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, inner: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, className: str, memberName: str) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...

    def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        ...


class NullReferenceException(System.SystemException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class LoaderOptimizationAttribute(System.Attribute):
    """This class has no documentation."""

    @property
    def Value(self) -> int:
        """This property contains the int value of a member of the System.LoaderOptimization enum."""
        ...

    @typing.overload
    def __init__(self, value: int) -> None:
        ...

    @typing.overload
    def __init__(self, value: System.LoaderOptimization) -> None:
        ...


class Lazy(typing.Generic[System_Lazy_T, System_Lazy_TMetadata], System_Lazy):
    """This class has no documentation."""

    @property
    def ValueForDebugDisplay(self) -> System_Lazy_T:
        """Gets the value of the Lazy<T> for debugging display purposes."""
        ...

    @property
    def Mode(self) -> typing.Optional[System.Threading.LazyThreadSafetyMode]:
        """Gets a value indicating whether this instance may be used concurrently from multiple threads."""
        ...

    @property
    def IsValueFaulted(self) -> bool:
        """Gets whether the value creation is faulted or not"""
        ...

    @property
    def IsValueCreated(self) -> bool:
        """Gets a value indicating whether the System.Lazy{T} has been initialized."""
        ...

    @property
    def Value(self) -> System_Lazy_T:
        """Gets the lazily initialized value of the current System.Lazy{T}."""
        ...

    @property
    def Metadata(self) -> System_Lazy_TMetadata:
        ...

    @typing.overload
    def __init__(self) -> None:
        """
        Initializes a new instance of the System.Lazy{T} class that
        uses T's default constructor for lazy initialization.
        """
        ...

    @typing.overload
    def __init__(self, value: System_Lazy_T) -> None:
        """
        Initializes a new instance of the System.Lazy{T} class that
        uses a pre-initialized specified value.
        """
        ...

    @typing.overload
    def __init__(self, valueFactory: typing.Callable[[], System_Lazy_T]) -> None:
        """
        Initializes a new instance of the System.Lazy{T} class that uses a
        specified initialization function.
        
        :param valueFactory: The System.Func{T} invoked to produce the lazily-initialized value when it is needed.
        """
        ...

    @typing.overload
    def __init__(self, isThreadSafe: bool) -> None:
        """
        Initializes a new instance of the System.Lazy{T}
        class that uses T's default constructor and a specified thread-safety mode.
        
        :param isThreadSafe: true if this instance should be usable by multiple threads concurrently; false if the instance will only be used by one thread at a time.
        """
        ...

    @typing.overload
    def __init__(self, mode: System.Threading.LazyThreadSafetyMode) -> None:
        """
        Initializes a new instance of the System.Lazy{T}
        class that uses T's default constructor and a specified thread-safety mode.
        
        :param mode: The lazy thread-safety mode
        """
        ...

    @typing.overload
    def __init__(self, valueFactory: typing.Callable[[], System_Lazy_T], isThreadSafe: bool) -> None:
        """
        Initializes a new instance of the System.Lazy{T} class
        that uses a specified initialization function and a specified thread-safety mode.
        
        :param valueFactory: The System.Func{T} invoked to produce the lazily-initialized value when it is needed.
        :param isThreadSafe: true if this instance should be usable by multiple threads concurrently; false if the instance will only be used by one thread at a time.
        """
        ...

    @typing.overload
    def __init__(self, valueFactory: typing.Callable[[], System_Lazy_T], mode: System.Threading.LazyThreadSafetyMode) -> None:
        """
        Initializes a new instance of the System.Lazy{T} class
        that uses a specified initialization function and a specified thread-safety mode.
        
        :param valueFactory: The System.Func{T} invoked to produce the lazily-initialized value when it is needed.
        :param mode: The lazy thread-safety mode.
        """
        ...

    def ToString(self) -> str:
        """
        Creates and returns a string representation of this instance.
        
        :returns: The result of calling object.ToString on the Value.
        """
        ...

    @typing.overload
    def __init__(self, valueFactory: typing.Callable[[], System_Lazy_T], metadata: System_Lazy_TMetadata) -> None:
        ...

    @typing.overload
    def __init__(self, metadata: System_Lazy_TMetadata) -> None:
        ...

    @typing.overload
    def __init__(self, metadata: System_Lazy_TMetadata, isThreadSafe: bool) -> None:
        ...

    @typing.overload
    def __init__(self, valueFactory: typing.Callable[[], System_Lazy_T], metadata: System_Lazy_TMetadata, isThreadSafe: bool) -> None:
        ...

    @typing.overload
    def __init__(self, metadata: System_Lazy_TMetadata, mode: System.Threading.LazyThreadSafetyMode) -> None:
        ...

    @typing.overload
    def __init__(self, valueFactory: typing.Callable[[], System_Lazy_T], metadata: System_Lazy_TMetadata, mode: System.Threading.LazyThreadSafetyMode) -> None:
        ...


class GCGenerationInfo:
    """This class has no documentation."""

    @property
    def SizeBeforeBytes(self) -> int:
        """Size in bytes on entry to the reported collection."""
        ...

    @property
    def FragmentationBeforeBytes(self) -> int:
        """Fragmentation in bytes on entry to the reported collection."""
        ...

    @property
    def SizeAfterBytes(self) -> int:
        """Size in bytes on exit from the reported collection."""
        ...

    @property
    def FragmentationAfterBytes(self) -> int:
        """Fragmentation in bytes on exit from the reported collection."""
        ...


class GCKind(System.Enum):
    """This class has no documentation."""

    Any = 0
    """Any kind of collection."""

    Ephemeral = 1
    """A gen0 or gen1 collection."""

    FullBlocking = 2
    """A blocking gen2 collection."""

    Background = 3
    """A background collection."""


class GCMemoryInfo:
    """Provides a set of APIs that can be used to retrieve garbage collection information."""

    @property
    def HighMemoryLoadThresholdBytes(self) -> int:
        """High memory load threshold when this GC occured"""
        ...

    @property
    def MemoryLoadBytes(self) -> int:
        """Memory load when this GC ocurred"""
        ...

    @property
    def TotalAvailableMemoryBytes(self) -> int:
        """
        Total available memory for the GC to use when this GC ocurred.
        
        If the environment variable COMPlus_GCHeapHardLimit is set,
        or "Server.GC.HeapHardLimit" is in runtimeconfig.json, this will come from that.
        If the program is run in a container, this will be an implementation-defined fraction of the container's size.
        Else, this is the physical memory on the machine that was available for the GC to use when this GC occurred.
        """
        ...

    @property
    def HeapSizeBytes(self) -> int:
        """The total heap size when this GC ocurred"""
        ...

    @property
    def FragmentedBytes(self) -> int:
        """
        The total fragmentation when this GC ocurred
        
        Let's take the example below:
         | OBJ_A |     OBJ_B     | OBJ_C |   OBJ_D   | OBJ_E |
        
        Let's say OBJ_B, OBJ_C and and OBJ_E are garbage and get collected, but the heap does not get compacted, the resulting heap will look like the following:
         | OBJ_A |           F           |   OBJ_D   |
        
        The memory between OBJ_A and OBJ_D marked `F` is considered part of the FragmentedBytes, and will be used to allocate new objects. The memory after OBJ_D will not be
        considered part of the FragmentedBytes, and will also be used to allocate new objects
        """
        ...

    @property
    def Index(self) -> int:
        """
        The index of this GC. GC indices start with 1 and get increased at the beginning of a GC.
        Since the info is updated at the end of a GC, this means you can get the info for a BGC
        with a smaller index than a foreground GC finished earlier.
        """
        ...

    @property
    def Generation(self) -> int:
        """
        The generation this GC collected. Collecting a generation means all its younger generation(s)
        are also collected.
        """
        ...

    @property
    def Compacted(self) -> bool:
        """Is this a compacting GC or not."""
        ...

    @property
    def Concurrent(self) -> bool:
        """Is this a concurrent GC (BGC) or not."""
        ...

    @property
    def TotalCommittedBytes(self) -> int:
        """Total committed bytes of the managed heap."""
        ...

    @property
    def PromotedBytes(self) -> int:
        """Promoted bytes for this GC."""
        ...

    @property
    def PinnedObjectsCount(self) -> int:
        """Number of pinned objects this GC observed."""
        ...

    @property
    def FinalizationPendingCount(self) -> int:
        """Number of objects ready for finalization this GC observed."""
        ...

    @property
    def PauseDurations(self) -> System.ReadOnlySpan[datetime.timedelta]:
        """Pause durations. For blocking GCs there's only 1 pause; for BGC there are 2."""
        ...

    @property
    def PauseTimePercentage(self) -> float:
        """This is the % pause time in GC so far. If it's 1.2%, this number is 1.2."""
        ...

    @property
    def GenerationInfo(self) -> System.ReadOnlySpan[System.GCGenerationInfo]:
        """Generation info for all generations."""
        ...


class ArgumentException(System.SystemException):
    """This class has no documentation."""

    @property
    def Message(self) -> str:
        ...

    @property
    def ParamName(self) -> str:
        ...

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, paramName: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, paramName: str) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...

    def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        ...


class DuplicateWaitObjectException(System.ArgumentException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, parameterName: str) -> None:
        ...

    @typing.overload
    def __init__(self, parameterName: str, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class ArithmeticException(System.SystemException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class DivideByZeroException(System.ArithmeticException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class MissingFieldException(System.MissingMemberException, System.Runtime.Serialization.ISerializable):
    """This class has no documentation."""

    @property
    def Message(self) -> str:
        ...

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, inner: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, className: str, fieldName: str) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class Guid(System.IFormattable, System.IComparable[System_Guid], System.IEquatable[System_Guid], System.ISpanFormattable):
    """This class has no documentation."""

    Empty: System.Guid

    @staticmethod
    @typing.overload
    def NewGuid() -> System.Guid:
        ...

    @typing.overload
    def __init__(self, b: typing.List[int]) -> None:
        ...

    @typing.overload
    def __init__(self, b: System.ReadOnlySpan[int]) -> None:
        ...

    @typing.overload
    def __init__(self, a: int, b: int, c: int, d: int, e: int, f: int, g: int, h: int, i: int, j: int, k: int) -> None:
        ...

    @typing.overload
    def __init__(self, a: int, b: int, c: int, d: typing.List[int]) -> None:
        ...

    @typing.overload
    def __init__(self, a: int, b: int, c: int, d: int, e: int, f: int, g: int, h: int, i: int, j: int, k: int) -> None:
        ...

    @typing.overload
    def __init__(self, g: str) -> None:
        ...

    @staticmethod
    @typing.overload
    def Parse(input: str) -> System.Guid:
        ...

    @staticmethod
    @typing.overload
    def Parse(input: System.ReadOnlySpan[str]) -> System.Guid:
        ...

    @staticmethod
    @typing.overload
    def TryParse(input: str, result: System.Guid) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(input: System.ReadOnlySpan[str], result: System.Guid) -> bool:
        ...

    @staticmethod
    @typing.overload
    def ParseExact(input: str, format: str) -> System.Guid:
        ...

    @staticmethod
    @typing.overload
    def ParseExact(input: System.ReadOnlySpan[str], format: System.ReadOnlySpan[str]) -> System.Guid:
        ...

    @staticmethod
    @typing.overload
    def TryParseExact(input: str, format: str, result: System.Guid) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParseExact(input: System.ReadOnlySpan[str], format: System.ReadOnlySpan[str], result: System.Guid) -> bool:
        ...

    def ToByteArray(self) -> typing.List[int]:
        ...

    def TryWriteBytes(self, destination: System.Span[int]) -> bool:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def Equals(self, o: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, g: System.Guid) -> bool:
        ...

    @typing.overload
    def CompareTo(self, value: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, value: System.Guid) -> int:
        ...

    @typing.overload
    def ToString(self, format: str) -> str:
        ...

    @typing.overload
    def ToString(self, format: str, provider: System.IFormatProvider) -> str:
        ...

    @typing.overload
    def TryFormat(self, destination: System.Span[str], charsWritten: int, format: System.ReadOnlySpan[str] = ...) -> bool:
        ...

    @typing.overload
    def TryFormat(self, destination: System.Span[str], charsWritten: int, format: System.ReadOnlySpan[str], provider: System.IFormatProvider) -> bool:
        ...

    @staticmethod
    @typing.overload
    def NewGuid() -> System.Guid:
        ...


class InvalidCastException(System.SystemException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, errorCode: int) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class Array(System.Object, System.ICloneable, System.Collections.IList, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable, metaclass=abc.ABCMeta):
    """This class has no documentation."""

    MaxArrayLength: int = ...

    MaxByteArrayLength: int = ...

    IntrosortSizeThreshold: int = 16

    @property
    def Count(self) -> int:
        ...

    @property
    def SyncRoot(self) -> System.Object:
        ...

    @property
    def IsReadOnly(self) -> bool:
        ...

    @property
    def IsFixedSize(self) -> bool:
        ...

    @property
    def IsSynchronized(self) -> bool:
        ...

    @property
    def Length(self) -> int:
        ...

    @property
    def LongLength(self) -> int:
        ...

    @property
    def Rank(self) -> int:
        ...

    @staticmethod
    def AsReadOnly(array: typing.List[System_Array_AsReadOnly_T]) -> System.Collections.ObjectModel.ReadOnlyCollection[System_Array_AsReadOnly_T]:
        ...

    @staticmethod
    def Resize(array: typing.List[System_Array_Resize_T], newSize: int) -> None:
        ...

    @staticmethod
    @typing.overload
    def CreateInstance(elementType: typing.Type, *lengths: int) -> System.Array:
        ...

    @staticmethod
    @typing.overload
    def Copy(sourceArray: System.Array, destinationArray: System.Array, length: int) -> None:
        ...

    @staticmethod
    @typing.overload
    def Copy(sourceArray: System.Array, sourceIndex: int, destinationArray: System.Array, destinationIndex: int, length: int) -> None:
        ...

    @typing.overload
    def GetValue(self, index: int) -> System.Object:
        ...

    @typing.overload
    def GetValue(self, index1: int, index2: int) -> System.Object:
        ...

    @typing.overload
    def GetValue(self, index1: int, index2: int, index3: int) -> System.Object:
        ...

    @typing.overload
    def GetValue(self, *indices: int) -> System.Object:
        ...

    @typing.overload
    def SetValue(self, value: typing.Any, index: int) -> None:
        ...

    @typing.overload
    def SetValue(self, value: typing.Any, index1: int, index2: int) -> None:
        ...

    @typing.overload
    def SetValue(self, value: typing.Any, index1: int, index2: int, index3: int) -> None:
        ...

    @typing.overload
    def SetValue(self, value: typing.Any, *indices: int) -> None:
        ...

    def GetLongLength(self, dimension: int) -> int:
        ...

    def __getitem__(self, index: int) -> System.Object:
        ...

    def __setitem__(self, index: int, value: System.Object) -> None:
        ...

    def Add(self, value: typing.Any) -> int:
        ...

    def Contains(self, value: typing.Any) -> bool:
        ...

    @typing.overload
    def Clear(self) -> None:
        ...

    @typing.overload
    def IndexOf(self, value: typing.Any) -> int:
        ...

    def Insert(self, index: int, value: typing.Any) -> None:
        ...

    def Remove(self, value: typing.Any) -> None:
        ...

    def RemoveAt(self, index: int) -> None:
        ...

    def Clone(self) -> System.Object:
        ...

    def CompareTo(self, other: typing.Any, comparer: System.Collections.IComparer) -> int:
        ...

    def Equals(self, other: typing.Any, comparer: System.Collections.IEqualityComparer) -> bool:
        ...

    def GetHashCode(self, comparer: System.Collections.IEqualityComparer) -> int:
        ...

    @staticmethod
    @typing.overload
    def BinarySearch(array: System.Array, value: typing.Any) -> int:
        ...

    @staticmethod
    @typing.overload
    def BinarySearch(array: System.Array, index: int, length: int, value: typing.Any) -> int:
        ...

    @staticmethod
    @typing.overload
    def BinarySearch(array: System.Array, value: typing.Any, comparer: System.Collections.IComparer) -> int:
        ...

    @staticmethod
    @typing.overload
    def BinarySearch(array: System.Array, index: int, length: int, value: typing.Any, comparer: System.Collections.IComparer) -> int:
        ...

    @staticmethod
    @typing.overload
    def BinarySearch(array: typing.List[System_Array_BinarySearch_T], value: System_Array_BinarySearch_T) -> int:
        ...

    @staticmethod
    @typing.overload
    def BinarySearch(array: typing.List[System_Array_BinarySearch_T], value: System_Array_BinarySearch_T, comparer: System.Collections.Generic.IComparer[System_Array_BinarySearch_T]) -> int:
        ...

    @staticmethod
    @typing.overload
    def BinarySearch(array: typing.List[System_Array_BinarySearch_T], index: int, length: int, value: System_Array_BinarySearch_T) -> int:
        ...

    @staticmethod
    @typing.overload
    def BinarySearch(array: typing.List[System_Array_BinarySearch_T], index: int, length: int, value: System_Array_BinarySearch_T, comparer: System.Collections.Generic.IComparer[System_Array_BinarySearch_T]) -> int:
        ...

    @staticmethod
    def ConvertAll(array: typing.List[System_Array_ConvertAll_TInput], converter: System_Converter) -> typing.List[System_Array_ConvertAll_TOutput]:
        ...

    @typing.overload
    def CopyTo(self, array: System.Array, index: int) -> None:
        ...

    @typing.overload
    def CopyTo(self, array: System.Array, index: int) -> None:
        ...

    @staticmethod
    def Empty() -> typing.List[System_Array_Empty_T]:
        ...

    @staticmethod
    def Exists(array: typing.List[System_Array_Exists_T], match: System_Predicate) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Fill(array: typing.List[System_Array_Fill_T], value: System_Array_Fill_T) -> None:
        ...

    @staticmethod
    @typing.overload
    def Fill(array: typing.List[System_Array_Fill_T], value: System_Array_Fill_T, startIndex: int, count: int) -> None:
        ...

    @staticmethod
    def Find(array: typing.List[System_Array_Find_T], match: System_Predicate) -> System_Array_Find_T:
        ...

    @staticmethod
    def FindAll(array: typing.List[System_Array_FindAll_T], match: System_Predicate) -> typing.List[System_Array_FindAll_T]:
        ...

    @staticmethod
    @typing.overload
    def FindIndex(array: typing.List[System_Array_FindIndex_T], match: System_Predicate) -> int:
        ...

    @staticmethod
    @typing.overload
    def FindIndex(array: typing.List[System_Array_FindIndex_T], startIndex: int, match: System_Predicate) -> int:
        ...

    @staticmethod
    @typing.overload
    def FindIndex(array: typing.List[System_Array_FindIndex_T], startIndex: int, count: int, match: System_Predicate) -> int:
        ...

    @staticmethod
    def FindLast(array: typing.List[System_Array_FindLast_T], match: System_Predicate) -> System_Array_FindLast_T:
        ...

    @staticmethod
    @typing.overload
    def FindLastIndex(array: typing.List[System_Array_FindLastIndex_T], match: System_Predicate) -> int:
        ...

    @staticmethod
    @typing.overload
    def FindLastIndex(array: typing.List[System_Array_FindLastIndex_T], startIndex: int, match: System_Predicate) -> int:
        ...

    @staticmethod
    @typing.overload
    def FindLastIndex(array: typing.List[System_Array_FindLastIndex_T], startIndex: int, count: int, match: System_Predicate) -> int:
        ...

    @staticmethod
    def ForEach(array: typing.List[System_Array_ForEach_T], action: typing.Callable[[System_Array_ForEach_T], None]) -> None:
        ...

    @staticmethod
    @typing.overload
    def IndexOf(array: System.Array, value: typing.Any) -> int:
        ...

    @staticmethod
    @typing.overload
    def IndexOf(array: System.Array, value: typing.Any, startIndex: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def IndexOf(array: System.Array, value: typing.Any, startIndex: int, count: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def IndexOf(array: typing.List[System_Array_IndexOf_T], value: System_Array_IndexOf_T) -> int:
        ...

    @staticmethod
    @typing.overload
    def IndexOf(array: typing.List[System_Array_IndexOf_T], value: System_Array_IndexOf_T, startIndex: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def IndexOf(array: typing.List[System_Array_IndexOf_T], value: System_Array_IndexOf_T, startIndex: int, count: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def LastIndexOf(array: System.Array, value: typing.Any) -> int:
        ...

    @staticmethod
    @typing.overload
    def LastIndexOf(array: System.Array, value: typing.Any, startIndex: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def LastIndexOf(array: System.Array, value: typing.Any, startIndex: int, count: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def LastIndexOf(array: typing.List[System_Array_LastIndexOf_T], value: System_Array_LastIndexOf_T) -> int:
        ...

    @staticmethod
    @typing.overload
    def LastIndexOf(array: typing.List[System_Array_LastIndexOf_T], value: System_Array_LastIndexOf_T, startIndex: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def LastIndexOf(array: typing.List[System_Array_LastIndexOf_T], value: System_Array_LastIndexOf_T, startIndex: int, count: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Reverse(array: System.Array) -> None:
        ...

    @staticmethod
    @typing.overload
    def Reverse(array: System.Array, index: int, length: int) -> None:
        ...

    @staticmethod
    @typing.overload
    def Reverse(array: typing.List[System_Array_Reverse_T]) -> None:
        ...

    @staticmethod
    @typing.overload
    def Reverse(array: typing.List[System_Array_Reverse_T], index: int, length: int) -> None:
        ...

    @staticmethod
    @typing.overload
    def Sort(array: System.Array) -> None:
        ...

    @staticmethod
    @typing.overload
    def Sort(keys: System.Array, items: System.Array) -> None:
        ...

    @staticmethod
    @typing.overload
    def Sort(array: System.Array, index: int, length: int) -> None:
        ...

    @staticmethod
    @typing.overload
    def Sort(keys: System.Array, items: System.Array, index: int, length: int) -> None:
        ...

    @staticmethod
    @typing.overload
    def Sort(array: System.Array, comparer: System.Collections.IComparer) -> None:
        ...

    @staticmethod
    @typing.overload
    def Sort(keys: System.Array, items: System.Array, comparer: System.Collections.IComparer) -> None:
        ...

    @staticmethod
    @typing.overload
    def Sort(array: System.Array, index: int, length: int, comparer: System.Collections.IComparer) -> None:
        ...

    @staticmethod
    @typing.overload
    def Sort(keys: System.Array, items: System.Array, index: int, length: int, comparer: System.Collections.IComparer) -> None:
        ...

    @staticmethod
    @typing.overload
    def Sort(array: typing.List[System_Array_Sort_T]) -> None:
        ...

    @staticmethod
    @typing.overload
    def Sort(keys: typing.List[System_Array_Sort_TKey], items: typing.List[System_Array_Sort_TValue]) -> None:
        ...

    @staticmethod
    @typing.overload
    def Sort(array: typing.List[System_Array_Sort_T], index: int, length: int) -> None:
        ...

    @staticmethod
    @typing.overload
    def Sort(keys: typing.List[System_Array_Sort_TKey], items: typing.List[System_Array_Sort_TValue], index: int, length: int) -> None:
        ...

    @staticmethod
    @typing.overload
    def Sort(array: typing.List[System_Array_Sort_T], comparer: System.Collections.Generic.IComparer[System_Array_Sort_T]) -> None:
        ...

    @staticmethod
    @typing.overload
    def Sort(keys: typing.List[System_Array_Sort_TKey], items: typing.List[System_Array_Sort_TValue], comparer: System.Collections.Generic.IComparer[System_Array_Sort_TKey]) -> None:
        ...

    @staticmethod
    @typing.overload
    def Sort(array: typing.List[System_Array_Sort_T], index: int, length: int, comparer: System.Collections.Generic.IComparer[System_Array_Sort_T]) -> None:
        ...

    @staticmethod
    @typing.overload
    def Sort(keys: typing.List[System_Array_Sort_TKey], items: typing.List[System_Array_Sort_TValue], index: int, length: int, comparer: System.Collections.Generic.IComparer[System_Array_Sort_TKey]) -> None:
        ...

    @staticmethod
    @typing.overload
    def Sort(array: typing.List[System_Array_Sort_T], comparison: System_Comparison) -> None:
        ...

    @staticmethod
    def TrueForAll(array: typing.List[System_Array_TrueForAll_T], match: System_Predicate) -> bool:
        ...

    def GetEnumerator(self) -> System.Collections.IEnumerator:
        ...

    @staticmethod
    @typing.overload
    def Clear(array: System.Array, index: int, length: int) -> None:
        ...

    @staticmethod
    def ConstrainedCopy(sourceArray: System.Array, sourceIndex: int, destinationArray: System.Array, destinationIndex: int, length: int) -> None:
        ...

    @staticmethod
    @typing.overload
    def Copy(sourceArray: System.Array, destinationArray: System.Array, length: int) -> None:
        ...

    @staticmethod
    @typing.overload
    def Copy(sourceArray: System.Array, sourceIndex: int, destinationArray: System.Array, destinationIndex: int, length: int) -> None:
        ...

    @staticmethod
    @typing.overload
    def CreateInstance(elementType: typing.Type, length: int) -> System.Array:
        ...

    @staticmethod
    @typing.overload
    def CreateInstance(elementType: typing.Type, length1: int, length2: int) -> System.Array:
        ...

    @staticmethod
    @typing.overload
    def CreateInstance(elementType: typing.Type, length1: int, length2: int, length3: int) -> System.Array:
        ...

    @staticmethod
    @typing.overload
    def CreateInstance(elementType: typing.Type, *lengths: int) -> System.Array:
        ...

    @staticmethod
    @typing.overload
    def CreateInstance(elementType: typing.Type, lengths: typing.List[int], lowerBounds: typing.List[int]) -> System.Array:
        ...

    @typing.overload
    def GetValue(self, index: int) -> System.Object:
        ...

    @typing.overload
    def GetValue(self, index1: int, index2: int) -> System.Object:
        ...

    @typing.overload
    def GetValue(self, index1: int, index2: int, index3: int) -> System.Object:
        ...

    def Initialize(self) -> None:
        ...

    @typing.overload
    def SetValue(self, value: typing.Any, index: int) -> None:
        ...

    @typing.overload
    def SetValue(self, value: typing.Any, index1: int, index2: int) -> None:
        ...

    @typing.overload
    def SetValue(self, value: typing.Any, index1: int, index2: int, index3: int) -> None:
        ...

    def GetUpperBound(self, dimension: int) -> int:
        ...

    def GetLength(self, dimension: int) -> int:
        ...

    def GetLowerBound(self, dimension: int) -> int:
        ...

    @typing.overload
    def GetValue(self, *indices: int) -> System.Object:
        ...

    @typing.overload
    def SetValue(self, value: typing.Any, *indices: int) -> None:
        ...


class Type(System.Reflection.MemberInfo, System.Reflection.IReflect, metaclass=abc.ABCMeta):
    """This class has no documentation."""

    @property
    def MemberType(self) -> int:
        """This property contains the int value of a member of the System.Reflection.MemberTypes enum."""
        ...

    @property
    @abc.abstractmethod
    def Namespace(self) -> str:
        ...

    @property
    @abc.abstractmethod
    def AssemblyQualifiedName(self) -> str:
        ...

    @property
    @abc.abstractmethod
    def FullName(self) -> str:
        ...

    @property
    @abc.abstractmethod
    def Assembly(self) -> System.Reflection.Assembly:
        ...

    @property
    @abc.abstractmethod
    def Module(self) -> System.Reflection.Module:
        ...

    @property
    def IsNested(self) -> bool:
        ...

    @property
    def DeclaringType(self) -> typing.Type:
        ...

    @property
    def DeclaringMethod(self) -> System.Reflection.MethodBase:
        ...

    @property
    def ReflectedType(self) -> typing.Type:
        ...

    @property
    @abc.abstractmethod
    def UnderlyingSystemType(self) -> typing.Type:
        ...

    @property
    def IsTypeDefinition(self) -> bool:
        ...

    @property
    def IsArray(self) -> bool:
        ...

    @property
    def IsByRef(self) -> bool:
        ...

    @property
    def IsPointer(self) -> bool:
        ...

    @property
    def IsConstructedGenericType(self) -> bool:
        ...

    @property
    def IsGenericParameter(self) -> bool:
        ...

    @property
    def IsGenericTypeParameter(self) -> bool:
        ...

    @property
    def IsGenericMethodParameter(self) -> bool:
        ...

    @property
    def IsGenericType(self) -> bool:
        ...

    @property
    def IsGenericTypeDefinition(self) -> bool:
        ...

    @property
    def IsSZArray(self) -> bool:
        ...

    @property
    def IsVariableBoundArray(self) -> bool:
        ...

    @property
    def IsByRefLike(self) -> bool:
        ...

    @property
    def HasElementType(self) -> bool:
        ...

    @property
    def GenericTypeArguments(self) -> typing.List[typing.Type]:
        ...

    @property
    def GenericParameterPosition(self) -> int:
        ...

    @property
    def GenericParameterAttributes(self) -> int:
        """This property contains the int value of a member of the System.Reflection.GenericParameterAttributes enum."""
        ...

    @property
    def Attributes(self) -> int:
        """This property contains the int value of a member of the System.Reflection.TypeAttributes enum."""
        ...

    @property
    def IsAbstract(self) -> bool:
        ...

    @property
    def IsImport(self) -> bool:
        ...

    @property
    def IsSealed(self) -> bool:
        ...

    @property
    def IsSpecialName(self) -> bool:
        ...

    @property
    def IsClass(self) -> bool:
        ...

    @property
    def IsNestedAssembly(self) -> bool:
        ...

    @property
    def IsNestedFamANDAssem(self) -> bool:
        ...

    @property
    def IsNestedFamily(self) -> bool:
        ...

    @property
    def IsNestedFamORAssem(self) -> bool:
        ...

    @property
    def IsNestedPrivate(self) -> bool:
        ...

    @property
    def IsNestedPublic(self) -> bool:
        ...

    @property
    def IsNotPublic(self) -> bool:
        ...

    @property
    def IsPublic(self) -> bool:
        ...

    @property
    def IsAutoLayout(self) -> bool:
        ...

    @property
    def IsExplicitLayout(self) -> bool:
        ...

    @property
    def IsLayoutSequential(self) -> bool:
        ...

    @property
    def IsAnsiClass(self) -> bool:
        ...

    @property
    def IsAutoClass(self) -> bool:
        ...

    @property
    def IsUnicodeClass(self) -> bool:
        ...

    @property
    def IsCOMObject(self) -> bool:
        ...

    @property
    def IsContextful(self) -> bool:
        ...

    @property
    def IsEnum(self) -> bool:
        ...

    @property
    def IsMarshalByRef(self) -> bool:
        ...

    @property
    def IsPrimitive(self) -> bool:
        ...

    @property
    def IsValueType(self) -> bool:
        ...

    @property
    def IsSignatureType(self) -> bool:
        ...

    @property
    def IsSecurityCritical(self) -> bool:
        ...

    @property
    def IsSecuritySafeCritical(self) -> bool:
        ...

    @property
    def IsSecurityTransparent(self) -> bool:
        ...

    @property
    def StructLayoutAttribute(self) -> System.Runtime.InteropServices.StructLayoutAttribute:
        ...

    @property
    def TypeInitializer(self) -> System.Reflection.ConstructorInfo:
        ...

    @property
    def TypeHandle(self) -> System.RuntimeTypeHandle:
        ...

    @property
    @abc.abstractmethod
    def GUID(self) -> System.Guid:
        ...

    @property
    @abc.abstractmethod
    def BaseType(self) -> typing.Type:
        ...

    DefaultBinder: System.Reflection.Binder

    Delimiter: str = ...

    EmptyTypes: typing.List[typing.Type] = ...

    Missing: System.Object = ...

    FilterAttribute: System_Reflection_MemberFilter = ...

    FilterName: System_Reflection_MemberFilter = ...

    FilterNameIgnoreCase: System_Reflection_MemberFilter = ...

    @property
    def IsSerializable(self) -> bool:
        ...

    @property
    def ContainsGenericParameters(self) -> bool:
        ...

    @property
    def IsVisible(self) -> bool:
        ...

    @property
    def _impl(self) -> System.RuntimeTypeHandle:
        ...

    @_impl.setter
    def _impl(self, value: System.RuntimeTypeHandle):
        ...

    @property
    def IsInterface(self) -> bool:
        ...

    @property
    def IsUserType(self) -> bool:
        ...

    def IsEnumDefined(self, value: typing.Any) -> bool:
        ...

    def GetEnumName(self, value: typing.Any) -> str:
        ...

    def GetEnumNames(self) -> typing.List[str]:
        ...

    def __init__(self) -> None:
        """This method is protected."""
        ...

    @typing.overload
    def GetType(self) -> typing.Type:
        ...

    def IsArrayImpl(self) -> bool:
        """This method is protected."""
        ...

    def IsByRefImpl(self) -> bool:
        """This method is protected."""
        ...

    def IsPointerImpl(self) -> bool:
        """This method is protected."""
        ...

    def HasElementTypeImpl(self) -> bool:
        """This method is protected."""
        ...

    def GetElementType(self) -> typing.Type:
        ...

    def GetArrayRank(self) -> int:
        ...

    def GetGenericTypeDefinition(self) -> typing.Type:
        ...

    def GetGenericArguments(self) -> typing.List[typing.Type]:
        ...

    def GetGenericParameterConstraints(self) -> typing.List[typing.Type]:
        ...

    def GetAttributeFlagsImpl(self) -> int:
        """
        This method is protected.
        
        :returns: This method returns the int value of a member of the System.Reflection.TypeAttributes enum.
        """
        ...

    def IsCOMObjectImpl(self) -> bool:
        """This method is protected."""
        ...

    def IsContextfulImpl(self) -> bool:
        """This method is protected."""
        ...

    def IsMarshalByRefImpl(self) -> bool:
        """This method is protected."""
        ...

    def IsPrimitiveImpl(self) -> bool:
        """This method is protected."""
        ...

    def IsAssignableTo(self, targetType: typing.Type) -> bool:
        ...

    def IsValueTypeImpl(self) -> bool:
        """This method is protected."""
        ...

    @typing.overload
    def GetConstructor(self, types: typing.List[typing.Type]) -> System.Reflection.ConstructorInfo:
        ...

    @typing.overload
    def GetConstructor(self, bindingAttr: System.Reflection.BindingFlags, types: typing.List[typing.Type]) -> System.Reflection.ConstructorInfo:
        """
        Searches for a constructor whose parameters match the specified argument types, using the specified binding constraints.
        
        :param bindingAttr: A bitwise combination of the enumeration values that specify how the search is conducted. -or- Default to return null.
        :param types: An array of Type objects representing the number, order, and type of the parameters for the constructor to get. -or- An empty array of the type Type (that is, Type[] types = Array.Empty{Type}()) to get a constructor that takes no parameters. -or- EmptyTypes.
        :returns: A ConstructorInfo object representing the constructor that matches the specified requirements, if found; otherwise, null.
        """
        ...

    @typing.overload
    def GetConstructor(self, bindingAttr: System.Reflection.BindingFlags, binder: System.Reflection.Binder, types: typing.List[typing.Type], modifiers: typing.List[System.Reflection.ParameterModifier]) -> System.Reflection.ConstructorInfo:
        ...

    @typing.overload
    def GetConstructor(self, bindingAttr: System.Reflection.BindingFlags, binder: System.Reflection.Binder, callConvention: System.Reflection.CallingConventions, types: typing.List[typing.Type], modifiers: typing.List[System.Reflection.ParameterModifier]) -> System.Reflection.ConstructorInfo:
        ...

    def GetConstructorImpl(self, bindingAttr: System.Reflection.BindingFlags, binder: System.Reflection.Binder, callConvention: System.Reflection.CallingConventions, types: typing.List[typing.Type], modifiers: typing.List[System.Reflection.ParameterModifier]) -> System.Reflection.ConstructorInfo:
        """This method is protected."""
        ...

    @typing.overload
    def GetConstructors(self) -> typing.List[System.Reflection.ConstructorInfo]:
        ...

    @typing.overload
    def GetConstructors(self, bindingAttr: System.Reflection.BindingFlags) -> typing.List[System.Reflection.ConstructorInfo]:
        ...

    @typing.overload
    def GetEvent(self, name: str) -> System.Reflection.EventInfo:
        ...

    @typing.overload
    def GetEvent(self, name: str, bindingAttr: System.Reflection.BindingFlags) -> System.Reflection.EventInfo:
        ...

    @typing.overload
    def GetEvents(self) -> typing.List[System.Reflection.EventInfo]:
        ...

    @typing.overload
    def GetEvents(self, bindingAttr: System.Reflection.BindingFlags) -> typing.List[System.Reflection.EventInfo]:
        ...

    @typing.overload
    def GetField(self, name: str) -> System.Reflection.FieldInfo:
        ...

    @typing.overload
    def GetField(self, name: str, bindingAttr: System.Reflection.BindingFlags) -> System.Reflection.FieldInfo:
        ...

    @typing.overload
    def GetFields(self) -> typing.List[System.Reflection.FieldInfo]:
        ...

    @typing.overload
    def GetFields(self, bindingAttr: System.Reflection.BindingFlags) -> typing.List[System.Reflection.FieldInfo]:
        ...

    @typing.overload
    def GetMember(self, name: str) -> typing.List[System.Reflection.MemberInfo]:
        ...

    @typing.overload
    def GetMember(self, name: str, bindingAttr: System.Reflection.BindingFlags) -> typing.List[System.Reflection.MemberInfo]:
        ...

    @typing.overload
    def GetMember(self, name: str, type: System.Reflection.MemberTypes, bindingAttr: System.Reflection.BindingFlags) -> typing.List[System.Reflection.MemberInfo]:
        ...

    @typing.overload
    def GetMembers(self) -> typing.List[System.Reflection.MemberInfo]:
        ...

    @typing.overload
    def GetMembers(self, bindingAttr: System.Reflection.BindingFlags) -> typing.List[System.Reflection.MemberInfo]:
        ...

    @typing.overload
    def GetMethod(self, name: str) -> System.Reflection.MethodInfo:
        ...

    @typing.overload
    def GetMethod(self, name: str, bindingAttr: System.Reflection.BindingFlags) -> System.Reflection.MethodInfo:
        ...

    @typing.overload
    def GetMethod(self, name: str, bindingAttr: System.Reflection.BindingFlags, types: typing.List[typing.Type]) -> System.Reflection.MethodInfo:
        """
        Searches for the specified method whose parameters match the specified argument types, using the specified binding constraints.
        
        :param name: The string containing the name of the method to get.
        :param bindingAttr: A bitwise combination of the enumeration values that specify how the search is conducted. -or- Default to return null.
        :param types: An array of Type objects representing the number, order, and type of the parameters for the method to get. -or- An empty array of Type objects (as provided by the EmptyTypes field) to get a method that takes no parameters.
        :returns: An object representing the method that matches the specified requirements, if found; otherwise, null.
        """
        ...

    @typing.overload
    def GetMethod(self, name: str, types: typing.List[typing.Type]) -> System.Reflection.MethodInfo:
        ...

    @typing.overload
    def GetMethod(self, name: str, types: typing.List[typing.Type], modifiers: typing.List[System.Reflection.ParameterModifier]) -> System.Reflection.MethodInfo:
        ...

    @typing.overload
    def GetMethod(self, name: str, bindingAttr: System.Reflection.BindingFlags, binder: System.Reflection.Binder, types: typing.List[typing.Type], modifiers: typing.List[System.Reflection.ParameterModifier]) -> System.Reflection.MethodInfo:
        ...

    @typing.overload
    def GetMethod(self, name: str, bindingAttr: System.Reflection.BindingFlags, binder: System.Reflection.Binder, callConvention: System.Reflection.CallingConventions, types: typing.List[typing.Type], modifiers: typing.List[System.Reflection.ParameterModifier]) -> System.Reflection.MethodInfo:
        ...

    @typing.overload
    def GetMethodImpl(self, name: str, bindingAttr: System.Reflection.BindingFlags, binder: System.Reflection.Binder, callConvention: System.Reflection.CallingConventions, types: typing.List[typing.Type], modifiers: typing.List[System.Reflection.ParameterModifier]) -> System.Reflection.MethodInfo:
        """This method is protected."""
        ...

    @typing.overload
    def GetMethod(self, name: str, genericParameterCount: int, types: typing.List[typing.Type]) -> System.Reflection.MethodInfo:
        ...

    @typing.overload
    def GetMethod(self, name: str, genericParameterCount: int, types: typing.List[typing.Type], modifiers: typing.List[System.Reflection.ParameterModifier]) -> System.Reflection.MethodInfo:
        ...

    @typing.overload
    def GetMethod(self, name: str, genericParameterCount: int, bindingAttr: System.Reflection.BindingFlags, binder: System.Reflection.Binder, types: typing.List[typing.Type], modifiers: typing.List[System.Reflection.ParameterModifier]) -> System.Reflection.MethodInfo:
        ...

    @typing.overload
    def GetMethod(self, name: str, genericParameterCount: int, bindingAttr: System.Reflection.BindingFlags, binder: System.Reflection.Binder, callConvention: System.Reflection.CallingConventions, types: typing.List[typing.Type], modifiers: typing.List[System.Reflection.ParameterModifier]) -> System.Reflection.MethodInfo:
        ...

    @typing.overload
    def GetMethodImpl(self, name: str, genericParameterCount: int, bindingAttr: System.Reflection.BindingFlags, binder: System.Reflection.Binder, callConvention: System.Reflection.CallingConventions, types: typing.List[typing.Type], modifiers: typing.List[System.Reflection.ParameterModifier]) -> System.Reflection.MethodInfo:
        """This method is protected."""
        ...

    @typing.overload
    def GetMethods(self) -> typing.List[System.Reflection.MethodInfo]:
        ...

    @typing.overload
    def GetMethods(self, bindingAttr: System.Reflection.BindingFlags) -> typing.List[System.Reflection.MethodInfo]:
        ...

    @typing.overload
    def GetNestedType(self, name: str) -> typing.Type:
        ...

    @typing.overload
    def GetNestedType(self, name: str, bindingAttr: System.Reflection.BindingFlags) -> typing.Type:
        ...

    @typing.overload
    def GetNestedTypes(self) -> typing.List[typing.Type]:
        ...

    @typing.overload
    def GetNestedTypes(self, bindingAttr: System.Reflection.BindingFlags) -> typing.List[typing.Type]:
        ...

    @typing.overload
    def GetProperty(self, name: str) -> System.Reflection.PropertyInfo:
        ...

    @typing.overload
    def GetProperty(self, name: str, bindingAttr: System.Reflection.BindingFlags) -> System.Reflection.PropertyInfo:
        ...

    @typing.overload
    def GetProperty(self, name: str, returnType: typing.Type) -> System.Reflection.PropertyInfo:
        ...

    @typing.overload
    def GetProperty(self, name: str, types: typing.List[typing.Type]) -> System.Reflection.PropertyInfo:
        ...

    @typing.overload
    def GetProperty(self, name: str, returnType: typing.Type, types: typing.List[typing.Type]) -> System.Reflection.PropertyInfo:
        ...

    @typing.overload
    def GetProperty(self, name: str, returnType: typing.Type, types: typing.List[typing.Type], modifiers: typing.List[System.Reflection.ParameterModifier]) -> System.Reflection.PropertyInfo:
        ...

    @typing.overload
    def GetProperty(self, name: str, bindingAttr: System.Reflection.BindingFlags, binder: System.Reflection.Binder, returnType: typing.Type, types: typing.List[typing.Type], modifiers: typing.List[System.Reflection.ParameterModifier]) -> System.Reflection.PropertyInfo:
        ...

    def GetPropertyImpl(self, name: str, bindingAttr: System.Reflection.BindingFlags, binder: System.Reflection.Binder, returnType: typing.Type, types: typing.List[typing.Type], modifiers: typing.List[System.Reflection.ParameterModifier]) -> System.Reflection.PropertyInfo:
        """This method is protected."""
        ...

    @typing.overload
    def GetProperties(self) -> typing.List[System.Reflection.PropertyInfo]:
        ...

    @typing.overload
    def GetProperties(self, bindingAttr: System.Reflection.BindingFlags) -> typing.List[System.Reflection.PropertyInfo]:
        ...

    def GetDefaultMembers(self) -> typing.List[System.Reflection.MemberInfo]:
        ...

    @staticmethod
    def GetTypeHandle(o: typing.Any) -> System.RuntimeTypeHandle:
        ...

    @staticmethod
    def GetTypeArray(args: typing.List[System.Object]) -> typing.List[typing.Type]:
        ...

    @staticmethod
    def GetTypeCode(type: typing.Type) -> int:
        """:returns: This method returns the int value of a member of the System.TypeCode enum."""
        ...

    def GetTypeCodeImpl(self) -> int:
        """
        This method is protected.
        
        :returns: This method returns the int value of a member of the System.TypeCode enum.
        """
        ...

    @staticmethod
    @typing.overload
    def GetTypeFromCLSID(clsid: System.Guid) -> typing.Type:
        ...

    @staticmethod
    @typing.overload
    def GetTypeFromCLSID(clsid: System.Guid, throwOnError: bool) -> typing.Type:
        ...

    @staticmethod
    @typing.overload
    def GetTypeFromCLSID(clsid: System.Guid, server: str) -> typing.Type:
        ...

    @staticmethod
    @typing.overload
    def GetTypeFromCLSID(clsid: System.Guid, server: str, throwOnError: bool) -> typing.Type:
        ...

    @staticmethod
    @typing.overload
    def GetTypeFromProgID(progID: str) -> typing.Type:
        ...

    @staticmethod
    @typing.overload
    def GetTypeFromProgID(progID: str, throwOnError: bool) -> typing.Type:
        ...

    @staticmethod
    @typing.overload
    def GetTypeFromProgID(progID: str, server: str) -> typing.Type:
        ...

    @staticmethod
    @typing.overload
    def GetTypeFromProgID(progID: str, server: str, throwOnError: bool) -> typing.Type:
        ...

    @typing.overload
    def InvokeMember(self, name: str, invokeAttr: System.Reflection.BindingFlags, binder: System.Reflection.Binder, target: typing.Any, args: typing.List[System.Object]) -> System.Object:
        ...

    @typing.overload
    def InvokeMember(self, name: str, invokeAttr: System.Reflection.BindingFlags, binder: System.Reflection.Binder, target: typing.Any, args: typing.List[System.Object], culture: System.Globalization.CultureInfo) -> System.Object:
        ...

    @typing.overload
    def InvokeMember(self, name: str, invokeAttr: System.Reflection.BindingFlags, binder: System.Reflection.Binder, target: typing.Any, args: typing.List[System.Object], modifiers: typing.List[System.Reflection.ParameterModifier], culture: System.Globalization.CultureInfo, namedParameters: typing.List[str]) -> System.Object:
        ...

    @typing.overload
    def GetInterface(self, name: str) -> typing.Type:
        ...

    @typing.overload
    def GetInterface(self, name: str, ignoreCase: bool) -> typing.Type:
        ...

    def GetInterfaces(self) -> typing.List[typing.Type]:
        ...

    def GetInterfaceMap(self, interfaceType: typing.Type) -> System.Reflection.InterfaceMapping:
        ...

    def IsInstanceOfType(self, o: typing.Any) -> bool:
        ...

    def IsEquivalentTo(self, other: typing.Type) -> bool:
        ...

    def GetEnumUnderlyingType(self) -> typing.Type:
        ...

    def GetEnumValues(self) -> System.Array:
        ...

    @typing.overload
    def MakeArrayType(self) -> typing.Type:
        ...

    @typing.overload
    def MakeArrayType(self, rank: int) -> typing.Type:
        ...

    def MakeByRefType(self) -> typing.Type:
        ...

    def MakeGenericType(self, *typeArguments: typing.Type) -> typing.Type:
        ...

    def MakePointerType(self) -> typing.Type:
        ...

    @staticmethod
    def MakeGenericSignatureType(genericTypeDefinition: typing.Type, *typeArguments: typing.Type) -> typing.Type:
        ...

    @staticmethod
    def MakeGenericMethodParameter(position: int) -> typing.Type:
        ...

    def ToString(self) -> str:
        ...

    @typing.overload
    def Equals(self, o: typing.Any) -> bool:
        ...

    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def Equals(self, o: typing.Type) -> bool:
        ...

    @staticmethod
    def ReflectionOnlyGetType(typeName: str, throwIfNotFound: bool, ignoreCase: bool) -> typing.Type:
        ...

    def FindInterfaces(self, filter: System_Reflection_TypeFilter, filterCriteria: typing.Any) -> typing.List[typing.Type]:
        ...

    def FindMembers(self, memberType: System.Reflection.MemberTypes, bindingAttr: System.Reflection.BindingFlags, filter: System_Reflection_MemberFilter, filterCriteria: typing.Any) -> typing.List[System.Reflection.MemberInfo]:
        ...

    def IsSubclassOf(self, c: typing.Type) -> bool:
        ...

    def IsAssignableFrom(self, c: typing.Type) -> bool:
        ...

    @staticmethod
    @typing.overload
    def GetType(typeName: str, throwOnError: bool, ignoreCase: bool) -> typing.Type:
        ...

    @staticmethod
    @typing.overload
    def GetType(typeName: str, throwOnError: bool) -> typing.Type:
        ...

    @staticmethod
    @typing.overload
    def GetType(typeName: str) -> typing.Type:
        ...

    @staticmethod
    @typing.overload
    def GetType(typeName: str, assemblyResolver: typing.Callable[[System.Reflection.AssemblyName], System.Reflection.Assembly], typeResolver: typing.Callable[[System.Reflection.Assembly, str, bool], typing.Type]) -> typing.Type:
        ...

    @staticmethod
    @typing.overload
    def GetType(typeName: str, assemblyResolver: typing.Callable[[System.Reflection.AssemblyName], System.Reflection.Assembly], typeResolver: typing.Callable[[System.Reflection.Assembly, str, bool], typing.Type], throwOnError: bool) -> typing.Type:
        ...

    @staticmethod
    @typing.overload
    def GetType(typeName: str, assemblyResolver: typing.Callable[[System.Reflection.AssemblyName], System.Reflection.Assembly], typeResolver: typing.Callable[[System.Reflection.Assembly, str, bool], typing.Type], throwOnError: bool, ignoreCase: bool) -> typing.Type:
        ...

    @staticmethod
    def GetTypeFromHandle(handle: System.RuntimeTypeHandle) -> typing.Type:
        ...


class InvalidOperationException(System.SystemException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class Nullable(typing.Generic[System_Nullable_T]):
    """This class has no documentation."""

    @property
    def value(self) -> System_Nullable_T:
        ...

    @value.setter
    def value(self, value: System_Nullable_T):
        ...

    @property
    def HasValue(self) -> bool:
        ...

    @property
    def Value(self) -> System_Nullable_T:
        ...

    def __init__(self, value: System_Nullable_T) -> None:
        ...

    @typing.overload
    def GetValueOrDefault(self) -> System_Nullable_T:
        ...

    @typing.overload
    def GetValueOrDefault(self, defaultValue: System_Nullable_T) -> System_Nullable_T:
        ...

    @typing.overload
    def Equals(self, other: typing.Any) -> bool:
        ...

    def GetHashCode(self) -> int:
        ...

    def ToString(self) -> str:
        ...

    @staticmethod
    def Compare(n1: typing.Optional[System_Nullable_Compare_T], n2: typing.Optional[System_Nullable_Compare_T]) -> int:
        ...

    @staticmethod
    @typing.overload
    def Equals(n1: typing.Optional[System_Nullable_Equals_T], n2: typing.Optional[System_Nullable_Equals_T]) -> bool:
        ...

    @staticmethod
    def GetUnderlyingType(nullableType: typing.Type) -> typing.Type:
        ...


class TypeUnloadedException(System.SystemException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class Buffer(System.Object):
    """This class has no documentation."""

    @staticmethod
    def BlockCopy(src: System.Array, srcOffset: int, dst: System.Array, dstOffset: int, count: int) -> None:
        ...

    @staticmethod
    def ByteLength(array: System.Array) -> int:
        ...

    @staticmethod
    def GetByte(array: System.Array, index: int) -> int:
        ...

    @staticmethod
    def SetByte(array: System.Array, index: int, value: int) -> None:
        ...

    @staticmethod
    @typing.overload
    def MemoryCopy(source: typing.Any, destination: typing.Any, destinationSizeInBytes: int, sourceBytesToCopy: int) -> None:
        ...

    @staticmethod
    @typing.overload
    def MemoryCopy(source: typing.Any, destination: typing.Any, destinationSizeInBytes: int, sourceBytesToCopy: int) -> None:
        ...


class NotSupportedException(System.SystemException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class FieldAccessException(System.MemberAccessException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, inner: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class TimeSpan(System.IComparable[datetime.timedelta], System.IEquatable[datetime.timedelta], System.IFormattable, System.ISpanFormattable):
    """This class has no documentation."""

    TicksPerMillisecond: int = 10000

    TicksPerSecond: int = ...

    TicksPerMinute: int = ...

    TicksPerHour: int = ...

    TicksPerDay: int = ...

    MaxSeconds: int = ...

    MinSeconds: int = ...

    MaxMilliSeconds: int = ...

    MinMilliSeconds: int = ...

    TicksPerTenthSecond: int = ...

    Zero: datetime.timedelta = ...

    MaxValue: datetime.timedelta = ...

    MinValue: datetime.timedelta = ...

    @property
    def _ticks(self) -> int:
        ...

    @property
    def Ticks(self) -> int:
        ...

    @property
    def Days(self) -> int:
        ...

    @property
    def Hours(self) -> int:
        ...

    @property
    def Milliseconds(self) -> int:
        ...

    @property
    def Minutes(self) -> int:
        ...

    @property
    def Seconds(self) -> int:
        ...

    @property
    def TotalDays(self) -> float:
        ...

    @property
    def TotalHours(self) -> float:
        ...

    @property
    def TotalMilliseconds(self) -> float:
        ...

    @property
    def TotalMinutes(self) -> float:
        ...

    @property
    def TotalSeconds(self) -> float:
        ...

    @typing.overload
    def __init__(self, ticks: int) -> None:
        ...

    @typing.overload
    def __init__(self, hours: int, minutes: int, seconds: int) -> None:
        ...

    @typing.overload
    def __init__(self, days: int, hours: int, minutes: int, seconds: int) -> None:
        ...

    @typing.overload
    def __init__(self, days: int, hours: int, minutes: int, seconds: int, milliseconds: int) -> None:
        ...

    def Add(self, ts: datetime.timedelta) -> datetime.timedelta:
        ...

    @staticmethod
    def Compare(t1: datetime.timedelta, t2: datetime.timedelta) -> int:
        ...

    @typing.overload
    def CompareTo(self, value: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, value: datetime.timedelta) -> int:
        ...

    @staticmethod
    def FromDays(value: float) -> datetime.timedelta:
        ...

    def Duration(self) -> datetime.timedelta:
        ...

    @typing.overload
    def Equals(self, value: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, obj: datetime.timedelta) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Equals(t1: datetime.timedelta, t2: datetime.timedelta) -> bool:
        ...

    def GetHashCode(self) -> int:
        ...

    @staticmethod
    def FromHours(value: float) -> datetime.timedelta:
        ...

    @staticmethod
    def FromMilliseconds(value: float) -> datetime.timedelta:
        ...

    @staticmethod
    def FromMinutes(value: float) -> datetime.timedelta:
        ...

    def Negate(self) -> datetime.timedelta:
        ...

    @staticmethod
    def FromSeconds(value: float) -> datetime.timedelta:
        ...

    def Subtract(self, ts: datetime.timedelta) -> datetime.timedelta:
        ...

    def Multiply(self, factor: float) -> datetime.timedelta:
        ...

    @typing.overload
    def Divide(self, divisor: float) -> datetime.timedelta:
        ...

    @typing.overload
    def Divide(self, ts: datetime.timedelta) -> float:
        ...

    @staticmethod
    def FromTicks(value: int) -> datetime.timedelta:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str) -> datetime.timedelta:
        ...

    @staticmethod
    @typing.overload
    def Parse(input: str, formatProvider: System.IFormatProvider) -> datetime.timedelta:
        ...

    @staticmethod
    @typing.overload
    def Parse(input: System.ReadOnlySpan[str], formatProvider: System.IFormatProvider = None) -> datetime.timedelta:
        ...

    @staticmethod
    @typing.overload
    def ParseExact(input: str, format: str, formatProvider: System.IFormatProvider) -> datetime.timedelta:
        ...

    @staticmethod
    @typing.overload
    def ParseExact(input: str, formats: typing.List[str], formatProvider: System.IFormatProvider) -> datetime.timedelta:
        ...

    @staticmethod
    @typing.overload
    def ParseExact(input: str, format: str, formatProvider: System.IFormatProvider, styles: System.Globalization.TimeSpanStyles) -> datetime.timedelta:
        ...

    @staticmethod
    @typing.overload
    def ParseExact(input: System.ReadOnlySpan[str], format: System.ReadOnlySpan[str], formatProvider: System.IFormatProvider, styles: System.Globalization.TimeSpanStyles = ...) -> datetime.timedelta:
        ...

    @staticmethod
    @typing.overload
    def ParseExact(input: str, formats: typing.List[str], formatProvider: System.IFormatProvider, styles: System.Globalization.TimeSpanStyles) -> datetime.timedelta:
        ...

    @staticmethod
    @typing.overload
    def ParseExact(input: System.ReadOnlySpan[str], formats: typing.List[str], formatProvider: System.IFormatProvider, styles: System.Globalization.TimeSpanStyles = ...) -> datetime.timedelta:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, result: datetime.timedelta) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], result: datetime.timedelta) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(input: str, formatProvider: System.IFormatProvider, result: datetime.timedelta) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(input: System.ReadOnlySpan[str], formatProvider: System.IFormatProvider, result: datetime.timedelta) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParseExact(input: str, format: str, formatProvider: System.IFormatProvider, result: datetime.timedelta) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParseExact(input: System.ReadOnlySpan[str], format: System.ReadOnlySpan[str], formatProvider: System.IFormatProvider, result: datetime.timedelta) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParseExact(input: str, formats: typing.List[str], formatProvider: System.IFormatProvider, result: datetime.timedelta) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParseExact(input: System.ReadOnlySpan[str], formats: typing.List[str], formatProvider: System.IFormatProvider, result: datetime.timedelta) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParseExact(input: str, format: str, formatProvider: System.IFormatProvider, styles: System.Globalization.TimeSpanStyles, result: datetime.timedelta) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParseExact(input: System.ReadOnlySpan[str], format: System.ReadOnlySpan[str], formatProvider: System.IFormatProvider, styles: System.Globalization.TimeSpanStyles, result: datetime.timedelta) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParseExact(input: str, formats: typing.List[str], formatProvider: System.IFormatProvider, styles: System.Globalization.TimeSpanStyles, result: datetime.timedelta) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParseExact(input: System.ReadOnlySpan[str], formats: typing.List[str], formatProvider: System.IFormatProvider, styles: System.Globalization.TimeSpanStyles, result: datetime.timedelta) -> bool:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, format: str) -> str:
        ...

    @typing.overload
    def ToString(self, format: str, formatProvider: System.IFormatProvider) -> str:
        ...

    def TryFormat(self, destination: System.Span[str], charsWritten: int, format: System.ReadOnlySpan[str] = ..., formatProvider: System.IFormatProvider = None) -> bool:
        ...


class HashCode:
    """This class has no documentation."""

    @staticmethod
    @typing.overload
    def Combine(value1: System_HashCode_Combine_T1) -> int:
        ...

    @staticmethod
    @typing.overload
    def Combine(value1: System_HashCode_Combine_T1, value2: System_HashCode_Combine_T2) -> int:
        ...

    @staticmethod
    @typing.overload
    def Combine(value1: System_HashCode_Combine_T1, value2: System_HashCode_Combine_T2, value3: System_HashCode_Combine_T3) -> int:
        ...

    @staticmethod
    @typing.overload
    def Combine(value1: System_HashCode_Combine_T1, value2: System_HashCode_Combine_T2, value3: System_HashCode_Combine_T3, value4: System_HashCode_Combine_T4) -> int:
        ...

    @staticmethod
    @typing.overload
    def Combine(value1: System_HashCode_Combine_T1, value2: System_HashCode_Combine_T2, value3: System_HashCode_Combine_T3, value4: System_HashCode_Combine_T4, value5: System_HashCode_Combine_T5) -> int:
        ...

    @staticmethod
    @typing.overload
    def Combine(value1: System_HashCode_Combine_T1, value2: System_HashCode_Combine_T2, value3: System_HashCode_Combine_T3, value4: System_HashCode_Combine_T4, value5: System_HashCode_Combine_T5, value6: System_HashCode_Combine_T6) -> int:
        ...

    @staticmethod
    @typing.overload
    def Combine(value1: System_HashCode_Combine_T1, value2: System_HashCode_Combine_T2, value3: System_HashCode_Combine_T3, value4: System_HashCode_Combine_T4, value5: System_HashCode_Combine_T5, value6: System_HashCode_Combine_T6, value7: System_HashCode_Combine_T7) -> int:
        ...

    @staticmethod
    @typing.overload
    def Combine(value1: System_HashCode_Combine_T1, value2: System_HashCode_Combine_T2, value3: System_HashCode_Combine_T3, value4: System_HashCode_Combine_T4, value5: System_HashCode_Combine_T5, value6: System_HashCode_Combine_T6, value7: System_HashCode_Combine_T7, value8: System_HashCode_Combine_T8) -> int:
        ...

    @typing.overload
    def Add(self, value: System_HashCode_Add_T) -> None:
        ...

    @typing.overload
    def Add(self, value: System_HashCode_Add_T, comparer: System.Collections.Generic.IEqualityComparer[System_HashCode_Add_T]) -> None:
        ...

    def ToHashCode(self) -> int:
        ...

    def GetHashCode(self) -> int:
        ...

    def Equals(self, obj: typing.Any) -> bool:
        ...


class Memory(typing.Generic[System_Memory_T], System.IEquatable[System_Memory]):
    """
    Memory represents a contiguous region of arbitrary memory similar to Span{T}.
    Unlike Span{T}, it is not a byref-like type.
    """

    Empty: System.Memory[System_Memory_T]
    """Returns an empty Memory{T}"""

    @property
    def Length(self) -> int:
        """The number of items in the memory."""
        ...

    @property
    def IsEmpty(self) -> bool:
        """Returns true if Length is 0."""
        ...

    @property
    def Span(self) -> System.Span[System_Memory_T]:
        """Returns a span from the memory."""
        ...

    @typing.overload
    def __init__(self, array: typing.List[System_Memory_T]) -> None:
        """
        Creates a new memory over the entirety of the target array.
        
        :param array: The target array.
        """
        ...

    @typing.overload
    def __init__(self, array: typing.List[System_Memory_T], start: int, length: int) -> None:
        """
        Creates a new memory over the portion of the target array beginning
        at 'start' index and ending at 'end' index (exclusive).
        
        :param array: The target array.
        :param start: The index at which to begin the memory.
        :param length: The number of items in the memory.
        """
        ...

    def ToString(self) -> str:
        """
        For Memory{Char}, returns a new instance of string that represents the characters pointed to by the memory.
        Otherwise, returns a string with the name of the type and the number of elements.
        """
        ...

    @typing.overload
    def Slice(self, start: int) -> System.Memory[System_Memory_T]:
        """
        Forms a slice out of the given memory, beginning at 'start'.
        
        :param start: The index at which to begin this slice.
        """
        ...

    @typing.overload
    def Slice(self, start: int, length: int) -> System.Memory[System_Memory_T]:
        """
        Forms a slice out of the given memory, beginning at 'start', of given length
        
        :param start: The index at which to begin this slice.
        :param length: The desired length for the slice (exclusive).
        """
        ...

    def CopyTo(self, destination: System.Memory[System_Memory_T]) -> None:
        """
        Copies the contents of the memory into the destination. If the source
        and destination overlap, this method behaves as if the original values are in
        a temporary location before the destination is overwritten.
        
        The Memory to copy items into.
        Thrown when the destination is shorter than the source.
        
        :param destination: The Memory to copy items into.
        """
        ...

    def TryCopyTo(self, destination: System.Memory[System_Memory_T]) -> bool:
        """
        Copies the contents of the memory into the destination. If the source
        and destination overlap, this method behaves as if the original values are in
        a temporary location before the destination is overwritten.
        
        If the destination is shorter than the source, this method
        return false and no data is written to the destination.
        
        :param destination: The span to copy items into.
        """
        ...

    def Pin(self) -> System.Buffers.MemoryHandle:
        """
        Creates a handle for the memory.
        The GC will not move the memory until the returned MemoryHandle
        is disposed, enabling taking and using the memory's address.
        
        An instance with nonprimitive (non-blittable) members cannot be pinned.
        """
        ...

    def ToArray(self) -> typing.List[System_Memory_T]:
        """
        Copies the contents from the memory into a new array.  This heap
        allocates, so should generally be avoided, however it is sometimes
        necessary to bridge the gap with APIs written in terms of arrays.
        """
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        """
        Determines whether the specified object is equal to the current object.
        Returns true if the object is Memory or ReadOnlyMemory and if both objects point to the same array and have the same length.
        """
        ...

    @typing.overload
    def Equals(self, other: System.Memory[System_Memory_T]) -> bool:
        """
        Returns true if the memory points to the same array and has the same length.  Note that
        this does *not* check to see if the *contents* are equal.
        """
        ...

    def GetHashCode(self) -> int:
        """Serves as the default hash function."""
        ...


class ReadOnlyMemory(typing.Generic[System_ReadOnlyMemory_T], System.IEquatable[System_ReadOnlyMemory]):
    """
    Represents a contiguous region of memory, similar to ReadOnlySpan{T}.
    Unlike ReadOnlySpan{T}, it is not a byref-like type.
    """

    RemoveFlagsBitMask: int = ...

    Empty: System.ReadOnlyMemory[System_ReadOnlyMemory_T]
    """Returns an empty ReadOnlyMemory{T}"""

    @property
    def Length(self) -> int:
        """The number of items in the memory."""
        ...

    @property
    def IsEmpty(self) -> bool:
        """Returns true if Length is 0."""
        ...

    @property
    def Span(self) -> System.ReadOnlySpan[System_ReadOnlyMemory_T]:
        """Returns a span from the memory."""
        ...

    @typing.overload
    def __init__(self, array: typing.List[System_ReadOnlyMemory_T]) -> None:
        """
        Creates a new memory over the entirety of the target array.
        
        :param array: The target array.
        """
        ...

    @typing.overload
    def __init__(self, array: typing.List[System_ReadOnlyMemory_T], start: int, length: int) -> None:
        """
        Creates a new memory over the portion of the target array beginning
        at 'start' index and ending at 'end' index (exclusive).
        
        :param array: The target array.
        :param start: The index at which to begin the memory.
        :param length: The number of items in the memory.
        """
        ...

    def ToString(self) -> str:
        """
        For ReadOnlyMemory{Char}, returns a new instance of string that represents the characters pointed to by the memory.
        Otherwise, returns a string with the name of the type and the number of elements.
        """
        ...

    @typing.overload
    def Slice(self, start: int) -> System.ReadOnlyMemory[System_ReadOnlyMemory_T]:
        """
        Forms a slice out of the given memory, beginning at 'start'.
        
        :param start: The index at which to begin this slice.
        """
        ...

    @typing.overload
    def Slice(self, start: int, length: int) -> System.ReadOnlyMemory[System_ReadOnlyMemory_T]:
        """
        Forms a slice out of the given memory, beginning at 'start', of given length
        
        :param start: The index at which to begin this slice.
        :param length: The desired length for the slice (exclusive).
        """
        ...

    def CopyTo(self, destination: System.Memory[System_ReadOnlyMemory_T]) -> None:
        """
        Copies the contents of the read-only memory into the destination. If the source
        and destination overlap, this method behaves as if the original values are in
        a temporary location before the destination is overwritten.
        
        The Memory to copy items into.
        Thrown when the destination is shorter than the source.
        
        :param destination: The Memory to copy items into.
        """
        ...

    def TryCopyTo(self, destination: System.Memory[System_ReadOnlyMemory_T]) -> bool:
        """
        Copies the contents of the readonly-only memory into the destination. If the source
        and destination overlap, this method behaves as if the original values are in
        a temporary location before the destination is overwritten.
        
        If the destination is shorter than the source, this method
        return false and no data is written to the destination.
        
        :param destination: The span to copy items into.
        """
        ...

    def Pin(self) -> System.Buffers.MemoryHandle:
        """
        Creates a handle for the memory.
        The GC will not move the memory until the returned MemoryHandle
        is disposed, enabling taking and using the memory's address.
        
        An instance with nonprimitive (non-blittable) members cannot be pinned.
        """
        ...

    def ToArray(self) -> typing.List[System_ReadOnlyMemory_T]:
        """
        Copies the contents from the memory into a new array.  This heap
        allocates, so should generally be avoided, however it is sometimes
        necessary to bridge the gap with APIs written in terms of arrays.
        """
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        """Determines whether the specified object is equal to the current object."""
        ...

    @typing.overload
    def Equals(self, other: System.ReadOnlyMemory[System_ReadOnlyMemory_T]) -> bool:
        """
        Returns true if the memory points to the same array and has the same length.  Note that
        this does *not* check to see if the *contents* are equal.
        """
        ...

    def GetHashCode(self) -> int:
        """Returns the hash code for this ReadOnlyMemory{T}"""
        ...


class Index(System.IEquatable[System_Index]):
    """Represent a type can be used to index a collection either from the start or the end."""

    Start: System.Index
    """Create an Index pointing at first element."""

    End: System.Index
    """Create an Index pointing at beyond last element."""

    @property
    def Value(self) -> int:
        """Returns the index value."""
        ...

    @property
    def IsFromEnd(self) -> bool:
        """Indicates whether the index is from the start or the end."""
        ...

    def __init__(self, value: int, fromEnd: bool = False) -> None:
        """
        Construct an Index using a value and indicating if the index is from the start or from the end.
        
        :param value: The index value. it has to be zero or positive number.
        :param fromEnd: Indicating if the index is from the start or from the end.
        """
        ...

    @staticmethod
    def FromStart(value: int) -> System.Index:
        """
        Create an Index from the start at the position indicated by the value.
        
        :param value: The index value from the start.
        """
        ...

    @staticmethod
    def FromEnd(value: int) -> System.Index:
        """
        Create an Index from the end at the position indicated by the value.
        
        :param value: The index value from the end.
        """
        ...

    def GetOffset(self, length: int) -> int:
        """
        Calculate the offset from the start using the giving collection length.
        
        :param length: The length of the collection that the Index will be used with. length has to be a positive value
        """
        ...

    @typing.overload
    def Equals(self, value: typing.Any) -> bool:
        """
        Indicates whether the current Index object is equal to another object of the same type.
        
        :param value: An object to compare with this object
        """
        ...

    @typing.overload
    def Equals(self, other: System.Index) -> bool:
        """
        Indicates whether the current Index object is equal to another Index object.
        
        :param other: An object to compare with this object
        """
        ...

    def GetHashCode(self) -> int:
        """Returns the hash code for this instance."""
        ...

    def ToString(self) -> str:
        """Converts the value of the current Index object to its equivalent string representation."""
        ...


class Range(System.IEquatable[System_Range]):
    """Represent a range has start and end indexes."""

    @property
    def Start(self) -> System.Index:
        """Represent the inclusive start index of the Range."""
        ...

    @property
    def End(self) -> System.Index:
        """Represent the exclusive end index of the Range."""
        ...

    All: System.Range
    """Create a Range object starting from first element to the end."""

    def __init__(self, start: System.Index, end: System.Index) -> None:
        """
        Construct a Range object using the start and end indexes.
        
        :param start: Represent the inclusive start index of the range.
        :param end: Represent the exclusive end index of the range.
        """
        ...

    @typing.overload
    def Equals(self, value: typing.Any) -> bool:
        """
        Indicates whether the current Range object is equal to another object of the same type.
        
        :param value: An object to compare with this object
        """
        ...

    @typing.overload
    def Equals(self, other: System.Range) -> bool:
        """
        Indicates whether the current Range object is equal to another Range object.
        
        :param other: An object to compare with this object
        """
        ...

    def GetHashCode(self) -> int:
        """Returns the hash code for this instance."""
        ...

    def ToString(self) -> str:
        """Converts the value of the current Range object to its equivalent string representation."""
        ...

    @staticmethod
    def StartAt(start: System.Index) -> System.Range:
        """Create a Range object starting from start index to the end of the collection."""
        ...

    @staticmethod
    def EndAt(end: System.Index) -> System.Range:
        """Create a Range object starting from first element in the collection to the end Index."""
        ...

    def GetOffsetAndLength(self, length: int) -> System.ValueTuple[int, int]:
        """
        Calculate the start offset and length of range object using a collection length.
        
        :param length: The length of the collection that the range will be used with. length has to be a positive value.
        """
        ...


class Utf8Extensions(System.Object):
    """This class has no documentation."""

    @staticmethod
    @typing.overload
    def AsBytes(text: System.ReadOnlySpan[Char8]) -> System.ReadOnlySpan[int]:
        """Projects  as a ReadOnlySpan{Byte}."""
        ...

    @staticmethod
    @typing.overload
    def AsBytes(text: typing.Optional[Utf8String]) -> System.ReadOnlySpan[int]:
        """
        Creates a new readonly span over the portion of the target Utf8String.
        
        :param text: The target Utf8String.
        """
        ...

    @staticmethod
    @typing.overload
    def AsBytes(text: typing.Optional[Utf8String], start: int) -> System.ReadOnlySpan[int]:
        """
        Creates a new readonly span over the portion of the target Utf8String.
        
        :param text: The target Utf8String.
        :param start: The index at which to begin this slice.
        """
        ...

    @staticmethod
    @typing.overload
    def AsBytes(text: typing.Optional[Utf8String], start: int, length: int) -> System.ReadOnlySpan[int]:
        """
        Creates a new readonly span over the portion of the target Utf8String.
        
        :param text: The target Utf8String.
        :param start: The index at which to begin this slice.
        :param length: The desired length for the slice (exclusive).
        """
        ...

    @staticmethod
    @typing.overload
    def AsSpan(text: typing.Optional[Utf8String]) -> typing.Any:
        """
        Creates a new Utf8Span over the target Utf8String.
        
        :param text: The target Utf8String.
        """
        ...

    @staticmethod
    @typing.overload
    def AsSpan(text: typing.Optional[Utf8String], start: int) -> typing.Any:
        """
        Creates a new Utf8Span over the portion of the target Utf8String.
        
        :param text: The target Utf8String.
        :param start: The index at which to begin this slice.
        """
        ...

    @staticmethod
    @typing.overload
    def AsSpan(text: typing.Optional[Utf8String], start: int, length: int) -> typing.Any:
        """
        Creates a new Utf8Span over the portion of the target Utf8String.
        
        :param text: The target Utf8String.
        :param start: The index at which to begin this slice.
        :param length: The desired length for the slice (exclusive).
        """
        ...

    @staticmethod
    @typing.overload
    def AsMemoryBytes(text: typing.Optional[Utf8String]) -> System.ReadOnlyMemory[int]:
        """
        Creates a new ReadOnlyMemory{T} over the portion of the target Utf8String.
        
        :param text: The target Utf8String.
        """
        ...

    @staticmethod
    @typing.overload
    def AsMemoryBytes(text: typing.Optional[Utf8String], start: int) -> System.ReadOnlyMemory[int]:
        """
        Creates a new ReadOnlyMemory{T} over the portion of the target Utf8String.
        
        :param text: The target Utf8String.
        :param start: The index at which to begin this slice.
        """
        ...

    @staticmethod
    @typing.overload
    def AsMemoryBytes(text: typing.Optional[Utf8String], startIndex: System.Index) -> System.ReadOnlyMemory[int]:
        """
        Creates a new ReadOnlyMemory{T} over the portion of the target Utf8String.
        
        :param text: The target Utf8String.
        :param startIndex: The index at which to begin this slice.
        """
        ...

    @staticmethod
    @typing.overload
    def AsMemoryBytes(text: typing.Optional[Utf8String], start: int, length: int) -> System.ReadOnlyMemory[int]:
        """
        Creates a new ReadOnlyMemory{T} over the portion of the target Utf8String.
        
        :param text: The target Utf8String.
        :param start: The index at which to begin this slice.
        :param length: The desired length for the slice (exclusive).
        """
        ...

    @staticmethod
    @typing.overload
    def AsMemoryBytes(text: typing.Optional[Utf8String], range: System.Range) -> System.ReadOnlyMemory[int]:
        """
        Creates a new ReadOnlyMemory{T} over the portion of the target Utf8String.
        
        :param text: The target Utf8String.
        :param range: The range used to indicate the start and length of the sliced string.
        """
        ...

    @staticmethod
    def ToUtf8String(rune: System.Text.Rune) -> typing.Any:
        """Returns a Utf8String representation of this Rune instance."""
        ...

    @staticmethod
    @typing.overload
    def AsMemory(text: typing.Optional[Utf8String]) -> System.ReadOnlyMemory[Char8]:
        """
        Creates a new ReadOnlyMemory{T} over the portion of the target Utf8String.
        
        :param text: The target Utf8String.
        """
        ...

    @staticmethod
    @typing.overload
    def AsMemory(text: typing.Optional[Utf8String], start: int) -> System.ReadOnlyMemory[Char8]:
        """
        Creates a new ReadOnlyMemory{T} over the portion of the target Utf8String.
        
        :param text: The target Utf8String.
        :param start: The index at which to begin this slice.
        """
        ...

    @staticmethod
    @typing.overload
    def AsMemory(text: typing.Optional[Utf8String], startIndex: System.Index) -> System.ReadOnlyMemory[Char8]:
        """
        Creates a new ReadOnlyMemory{T} over the portion of the target Utf8String.
        
        :param text: The target Utf8String.
        :param startIndex: The index at which to begin this slice.
        """
        ...

    @staticmethod
    @typing.overload
    def AsMemory(text: typing.Optional[Utf8String], start: int, length: int) -> System.ReadOnlyMemory[Char8]:
        """
        Creates a new ReadOnlyMemory{T} over the portion of the target Utf8String.
        
        :param text: The target Utf8String.
        :param start: The index at which to begin this slice.
        :param length: The desired length for the slice (exclusive).
        """
        ...

    @staticmethod
    @typing.overload
    def AsMemory(text: typing.Optional[Utf8String], range: System.Range) -> System.ReadOnlyMemory[Char8]:
        """
        Creates a new ReadOnlyMemory{T} over the portion of the target Utf8String.
        
        :param text: The target Utf8String.
        :param range: The range used to indicate the start and length of the sliced string.
        """
        ...


class AppDomainSetup(System.Object):
    """This class has no documentation."""

    @property
    def ApplicationBase(self) -> str:
        ...

    @property
    def TargetFrameworkName(self) -> str:
        ...


class AppDomain(System.MarshalByRefObject):
    """This class has no documentation."""

    @property
    def MonitoringTotalProcessorTime(self) -> datetime.timedelta:
        ...

    CurrentDomain: System.AppDomain

    @property
    def BaseDirectory(self) -> str:
        ...

    @property
    def RelativeSearchPath(self) -> str:
        ...

    @property
    def SetupInformation(self) -> System.AppDomainSetup:
        ...

    @property
    def PermissionSet(self) -> System.Security.PermissionSet:
        ...

    @property
    def UnhandledException(self) -> typing.List[System_UnhandledExceptionEventHandler]:
        ...

    @UnhandledException.setter
    def UnhandledException(self, value: typing.List[System_UnhandledExceptionEventHandler]):
        ...

    @property
    def DynamicDirectory(self) -> str:
        ...

    @property
    def FriendlyName(self) -> str:
        ...

    @property
    def Id(self) -> int:
        ...

    @property
    def IsFullyTrusted(self) -> bool:
        ...

    @property
    def IsHomogenous(self) -> bool:
        ...

    @property
    def DomainUnload(self) -> typing.List[System_EventHandler]:
        ...

    @DomainUnload.setter
    def DomainUnload(self, value: typing.List[System_EventHandler]):
        ...

    @property
    def FirstChanceException(self) -> typing.List[System_EventHandler]:
        ...

    @FirstChanceException.setter
    def FirstChanceException(self, value: typing.List[System_EventHandler]):
        ...

    @property
    def ProcessExit(self) -> typing.List[System_EventHandler]:
        ...

    @ProcessExit.setter
    def ProcessExit(self, value: typing.List[System_EventHandler]):
        ...

    MonitoringIsEnabled: bool

    @property
    def MonitoringSurvivedMemorySize(self) -> int:
        ...

    MonitoringSurvivedProcessMemorySize: int

    @property
    def MonitoringTotalAllocatedMemorySize(self) -> int:
        ...

    @property
    def ShadowCopyFiles(self) -> bool:
        ...

    @property
    def AssemblyLoad(self) -> typing.List[System_AssemblyLoadEventHandler]:
        ...

    @AssemblyLoad.setter
    def AssemblyLoad(self, value: typing.List[System_AssemblyLoadEventHandler]):
        ...

    @property
    def AssemblyResolve(self) -> typing.List[System_ResolveEventHandler]:
        ...

    @AssemblyResolve.setter
    def AssemblyResolve(self, value: typing.List[System_ResolveEventHandler]):
        ...

    @property
    def ReflectionOnlyAssemblyResolve(self) -> typing.List[System_ResolveEventHandler]:
        ...

    @ReflectionOnlyAssemblyResolve.setter
    def ReflectionOnlyAssemblyResolve(self, value: typing.List[System_ResolveEventHandler]):
        ...

    @property
    def TypeResolve(self) -> typing.List[System_ResolveEventHandler]:
        ...

    @TypeResolve.setter
    def TypeResolve(self, value: typing.List[System_ResolveEventHandler]):
        ...

    @property
    def ResourceResolve(self) -> typing.List[System_ResolveEventHandler]:
        ...

    @ResourceResolve.setter
    def ResourceResolve(self, value: typing.List[System_ResolveEventHandler]):
        ...

    def SetDynamicBase(self, path: str) -> None:
        ...

    def ApplyPolicy(self, assemblyName: str) -> str:
        ...

    @staticmethod
    def CreateDomain(friendlyName: str) -> System.AppDomain:
        ...

    @typing.overload
    def ExecuteAssembly(self, assemblyFile: str) -> int:
        ...

    @typing.overload
    def ExecuteAssembly(self, assemblyFile: str, args: typing.List[str]) -> int:
        ...

    @typing.overload
    def ExecuteAssembly(self, assemblyFile: str, args: typing.List[str], hashValue: typing.List[int], hashAlgorithm: System.Configuration.Assemblies.AssemblyHashAlgorithm) -> int:
        ...

    @typing.overload
    def ExecuteAssemblyByName(self, assemblyName: System.Reflection.AssemblyName, *args: str) -> int:
        ...

    @typing.overload
    def ExecuteAssemblyByName(self, assemblyName: str) -> int:
        ...

    @typing.overload
    def ExecuteAssemblyByName(self, assemblyName: str, *args: str) -> int:
        ...

    def GetData(self, name: str) -> System.Object:
        ...

    def SetData(self, name: str, data: typing.Any) -> None:
        ...

    def IsCompatibilitySwitchSet(self, value: str) -> typing.Optional[bool]:
        ...

    def IsDefaultAppDomain(self) -> bool:
        ...

    def IsFinalizingForUnload(self) -> bool:
        ...

    def ToString(self) -> str:
        ...

    @staticmethod
    def Unload(domain: System.AppDomain) -> None:
        ...

    @typing.overload
    def Load(self, rawAssembly: typing.List[int]) -> System.Reflection.Assembly:
        ...

    @typing.overload
    def Load(self, rawAssembly: typing.List[int], rawSymbolStore: typing.List[int]) -> System.Reflection.Assembly:
        ...

    @typing.overload
    def Load(self, assemblyRef: System.Reflection.AssemblyName) -> System.Reflection.Assembly:
        ...

    @typing.overload
    def Load(self, assemblyString: str) -> System.Reflection.Assembly:
        ...

    def ReflectionOnlyGetAssemblies(self) -> typing.List[System.Reflection.Assembly]:
        ...

    @staticmethod
    def GetCurrentThreadId() -> int:
        ...

    def AppendPrivatePath(self, path: str) -> None:
        ...

    def ClearPrivatePath(self) -> None:
        ...

    def ClearShadowCopyPath(self) -> None:
        ...

    def SetCachePath(self, path: str) -> None:
        ...

    def SetShadowCopyFiles(self) -> None:
        ...

    def SetShadowCopyPath(self, path: str) -> None:
        ...

    def GetAssemblies(self) -> typing.List[System.Reflection.Assembly]:
        ...

    def SetPrincipalPolicy(self, policy: System.Security.Principal.PrincipalPolicy) -> None:
        ...

    def SetThreadPrincipal(self, principal: System.Security.Principal.IPrincipal) -> None:
        ...

    @typing.overload
    def CreateInstance(self, assemblyName: str, typeName: str) -> System.Runtime.Remoting.ObjectHandle:
        ...

    @typing.overload
    def CreateInstance(self, assemblyName: str, typeName: str, ignoreCase: bool, bindingAttr: System.Reflection.BindingFlags, binder: System.Reflection.Binder, args: typing.List[System.Object], culture: System.Globalization.CultureInfo, activationAttributes: typing.List[System.Object]) -> System.Runtime.Remoting.ObjectHandle:
        ...

    @typing.overload
    def CreateInstance(self, assemblyName: str, typeName: str, activationAttributes: typing.List[System.Object]) -> System.Runtime.Remoting.ObjectHandle:
        ...

    @typing.overload
    def CreateInstanceAndUnwrap(self, assemblyName: str, typeName: str) -> System.Object:
        ...

    @typing.overload
    def CreateInstanceAndUnwrap(self, assemblyName: str, typeName: str, ignoreCase: bool, bindingAttr: System.Reflection.BindingFlags, binder: System.Reflection.Binder, args: typing.List[System.Object], culture: System.Globalization.CultureInfo, activationAttributes: typing.List[System.Object]) -> System.Object:
        ...

    @typing.overload
    def CreateInstanceAndUnwrap(self, assemblyName: str, typeName: str, activationAttributes: typing.List[System.Object]) -> System.Object:
        ...

    @typing.overload
    def CreateInstanceFrom(self, assemblyFile: str, typeName: str) -> System.Runtime.Remoting.ObjectHandle:
        ...

    @typing.overload
    def CreateInstanceFrom(self, assemblyFile: str, typeName: str, ignoreCase: bool, bindingAttr: System.Reflection.BindingFlags, binder: System.Reflection.Binder, args: typing.List[System.Object], culture: System.Globalization.CultureInfo, activationAttributes: typing.List[System.Object]) -> System.Runtime.Remoting.ObjectHandle:
        ...

    @typing.overload
    def CreateInstanceFrom(self, assemblyFile: str, typeName: str, activationAttributes: typing.List[System.Object]) -> System.Runtime.Remoting.ObjectHandle:
        ...

    @typing.overload
    def CreateInstanceFromAndUnwrap(self, assemblyFile: str, typeName: str) -> System.Object:
        ...

    @typing.overload
    def CreateInstanceFromAndUnwrap(self, assemblyFile: str, typeName: str, ignoreCase: bool, bindingAttr: System.Reflection.BindingFlags, binder: System.Reflection.Binder, args: typing.List[System.Object], culture: System.Globalization.CultureInfo, activationAttributes: typing.List[System.Object]) -> System.Object:
        ...

    @typing.overload
    def CreateInstanceFromAndUnwrap(self, assemblyFile: str, typeName: str, activationAttributes: typing.List[System.Object]) -> System.Object:
        ...


class UIntPtr(System.IEquatable[System_UIntPtr], System.IComparable[System_UIntPtr], System.IFormattable, System.ISpanFormattable, System.Runtime.Serialization.ISerializable):
    """This class has no documentation."""

    Zero: System.UIntPtr

    Size: int

    MaxValue: System.UIntPtr

    MinValue: System.UIntPtr

    @typing.overload
    def __init__(self, value: int) -> None:
        ...

    @typing.overload
    def __init__(self, value: int) -> None:
        ...

    @typing.overload
    def __init__(self, value: typing.Any) -> None:
        ...

    def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    def GetHashCode(self) -> int:
        ...

    def ToUInt32(self) -> int:
        ...

    def ToUInt64(self) -> int:
        ...

    @staticmethod
    def Add(pointer: System.UIntPtr, offset: int) -> System.UIntPtr:
        ...

    @staticmethod
    def Subtract(pointer: System.UIntPtr, offset: int) -> System.UIntPtr:
        ...

    def ToPointer(self) -> typing.Any:
        ...

    @typing.overload
    def CompareTo(self, value: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, value: System.UIntPtr) -> int:
        ...

    @typing.overload
    def Equals(self, other: System.UIntPtr) -> bool:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, format: str) -> str:
        ...

    @typing.overload
    def ToString(self, provider: System.IFormatProvider) -> str:
        ...

    @typing.overload
    def ToString(self, format: str, provider: System.IFormatProvider) -> str:
        ...

    def TryFormat(self, destination: System.Span[str], charsWritten: int, format: System.ReadOnlySpan[str] = ..., provider: System.IFormatProvider = None) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str) -> System.UIntPtr:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles) -> System.UIntPtr:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, provider: System.IFormatProvider) -> System.UIntPtr:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider) -> System.UIntPtr:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles = ..., provider: System.IFormatProvider = None) -> System.UIntPtr:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, result: System.UIntPtr) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: System.UIntPtr) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], result: System.UIntPtr) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: System.UIntPtr) -> bool:
        ...


class Random(System.Object):
    """
    Represents a pseudo-random number generator, which is an algorithm that produces a sequence of numbers
    that meet certain statistical requirements for randomness.
    """

    @typing.overload
    def __init__(self) -> None:
        """Initializes a new instance of the Random class using a default seed value."""
        ...

    @typing.overload
    def __init__(self, Seed: int) -> None:
        """
        Initializes a new instance of the Random class, using the specified seed value.
        
        :param Seed: A number used to calculate a starting value for the pseudo-random number sequence. If a negative number is specified, the absolute value of the number is used.
        """
        ...

    @typing.overload
    def Next(self) -> int:
        """
        Returns a non-negative random integer.
        
        :returns: A 32-bit signed integer that is greater than or equal to 0 and less than int.MaxValue.
        """
        ...

    @typing.overload
    def Next(self, maxValue: int) -> int:
        """
        Returns a non-negative random integer that is less than the specified maximum.
        
        :param maxValue: The exclusive upper bound of the random number to be generated.  must be greater than or equal to 0.
        :returns: A 32-bit signed integer that is greater than or equal to 0, and less than ; that is, the range of return values ordinarily includes 0 but not . However, if  equals 0,  is returned.
        """
        ...

    @typing.overload
    def Next(self, minValue: int, maxValue: int) -> int:
        """
        Returns a random integer that is within a specified range.
        
        :param minValue: The inclusive lower bound of the random number returned.
        :param maxValue: The exclusive upper bound of the random number returned.  must be greater than or equal to .
        :returns: A 32-bit signed integer greater than or equal to  and less than ; that is, the range of return values includes  but not . If minValue equals ,  is returned.
        """
        ...

    @typing.overload
    def NextInt64(self) -> int:
        """
        Returns a non-negative random integer.
        
        :returns: A 64-bit signed integer that is greater than or equal to 0 and less than long.MaxValue.
        """
        ...

    @typing.overload
    def NextInt64(self, maxValue: int) -> int:
        """
        Returns a non-negative random integer that is less than the specified maximum.
        
        :param maxValue: The exclusive upper bound of the random number to be generated.  must be greater than or equal to 0.
        :returns: A 64-bit signed integer that is greater than or equal to 0, and less than ; that is, the range of return values ordinarily includes 0 but not . However, if  equals 0,  is returned.
        """
        ...

    @typing.overload
    def NextInt64(self, minValue: int, maxValue: int) -> int:
        """
        Returns a random integer that is within a specified range.
        
        :param minValue: The inclusive lower bound of the random number returned.
        :param maxValue: The exclusive upper bound of the random number returned.  must be greater than or equal to .
        :returns: A 64-bit signed integer greater than or equal to  and less than ; that is, the range of return values includes  but not . If minValue equals ,  is returned.
        """
        ...

    def NextSingle(self) -> float:
        """
        Returns a random floating-point number that is greater than or equal to 0.0, and less than 1.0.
        
        :returns: A single-precision floating point number that is greater than or equal to 0.0, and less than 1.0.
        """
        ...

    def NextDouble(self) -> float:
        """
        Returns a random floating-point number that is greater than or equal to 0.0, and less than 1.0.
        
        :returns: A double-precision floating point number that is greater than or equal to 0.0, and less than 1.0.
        """
        ...

    @typing.overload
    def NextBytes(self, buffer: typing.List[int]) -> None:
        """
        Fills the elements of a specified array of bytes with random numbers.
        
        :param buffer: The array to be filled with random numbers.
        """
        ...

    @typing.overload
    def NextBytes(self, buffer: System.Span[int]) -> None:
        """
        Fills the elements of a specified span of bytes with random numbers.
        
        :param buffer: The array to be filled with random numbers.
        """
        ...

    def Sample(self) -> float:
        """
        Returns a random floating-point number between 0.0 and 1.0.
        
        This method is protected.
        
        :returns: A double-precision floating point number that is greater than or equal to 0.0, and less than 1.0.
        """
        ...


class InsufficientExecutionStackException(System.SystemException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...


class FormatException(System.SystemException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class DateTimeKind(System.Enum):
    """This class has no documentation."""

    Unspecified = 0

    Utc = 1

    Local = 2


class DateTime(System.IComparable[datetime.datetime], System.IFormattable, System.IConvertible, System.IEquatable[datetime.datetime], System.Runtime.Serialization.ISerializable, System.ISpanFormattable):
    """This class has no documentation."""

    s_systemSupportsLeapSeconds: bool = False

    UtcNow: datetime.datetime

    DaysTo1970: int = ...

    MinTicks: int = 0

    MaxTicks: int = ...

    UnixEpochTicks: int = ...

    MinValue: datetime.datetime = ...

    MaxValue: datetime.datetime = ...

    UnixEpoch: datetime.datetime = ...

    @property
    def InternalTicks(self) -> int:
        ...

    @property
    def Date(self) -> datetime.datetime:
        ...

    @property
    def Day(self) -> int:
        ...

    @property
    def DayOfWeek(self) -> int:
        """This property contains the int value of a member of the System.DayOfWeek enum."""
        ...

    @property
    def DayOfYear(self) -> int:
        ...

    @property
    def Hour(self) -> int:
        ...

    @property
    def Kind(self) -> int:
        """This property contains the int value of a member of the System.DateTimeKind enum."""
        ...

    @property
    def Millisecond(self) -> int:
        ...

    @property
    def Minute(self) -> int:
        ...

    @property
    def Month(self) -> int:
        ...

    Now: datetime.datetime

    @property
    def Second(self) -> int:
        ...

    @property
    def Ticks(self) -> int:
        ...

    @property
    def TimeOfDay(self) -> datetime.timedelta:
        ...

    Today: datetime.datetime

    @property
    def Year(self) -> int:
        ...

    s_systemSupportsLeapSeconds: bool = ...

    @typing.overload
    def __init__(self, ticks: int) -> None:
        ...

    @typing.overload
    def __init__(self, ticks: int, kind: System.DateTimeKind) -> None:
        ...

    @typing.overload
    def __init__(self, year: int, month: int, day: int) -> None:
        ...

    @typing.overload
    def __init__(self, year: int, month: int, day: int, calendar: System.Globalization.Calendar) -> None:
        ...

    @typing.overload
    def __init__(self, year: int, month: int, day: int, hour: int, minute: int, second: int) -> None:
        ...

    @typing.overload
    def __init__(self, year: int, month: int, day: int, hour: int, minute: int, second: int, kind: System.DateTimeKind) -> None:
        ...

    @typing.overload
    def __init__(self, year: int, month: int, day: int, hour: int, minute: int, second: int, calendar: System.Globalization.Calendar) -> None:
        ...

    @typing.overload
    def __init__(self, year: int, month: int, day: int, hour: int, minute: int, second: int, millisecond: int) -> None:
        ...

    @typing.overload
    def __init__(self, year: int, month: int, day: int, hour: int, minute: int, second: int, millisecond: int, kind: System.DateTimeKind) -> None:
        ...

    @typing.overload
    def __init__(self, year: int, month: int, day: int, hour: int, minute: int, second: int, millisecond: int, calendar: System.Globalization.Calendar) -> None:
        ...

    @typing.overload
    def __init__(self, year: int, month: int, day: int, hour: int, minute: int, second: int, millisecond: int, calendar: System.Globalization.Calendar, kind: System.DateTimeKind) -> None:
        ...

    def Add(self, value: datetime.timedelta) -> datetime.datetime:
        ...

    def AddDays(self, value: float) -> datetime.datetime:
        ...

    def AddHours(self, value: float) -> datetime.datetime:
        ...

    def AddMilliseconds(self, value: float) -> datetime.datetime:
        ...

    def AddMinutes(self, value: float) -> datetime.datetime:
        ...

    def AddMonths(self, months: int) -> datetime.datetime:
        ...

    def AddSeconds(self, value: float) -> datetime.datetime:
        ...

    def AddTicks(self, value: int) -> datetime.datetime:
        ...

    def AddYears(self, value: int) -> datetime.datetime:
        ...

    @staticmethod
    def Compare(t1: datetime.datetime, t2: datetime.datetime) -> int:
        ...

    @typing.overload
    def CompareTo(self, value: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, value: datetime.datetime) -> int:
        ...

    @staticmethod
    def DaysInMonth(year: int, month: int) -> int:
        ...

    @typing.overload
    def Equals(self, value: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, value: datetime.datetime) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Equals(t1: datetime.datetime, t2: datetime.datetime) -> bool:
        ...

    @staticmethod
    def FromBinary(dateData: int) -> datetime.datetime:
        ...

    @staticmethod
    def FromFileTime(fileTime: int) -> datetime.datetime:
        ...

    @staticmethod
    def FromFileTimeUtc(fileTime: int) -> datetime.datetime:
        ...

    @staticmethod
    def FromOADate(d: float) -> datetime.datetime:
        ...

    def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        ...

    def IsDaylightSavingTime(self) -> bool:
        ...

    @staticmethod
    def SpecifyKind(value: datetime.datetime, kind: System.DateTimeKind) -> datetime.datetime:
        ...

    def ToBinary(self) -> int:
        ...

    def GetHashCode(self) -> int:
        ...

    @staticmethod
    def IsLeapYear(year: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, provider: System.IFormatProvider) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, provider: System.IFormatProvider, styles: System.Globalization.DateTimeStyles) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: System.ReadOnlySpan[str], provider: System.IFormatProvider = None, styles: System.Globalization.DateTimeStyles = ...) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def ParseExact(s: str, format: str, provider: System.IFormatProvider) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def ParseExact(s: str, format: str, provider: System.IFormatProvider, style: System.Globalization.DateTimeStyles) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def ParseExact(s: System.ReadOnlySpan[str], format: System.ReadOnlySpan[str], provider: System.IFormatProvider, style: System.Globalization.DateTimeStyles = ...) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def ParseExact(s: str, formats: typing.List[str], provider: System.IFormatProvider, style: System.Globalization.DateTimeStyles) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def ParseExact(s: System.ReadOnlySpan[str], formats: typing.List[str], provider: System.IFormatProvider, style: System.Globalization.DateTimeStyles = ...) -> datetime.datetime:
        ...

    @typing.overload
    def Subtract(self, value: datetime.datetime) -> datetime.timedelta:
        ...

    @typing.overload
    def Subtract(self, value: datetime.timedelta) -> datetime.datetime:
        ...

    def ToOADate(self) -> float:
        ...

    def ToFileTime(self) -> int:
        ...

    def ToFileTimeUtc(self) -> int:
        ...

    def ToLocalTime(self) -> datetime.datetime:
        ...

    def ToLongDateString(self) -> str:
        ...

    def ToLongTimeString(self) -> str:
        ...

    def ToShortDateString(self) -> str:
        ...

    def ToShortTimeString(self) -> str:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, format: str) -> str:
        ...

    @typing.overload
    def ToString(self, provider: System.IFormatProvider) -> str:
        ...

    @typing.overload
    def ToString(self, format: str, provider: System.IFormatProvider) -> str:
        ...

    def TryFormat(self, destination: System.Span[str], charsWritten: int, format: System.ReadOnlySpan[str] = ..., provider: System.IFormatProvider = None) -> bool:
        ...

    def ToUniversalTime(self) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, result: datetime.datetime) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], result: datetime.datetime) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, provider: System.IFormatProvider, styles: System.Globalization.DateTimeStyles, result: datetime.datetime) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], provider: System.IFormatProvider, styles: System.Globalization.DateTimeStyles, result: datetime.datetime) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParseExact(s: str, format: str, provider: System.IFormatProvider, style: System.Globalization.DateTimeStyles, result: datetime.datetime) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParseExact(s: System.ReadOnlySpan[str], format: System.ReadOnlySpan[str], provider: System.IFormatProvider, style: System.Globalization.DateTimeStyles, result: datetime.datetime) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParseExact(s: str, formats: typing.List[str], provider: System.IFormatProvider, style: System.Globalization.DateTimeStyles, result: datetime.datetime) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParseExact(s: System.ReadOnlySpan[str], formats: typing.List[str], provider: System.IFormatProvider, style: System.Globalization.DateTimeStyles, result: datetime.datetime) -> bool:
        ...

    @typing.overload
    def GetDateTimeFormats(self) -> typing.List[str]:
        ...

    @typing.overload
    def GetDateTimeFormats(self, provider: System.IFormatProvider) -> typing.List[str]:
        ...

    @typing.overload
    def GetDateTimeFormats(self, format: str) -> typing.List[str]:
        ...

    @typing.overload
    def GetDateTimeFormats(self, format: str, provider: System.IFormatProvider) -> typing.List[str]:
        ...

    def GetTypeCode(self) -> int:
        """:returns: This method returns the int value of a member of the System.TypeCode enum."""
        ...

    def ToBoolean(self, provider: System.IFormatProvider) -> bool:
        ...

    def ToChar(self, provider: System.IFormatProvider) -> str:
        ...

    def ToSByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToSingle(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDouble(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDecimal(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDateTime(self, provider: System.IFormatProvider) -> datetime.datetime:
        ...

    def ToType(self, type: typing.Type, provider: System.IFormatProvider) -> System.Object:
        ...

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self) -> None:
        ...


class UInt16(System.IComparable[int], System.IConvertible, System.IFormattable, System.IEquatable[int], System.ISpanFormattable):
    """This class has no documentation."""

    MaxValue: int = ...

    MinValue: int = 0

    @typing.overload
    def CompareTo(self, value: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, value: int) -> int:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, obj: int) -> bool:
        ...

    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, provider: System.IFormatProvider) -> str:
        ...

    @typing.overload
    def ToString(self, format: str) -> str:
        ...

    @typing.overload
    def ToString(self, format: str, provider: System.IFormatProvider) -> str:
        ...

    def TryFormat(self, destination: System.Span[str], charsWritten: int, format: System.ReadOnlySpan[str] = ..., provider: System.IFormatProvider = None) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles = ..., provider: System.IFormatProvider = None) -> int:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, result: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], result: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: int) -> bool:
        ...

    def GetTypeCode(self) -> int:
        """:returns: This method returns the int value of a member of the System.TypeCode enum."""
        ...

    def ToBoolean(self, provider: System.IFormatProvider) -> bool:
        ...

    def ToChar(self, provider: System.IFormatProvider) -> str:
        ...

    def ToSByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToSingle(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDouble(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDecimal(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDateTime(self, provider: System.IFormatProvider) -> datetime.datetime:
        ...

    def ToType(self, type: typing.Type, provider: System.IFormatProvider) -> System.Object:
        ...


class ICustomFormatter(metaclass=abc.ABCMeta):
    """This class has no documentation."""

    def Format(self, format: str, arg: typing.Any, formatProvider: System.IFormatProvider) -> str:
        ...


class OperationCanceledException(System.SystemException):
    """This class has no documentation."""

    @property
    def CancellationToken(self) -> System.Threading.CancellationToken:
        ...

    @CancellationToken.setter
    def CancellationToken(self, value: System.Threading.CancellationToken):
        ...

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, token: System.Threading.CancellationToken) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, token: System.Threading.CancellationToken) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception, token: System.Threading.CancellationToken) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class CLSCompliantAttribute(System.Attribute):
    """This class has no documentation."""

    @property
    def IsCompliant(self) -> bool:
        ...

    def __init__(self, isCompliant: bool) -> None:
        ...


class Activator(System.Object):
    """Activator contains the Activation (CreateInstance/New) methods for late bound support."""

    @staticmethod
    @typing.overload
    def CreateInstance(type: typing.Type, bindingAttr: System.Reflection.BindingFlags, binder: System.Reflection.Binder, args: typing.List[System.Object], culture: System.Globalization.CultureInfo, activationAttributes: typing.List[System.Object]) -> System.Object:
        ...

    @staticmethod
    @typing.overload
    def CreateInstance(assemblyName: str, typeName: str) -> System.Runtime.Remoting.ObjectHandle:
        ...

    @staticmethod
    @typing.overload
    def CreateInstance(assemblyName: str, typeName: str, ignoreCase: bool, bindingAttr: System.Reflection.BindingFlags, binder: System.Reflection.Binder, args: typing.List[System.Object], culture: System.Globalization.CultureInfo, activationAttributes: typing.List[System.Object]) -> System.Runtime.Remoting.ObjectHandle:
        ...

    @staticmethod
    @typing.overload
    def CreateInstance(assemblyName: str, typeName: str, activationAttributes: typing.List[System.Object]) -> System.Runtime.Remoting.ObjectHandle:
        ...

    @staticmethod
    @typing.overload
    def CreateInstance(type: typing.Type, nonPublic: bool) -> System.Object:
        ...

    @staticmethod
    @typing.overload
    def CreateInstance(type: typing.Type, bindingAttr: System.Reflection.BindingFlags, binder: System.Reflection.Binder, args: typing.List[System.Object], culture: System.Globalization.CultureInfo) -> System.Object:
        ...

    @staticmethod
    @typing.overload
    def CreateInstance(type: typing.Type, *args: typing.Any) -> System.Object:
        ...

    @staticmethod
    @typing.overload
    def CreateInstance(type: typing.Type, args: typing.List[System.Object], activationAttributes: typing.List[System.Object]) -> System.Object:
        ...

    @staticmethod
    @typing.overload
    def CreateInstance(type: System_Activator_CreateInstance_T) -> System_Activator_CreateInstance_T:
        ...

    @staticmethod
    @typing.overload
    def CreateInstanceFrom(assemblyFile: str, typeName: str) -> System.Runtime.Remoting.ObjectHandle:
        ...

    @staticmethod
    @typing.overload
    def CreateInstanceFrom(assemblyFile: str, typeName: str, activationAttributes: typing.List[System.Object]) -> System.Runtime.Remoting.ObjectHandle:
        ...

    @staticmethod
    @typing.overload
    def CreateInstanceFrom(assemblyFile: str, typeName: str, ignoreCase: bool, bindingAttr: System.Reflection.BindingFlags, binder: System.Reflection.Binder, args: typing.List[System.Object], culture: System.Globalization.CultureInfo, activationAttributes: typing.List[System.Object]) -> System.Runtime.Remoting.ObjectHandle:
        ...


class Half(System.IComparable[System_Half], System.IFormattable, System.IEquatable[System_Half], System.ISpanFormattable):
    """This class has no documentation."""

    Epsilon: System.Half

    PositiveInfinity: System.Half

    NegativeInfinity: System.Half

    NaN: System.Half

    MinValue: System.Half

    MaxValue: System.Half

    @staticmethod
    def IsFinite(value: System.Half) -> bool:
        """Determines whether the specified value is finite (zero, subnormal, or normal)."""
        ...

    @staticmethod
    def IsInfinity(value: System.Half) -> bool:
        """Determines whether the specified value is infinite."""
        ...

    @staticmethod
    def IsNaN(value: System.Half) -> bool:
        """Determines whether the specified value is NaN."""
        ...

    @staticmethod
    def IsNegative(value: System.Half) -> bool:
        """Determines whether the specified value is negative."""
        ...

    @staticmethod
    def IsNegativeInfinity(value: System.Half) -> bool:
        """Determines whether the specified value is negative infinity."""
        ...

    @staticmethod
    def IsNormal(value: System.Half) -> bool:
        """Determines whether the specified value is normal."""
        ...

    @staticmethod
    def IsPositiveInfinity(value: System.Half) -> bool:
        """Determines whether the specified value is positive infinity."""
        ...

    @staticmethod
    def IsSubnormal(value: System.Half) -> bool:
        """Determines whether the specified value is subnormal."""
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str) -> System.Half:
        """
        Parses a Half from a string in the default parse style.
        
        :param s: The input to be parsed.
        :returns: The equivalent Half value representing the input string. If the input exceeds Half's range, a Half.PositiveInfinity or Half.NegativeInfinity is returned.
        """
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles) -> System.Half:
        """
        Parses a Half from a string in the given NumberStyles.
        
        :param s: The input to be parsed.
        :param style: The NumberStyles used to parse the input.
        :returns: The equivalent Half value representing the input string. If the input exceeds Half's range, a Half.PositiveInfinity or Half.NegativeInfinity is returned.
        """
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, provider: System.IFormatProvider) -> System.Half:
        """
        Parses a Half from a string and IFormatProvider.
        
        :param s: The input to be parsed.
        :param provider: A format provider.
        :returns: The equivalent Half value representing the input string. If the input exceeds Half's range, a Half.PositiveInfinity or Half.NegativeInfinity is returned.
        """
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles = ..., provider: System.IFormatProvider = None) -> System.Half:
        """
        Parses a Half from a string with the given NumberStyles and IFormatProvider.
        
        :param s: The input to be parsed.
        :param style: The NumberStyles used to parse the input.
        :param provider: A format provider.
        :returns: The equivalent Half value representing the input string. If the input exceeds Half's range, a Half.PositiveInfinity or Half.NegativeInfinity is returned.
        """
        ...

    @staticmethod
    @typing.overload
    def Parse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles = ..., provider: System.IFormatProvider = None) -> System.Half:
        """
        Parses a Half from a ReadOnlySpan{Char} and IFormatProvider.
        
        :param s: The input to be parsed.
        :param style: The NumberStyles used to parse the input.
        :param provider: A format provider.
        :returns: The equivalent Half value representing the input string. If the input exceeds Half's range, a Half.PositiveInfinity or Half.NegativeInfinity is returned.
        """
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, result: System.Half) -> bool:
        """
        Tries to parses a Half from a string in the default parse style.
        
        :param s: The input to be parsed.
        :param result: The equivalent Half value representing the input string if the parse was successful. If the input exceeds Half's range, a Half.PositiveInfinity or Half.NegativeInfinity is returned. If the parse was unsuccessful, a default Half value is returned.
        :returns: true if the parse was successful, false otherwise.
        """
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], result: System.Half) -> bool:
        """
        Tries to parses a Half from a ReadOnlySpan{Char} in the default parse style.
        
        :param s: The input to be parsed.
        :param result: The equivalent Half value representing the input string if the parse was successful. If the input exceeds Half's range, a Half.PositiveInfinity or Half.NegativeInfinity is returned. If the parse was unsuccessful, a default Half value is returned.
        :returns: true if the parse was successful, false otherwise.
        """
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: System.Half) -> bool:
        """
        Tries to parse a Half from a string with the given NumberStyles and IFormatProvider.
        
        :param s: The input to be parsed.
        :param style: The NumberStyles used to parse the input.
        :param provider: A format provider.
        :param result: The equivalent Half value representing the input string if the parse was successful. If the input exceeds Half's range, a Half.PositiveInfinity or Half.NegativeInfinity is returned. If the parse was unsuccessful, a default Half value is returned.
        :returns: true if the parse was successful, false otherwise.
        """
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: System.Half) -> bool:
        """
        Tries to parse a Half from a ReadOnlySpan{Char} with the given NumberStyles and IFormatProvider.
        
        :param s: The input to be parsed.
        :param style: The NumberStyles used to parse the input.
        :param provider: A format provider.
        :param result: The equivalent Half value representing the input string if the parse was successful. If the input exceeds Half's range, a Half.PositiveInfinity or Half.NegativeInfinity is returned. If the parse was unsuccessful, a default Half value is returned.
        :returns: true if the parse was successful, false otherwise.
        """
        ...

    @typing.overload
    def CompareTo(self, obj: typing.Any) -> int:
        """
        Compares this object to another object, returning an integer that indicates the relationship.
        
        :returns: A value less than zero if this is less than , zero if this is equal to , or a value greater than zero if this is greater than .
        """
        ...

    @typing.overload
    def CompareTo(self, other: System.Half) -> int:
        """
        Compares this object to another object, returning an integer that indicates the relationship.
        
        :returns: A value less than zero if this is less than , zero if this is equal to , or a value greater than zero if this is greater than .
        """
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        """Returns a value that indicates whether this instance is equal to a specified ."""
        ...

    @typing.overload
    def Equals(self, other: System.Half) -> bool:
        """Returns a value that indicates whether this instance is equal to a specified  value."""
        ...

    def GetHashCode(self) -> int:
        """Serves as the default hash function."""
        ...

    @typing.overload
    def ToString(self) -> str:
        """Returns a string representation of the current value."""
        ...

    @typing.overload
    def ToString(self, format: str) -> str:
        """Returns a string representation of the current value using the specified ."""
        ...

    @typing.overload
    def ToString(self, provider: System.IFormatProvider) -> str:
        """Returns a string representation of the current value with the specified ."""
        ...

    @typing.overload
    def ToString(self, format: str, provider: System.IFormatProvider) -> str:
        """Returns a string representation of the current value using the specified  and ."""
        ...

    def TryFormat(self, destination: System.Span[str], charsWritten: int, format: System.ReadOnlySpan[str] = ..., provider: System.IFormatProvider = None) -> bool:
        """
        Tries to format the value of the current Half instance into the provided span of characters.
        
        :param destination: When this method returns, this instance's value formatted as a span of characters.
        :param charsWritten: When this method returns, the number of characters that were written in .
        :param format: A span containing the characters that represent a standard or custom format string that defines the acceptable format for .
        :param provider: An optional object that supplies culture-specific formatting information for .
        """
        ...


class ApplicationId(System.Object):
    """This class has no documentation."""

    @property
    def Culture(self) -> str:
        ...

    @property
    def Name(self) -> str:
        ...

    @property
    def ProcessorArchitecture(self) -> str:
        ...

    @property
    def Version(self) -> System.Version:
        ...

    @property
    def PublicKeyToken(self) -> typing.List[int]:
        ...

    def __init__(self, publicKeyToken: typing.List[int], name: str, version: System.Version, processorArchitecture: str, culture: str) -> None:
        ...

    def Copy(self) -> System.ApplicationId:
        ...

    def ToString(self) -> str:
        ...

    def Equals(self, o: typing.Any) -> bool:
        ...

    def GetHashCode(self) -> int:
        ...


class ApplicationException(System.Exception):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class Base64FormattingOptions(System.Enum):
    """This class has no documentation."""

    # Cannot convert to Python: None = 0

    InsertLineBreaks = 1


class TypeCode(System.Enum):
    """This class has no documentation."""

    Empty = 0

    Object = 1

    DBNull = 2

    Boolean = 3

    Char = 4

    SByte = 5

    Byte = 6

    Int16 = 7

    UInt16 = 8

    Int32 = 9

    UInt32 = 10

    Int64 = 11

    UInt64 = 12

    Single = 13

    Double = 14

    Decimal = 15

    DateTime = 16

    String = 18


class Convert(System.Object):
    """This class has no documentation."""

    ConvertTypes: typing.List[typing.Type] = ...

    base64Table: typing.List[str] = ...

    DBNull: System.Object = ...

    @staticmethod
    def GetTypeCode(value: typing.Any) -> int:
        """:returns: This method returns the int value of a member of the System.TypeCode enum."""
        ...

    @staticmethod
    def IsDBNull(value: typing.Any) -> bool:
        ...

    @staticmethod
    @typing.overload
    def ChangeType(value: typing.Any, typeCode: System.TypeCode) -> System.Object:
        ...

    @staticmethod
    @typing.overload
    def ChangeType(value: typing.Any, typeCode: System.TypeCode, provider: System.IFormatProvider) -> System.Object:
        ...

    @staticmethod
    @typing.overload
    def ChangeType(value: typing.Any, conversionType: typing.Type) -> System.Object:
        ...

    @staticmethod
    @typing.overload
    def ChangeType(value: typing.Any, conversionType: typing.Type, provider: System.IFormatProvider) -> System.Object:
        ...

    @staticmethod
    @typing.overload
    def ToBoolean(value: typing.Any) -> bool:
        ...

    @staticmethod
    @typing.overload
    def ToBoolean(value: typing.Any, provider: System.IFormatProvider) -> bool:
        ...

    @staticmethod
    @typing.overload
    def ToBoolean(value: bool) -> bool:
        ...

    @staticmethod
    @typing.overload
    def ToBoolean(value: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def ToBoolean(value: str) -> bool:
        ...

    @staticmethod
    @typing.overload
    def ToBoolean(value: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def ToBoolean(value: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def ToBoolean(value: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def ToBoolean(value: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def ToBoolean(value: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def ToBoolean(value: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def ToBoolean(value: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def ToBoolean(value: str) -> bool:
        ...

    @staticmethod
    @typing.overload
    def ToBoolean(value: str, provider: System.IFormatProvider) -> bool:
        ...

    @staticmethod
    @typing.overload
    def ToBoolean(value: float) -> bool:
        ...

    @staticmethod
    @typing.overload
    def ToBoolean(value: float) -> bool:
        ...

    @staticmethod
    @typing.overload
    def ToBoolean(value: float) -> bool:
        ...

    @staticmethod
    @typing.overload
    def ToBoolean(value: datetime.datetime) -> bool:
        ...

    @staticmethod
    @typing.overload
    def ToChar(value: typing.Any) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToChar(value: typing.Any, provider: System.IFormatProvider) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToChar(value: bool) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToChar(value: str) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToChar(value: int) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToChar(value: int) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToChar(value: int) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToChar(value: int) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToChar(value: int) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToChar(value: int) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToChar(value: int) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToChar(value: int) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToChar(value: str) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToChar(value: str, provider: System.IFormatProvider) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToChar(value: float) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToChar(value: float) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToChar(value: float) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToChar(value: datetime.datetime) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToSByte(value: typing.Any) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToSByte(value: typing.Any, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToSByte(value: bool) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToSByte(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToSByte(value: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToSByte(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToSByte(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToSByte(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToSByte(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToSByte(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToSByte(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToSByte(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToSByte(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToSByte(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToSByte(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToSByte(value: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToSByte(value: str, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToSByte(value: datetime.datetime) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToByte(value: typing.Any) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToByte(value: typing.Any, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToByte(value: bool) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToByte(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToByte(value: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToByte(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToByte(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToByte(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToByte(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToByte(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToByte(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToByte(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToByte(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToByte(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToByte(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToByte(value: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToByte(value: str, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToByte(value: datetime.datetime) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt16(value: typing.Any) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt16(value: typing.Any, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt16(value: bool) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt16(value: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt16(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt16(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt16(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt16(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt16(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt16(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt16(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt16(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt16(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt16(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt16(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt16(value: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt16(value: str, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt16(value: datetime.datetime) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt16(value: typing.Any) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt16(value: typing.Any, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt16(value: bool) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt16(value: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt16(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt16(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt16(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt16(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt16(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt16(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt16(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt16(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt16(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt16(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt16(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt16(value: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt16(value: str, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt16(value: datetime.datetime) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt32(value: typing.Any) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt32(value: typing.Any, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt32(value: bool) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt32(value: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt32(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt32(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt32(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt32(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt32(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt32(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt32(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt32(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt32(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt32(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt32(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt32(value: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt32(value: str, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt32(value: datetime.datetime) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt32(value: typing.Any) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt32(value: typing.Any, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt32(value: bool) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt32(value: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt32(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt32(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt32(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt32(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt32(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt32(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt32(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt32(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt32(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt32(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt32(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt32(value: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt32(value: str, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt32(value: datetime.datetime) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt64(value: typing.Any) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt64(value: typing.Any, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt64(value: bool) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt64(value: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt64(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt64(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt64(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt64(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt64(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt64(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt64(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt64(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt64(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt64(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt64(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt64(value: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt64(value: str, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt64(value: datetime.datetime) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt64(value: typing.Any) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt64(value: typing.Any, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt64(value: bool) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt64(value: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt64(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt64(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt64(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt64(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt64(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt64(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt64(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt64(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt64(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt64(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt64(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt64(value: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt64(value: str, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt64(value: datetime.datetime) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToSingle(value: typing.Any) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToSingle(value: typing.Any, provider: System.IFormatProvider) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToSingle(value: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToSingle(value: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToSingle(value: str) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToSingle(value: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToSingle(value: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToSingle(value: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToSingle(value: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToSingle(value: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToSingle(value: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToSingle(value: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToSingle(value: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToSingle(value: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToSingle(value: str) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToSingle(value: str, provider: System.IFormatProvider) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToSingle(value: bool) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToSingle(value: datetime.datetime) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDouble(value: typing.Any) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDouble(value: typing.Any, provider: System.IFormatProvider) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDouble(value: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDouble(value: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDouble(value: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDouble(value: str) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDouble(value: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDouble(value: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDouble(value: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDouble(value: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDouble(value: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDouble(value: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDouble(value: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDouble(value: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDouble(value: str) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDouble(value: str, provider: System.IFormatProvider) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDouble(value: bool) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDouble(value: datetime.datetime) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDecimal(value: typing.Any) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDecimal(value: typing.Any, provider: System.IFormatProvider) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDecimal(value: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDecimal(value: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDecimal(value: str) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDecimal(value: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDecimal(value: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDecimal(value: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDecimal(value: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDecimal(value: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDecimal(value: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDecimal(value: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDecimal(value: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDecimal(value: str) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDecimal(value: str, provider: System.IFormatProvider) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDecimal(value: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDecimal(value: bool) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDecimal(value: datetime.datetime) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToDateTime(value: datetime.datetime) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def ToDateTime(value: typing.Any) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def ToDateTime(value: typing.Any, provider: System.IFormatProvider) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def ToDateTime(value: str) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def ToDateTime(value: str, provider: System.IFormatProvider) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def ToDateTime(value: int) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def ToDateTime(value: int) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def ToDateTime(value: int) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def ToDateTime(value: int) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def ToDateTime(value: int) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def ToDateTime(value: int) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def ToDateTime(value: int) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def ToDateTime(value: int) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def ToDateTime(value: bool) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def ToDateTime(value: str) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def ToDateTime(value: float) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def ToDateTime(value: float) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def ToDateTime(value: float) -> datetime.datetime:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: typing.Any) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: typing.Any, provider: System.IFormatProvider) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: bool) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: bool, provider: System.IFormatProvider) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: str) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: str, provider: System.IFormatProvider) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: int) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: int, provider: System.IFormatProvider) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: int) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: int, provider: System.IFormatProvider) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: int) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: int, provider: System.IFormatProvider) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: int) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: int, provider: System.IFormatProvider) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: int) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: int, provider: System.IFormatProvider) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: int) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: int, provider: System.IFormatProvider) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: int) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: int, provider: System.IFormatProvider) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: int) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: int, provider: System.IFormatProvider) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: float) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: float, provider: System.IFormatProvider) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: float) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: float, provider: System.IFormatProvider) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: float) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: float, provider: System.IFormatProvider) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: datetime.datetime) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: datetime.datetime, provider: System.IFormatProvider) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: str) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: str, provider: System.IFormatProvider) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToByte(value: str, fromBase: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToSByte(value: str, fromBase: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt16(value: str, fromBase: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt16(value: str, fromBase: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt32(value: str, fromBase: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt32(value: str, fromBase: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt64(value: str, fromBase: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt64(value: str, fromBase: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: int, toBase: int) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: int, toBase: int) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: int, toBase: int) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(value: int, toBase: int) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToBase64String(inArray: typing.List[int]) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToBase64String(inArray: typing.List[int], options: System.Base64FormattingOptions) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToBase64String(inArray: typing.List[int], offset: int, length: int) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToBase64String(inArray: typing.List[int], offset: int, length: int, options: System.Base64FormattingOptions) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToBase64String(bytes: System.ReadOnlySpan[int], options: System.Base64FormattingOptions = ...) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToBase64CharArray(inArray: typing.List[int], offsetIn: int, length: int, outArray: typing.List[str], offsetOut: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToBase64CharArray(inArray: typing.List[int], offsetIn: int, length: int, outArray: typing.List[str], offsetOut: int, options: System.Base64FormattingOptions) -> int:
        ...

    @staticmethod
    def TryToBase64Chars(bytes: System.ReadOnlySpan[int], chars: System.Span[str], charsWritten: int, options: System.Base64FormattingOptions = ...) -> bool:
        ...

    @staticmethod
    def FromBase64String(s: str) -> typing.List[int]:
        """
        Converts the specified string, which encodes binary data as Base64 digits, to the equivalent byte array.
        
        :param s: The string to convert
        :returns: The array of bytes represented by the specified Base64 string.
        """
        ...

    @staticmethod
    def TryFromBase64String(s: str, bytes: System.Span[int], bytesWritten: int) -> bool:
        ...

    @staticmethod
    def TryFromBase64Chars(chars: System.ReadOnlySpan[str], bytes: System.Span[int], bytesWritten: int) -> bool:
        ...

    @staticmethod
    def FromBase64CharArray(inArray: typing.List[str], offset: int, length: int) -> typing.List[int]:
        """
        Converts the specified range of a Char array, which encodes binary data as Base64 digits, to the equivalent byte array.
        
        :param inArray: Chars representing Base64 encoding characters
        :param offset: A position within the input array.
        :param length: Number of element to convert.
        :returns: The array of bytes represented by the specified Base64 encoding characters.
        """
        ...

    @staticmethod
    @typing.overload
    def FromHexString(s: str) -> typing.List[int]:
        """
        Converts the specified string, which encodes binary data as hex characters, to an equivalent 8-bit unsigned integer array.
        
        :param s: The string to convert.
        :returns: An array of 8-bit unsigned integers that is equivalent to .
        """
        ...

    @staticmethod
    @typing.overload
    def FromHexString(chars: System.ReadOnlySpan[str]) -> typing.List[int]:
        """
        Converts the span, which encodes binary data as hex characters, to an equivalent 8-bit unsigned integer array.
        
        :param chars: The span to convert.
        :returns: An array of 8-bit unsigned integers that is equivalent to .
        """
        ...

    @staticmethod
    @typing.overload
    def ToHexString(inArray: typing.List[int]) -> str:
        """
        Converts an array of 8-bit unsigned integers to its equivalent string representation that is encoded with uppercase hex characters.
        
        :param inArray: An array of 8-bit unsigned integers.
        :returns: The string representation in hex of the elements in .
        """
        ...

    @staticmethod
    @typing.overload
    def ToHexString(inArray: typing.List[int], offset: int, length: int) -> str:
        """
        Converts a subset of an array of 8-bit unsigned integers to its equivalent string representation that is encoded with uppercase hex characters.
        Parameters specify the subset as an offset in the input array and the number of elements in the array to convert.
        
        :param inArray: An array of 8-bit unsigned integers.
        :param offset: An offset in .
        :param length: The number of elements of  to convert.
        :returns: The string representation in hex of  elements of , starting at position .
        """
        ...

    @staticmethod
    @typing.overload
    def ToHexString(bytes: System.ReadOnlySpan[int]) -> str:
        """
        Converts a span of 8-bit unsigned integers to its equivalent string representation that is encoded with uppercase hex characters.
        
        :param bytes: A span of 8-bit unsigned integers.
        :returns: The string representation in hex of the elements in .
        """
        ...


class PlatformNotSupportedException(System.NotSupportedException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, inner: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class AggregateException(System.Exception):
    """Represents one or more errors that occur during application execution."""

    @property
    def InnerExceptions(self) -> System.Collections.ObjectModel.ReadOnlyCollection[System.Exception]:
        """
        Gets a read-only collection of the System.Exception instances that caused the
        current exception.
        """
        ...

    @property
    def Message(self) -> str:
        """Gets a message that describes the exception."""
        ...

    @property
    def InnerExceptionCount(self) -> int:
        """
        This helper property is used by the DebuggerDisplay.
        
        Note that we don't want to remove this property and change the debugger display to {InnerExceptions.Count}
        because DebuggerDisplay should be a single property access or parameterless method call, so that the debugger
        can use a fast path without using the expression evaluator.
        
        See https://docs.microsoft.com/en-us/visualstudio/debugger/using-the-debuggerdisplay-attribute
        """
        ...

    @property
    def InternalInnerExceptions(self) -> typing.List[System.Exception]:
        ...

    @typing.overload
    def __init__(self) -> None:
        """Initializes a new instance of the AggregateException class."""
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        """
        Initializes a new instance of the AggregateException class with
        a specified error message.
        
        :param message: The error message that explains the reason for the exception.
        """
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        """
        Initializes a new instance of the AggregateException class with a specified error
        message and a reference to the inner exception that is the cause of this exception.
        
        :param message: The error message that explains the reason for the exception.
        :param innerException: The exception that is the cause of the current exception.
        """
        ...

    @typing.overload
    def __init__(self, innerExceptions: System.Collections.Generic.IEnumerable[System.Exception]) -> None:
        """
        Initializes a new instance of the AggregateException class with
        references to the inner exceptions that are the cause of this exception.
        
        :param innerExceptions: The exceptions that are the cause of the current exception.
        """
        ...

    @typing.overload
    def __init__(self, *innerExceptions: System.Exception) -> None:
        """
        Initializes a new instance of the AggregateException class with
        references to the inner exceptions that are the cause of this exception.
        
        :param innerExceptions: The exceptions that are the cause of the current exception.
        """
        ...

    @typing.overload
    def __init__(self, message: str, innerExceptions: System.Collections.Generic.IEnumerable[System.Exception]) -> None:
        """
        Initializes a new instance of the AggregateException class with a specified error
        message and references to the inner exceptions that are the cause of this exception.
        
        :param message: The error message that explains the reason for the exception.
        :param innerExceptions: The exceptions that are the cause of the current exception.
        """
        ...

    @typing.overload
    def __init__(self, message: str, *innerExceptions: System.Exception) -> None:
        """
        Initializes a new instance of the AggregateException class with a specified error
        message and references to the inner exceptions that are the cause of this exception.
        
        :param message: The error message that explains the reason for the exception.
        :param innerExceptions: The exceptions that are the cause of the current exception.
        """
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """
        Initializes a new instance of the AggregateException class with serialized data.
        
        This method is protected.
        
        :param info: The System.Runtime.Serialization.SerializationInfo that holds the serialized object data about the exception being thrown.
        :param context: The System.Runtime.Serialization.StreamingContext that contains contextual information about the source or destination.
        """
        ...

    def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """
        Sets the System.Runtime.Serialization.SerializationInfo with information about
        the exception.
        
        :param info: The System.Runtime.Serialization.SerializationInfo that holds the serialized object data about the exception being thrown.
        :param context: The System.Runtime.Serialization.StreamingContext that contains contextual information about the source or destination.
        """
        ...

    def GetBaseException(self) -> System.Exception:
        """Returns the System.AggregateException that is the root cause of this exception."""
        ...

    def Handle(self, predicate: typing.Callable[[System.Exception], bool]) -> None:
        """
        Invokes a handler on each System.Exception contained by this AggregateException.
        
        :param predicate: The predicate to execute for each exception. The predicate accepts as an argument the System.Exception to be processed and returns a Boolean to indicate whether the exception was handled.
        """
        ...

    def Flatten(self) -> System.AggregateException:
        """
        Flattens the inner instances of AggregateException by expanding its contained Exception instances
        into a new AggregateException
        
        :returns: A new, flattened AggregateException.
        """
        ...

    def ToString(self) -> str:
        """
        Creates and returns a string representation of the current AggregateException.
        
        :returns: A string representation of the current exception.
        """
        ...


class ThreadStaticAttribute(System.Attribute):
    """This class has no documentation."""

    def __init__(self) -> None:
        ...


class MidpointRounding(System.Enum):
    """This class has no documentation."""

    ToEven = 0

    AwayFromZero = 1

    ToZero = 2

    ToNegativeInfinity = 3

    ToPositiveInfinity = 4


class OverflowException(System.ArithmeticException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class NotImplementedException(System.SystemException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, inner: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class ArraySegment(typing.Generic[System_ArraySegment_T], System.Collections.Generic.IList[System_ArraySegment_T], typing.Iterable[System_ArraySegment_T]):
    """This class has no documentation."""

    class Enumerator(System.Collections.Generic.IEnumerator[System_ArraySegment_T]):
        """This class has no documentation."""

        @property
        def Current(self) -> System_ArraySegment_T:
            ...

        def MoveNext(self) -> bool:
            ...

        def Reset(self) -> None:
            ...

        def Dispose(self) -> None:
            ...

    Empty: System.ArraySegment[System_ArraySegment_T]

    @property
    def Array(self) -> typing.List[System_ArraySegment_T]:
        ...

    @property
    def Offset(self) -> int:
        ...

    @property
    def Count(self) -> int:
        ...

    @property
    def IsReadOnly(self) -> bool:
        ...

    @typing.overload
    def __init__(self, array: typing.List[System_ArraySegment_T]) -> None:
        ...

    @typing.overload
    def __init__(self, array: typing.List[System_ArraySegment_T], offset: int, count: int) -> None:
        ...

    @typing.overload
    def __getitem__(self, index: int) -> System_ArraySegment_T:
        ...

    @typing.overload
    def __setitem__(self, index: int, value: System_ArraySegment_T) -> None:
        ...

    @typing.overload
    def GetEnumerator(self) -> System.ArraySegment.Enumerator:
        ...

    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def CopyTo(self, destination: typing.List[System_ArraySegment_T]) -> None:
        ...

    @typing.overload
    def CopyTo(self, destination: typing.List[System_ArraySegment_T], destinationIndex: int) -> None:
        ...

    @typing.overload
    def CopyTo(self, destination: System.ArraySegment[System_ArraySegment_T]) -> None:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, obj: System.ArraySegment[System_ArraySegment_T]) -> bool:
        ...

    @typing.overload
    def Slice(self, index: int) -> System.ArraySegment[System_ArraySegment_T]:
        ...

    @typing.overload
    def Slice(self, index: int, count: int) -> System.ArraySegment[System_ArraySegment_T]:
        ...

    def ToArray(self) -> typing.List[System_ArraySegment_T]:
        ...

    @typing.overload
    def __getitem__(self, index: int) -> System_ArraySegment_T:
        ...

    @typing.overload
    def __setitem__(self, index: int, value: System_ArraySegment_T) -> None:
        ...

    def IndexOf(self, item: System_ArraySegment_T) -> int:
        ...

    def Insert(self, index: int, item: System_ArraySegment_T) -> None:
        ...

    def RemoveAt(self, index: int) -> None:
        ...

    @typing.overload
    def __getitem__(self, index: int) -> System_ArraySegment_T:
        ...

    def Add(self, item: System_ArraySegment_T) -> None:
        ...

    def Clear(self) -> None:
        ...

    def Contains(self, item: System_ArraySegment_T) -> bool:
        ...

    def Remove(self, item: System_ArraySegment_T) -> bool:
        ...

    @typing.overload
    def GetEnumerator(self) -> System.Collections.Generic.IEnumerator[System_ArraySegment_T]:
        ...

    @typing.overload
    def GetEnumerator(self) -> System.Collections.IEnumerator:
        ...


class EventArgs(System.Object):
    """This class has no documentation."""

    Empty: System.EventArgs = ...

    def __init__(self) -> None:
        ...


class UnhandledExceptionEventArgs(System.EventArgs):
    """This class has no documentation."""

    @property
    def ExceptionObject(self) -> System.Object:
        ...

    @property
    def IsTerminating(self) -> bool:
        ...

    def __init__(self, exception: typing.Any, isTerminating: bool) -> None:
        ...


class WeakReference(typing.Generic[System_WeakReference_T], System.Object, System.Runtime.Serialization.ISerializable):
    """This class has no documentation."""

    @property
    def IsAlive(self) -> bool:
        ...

    @property
    def Target(self) -> System.Object:
        ...

    @Target.setter
    def Target(self, value: System.Object):
        ...

    @property
    def TrackResurrection(self) -> bool:
        ...

    @typing.overload
    def __init__(self, target: typing.Any) -> None:
        ...

    @typing.overload
    def __init__(self, target: typing.Any, trackResurrection: bool) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...

    @typing.overload
    def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        ...

    @typing.overload
    def __init__(self, target: System_WeakReference_T) -> None:
        ...

    @typing.overload
    def __init__(self, target: System_WeakReference_T, trackResurrection: bool) -> None:
        ...

    def TryGetTarget(self, target: System_WeakReference_T) -> bool:
        ...

    @typing.overload
    def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        ...

    def SetTarget(self, target: System_WeakReference_T) -> None:
        ...


class InvalidProgramException(System.SystemException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, inner: System.Exception) -> None:
        ...


class NonSerializedAttribute(System.Attribute):
    """This class has no documentation."""

    def __init__(self) -> None:
        ...


class IProgress(typing.Generic[System_IProgress_T], metaclass=abc.ABCMeta):
    """Defines a provider for progress updates."""

    def Report(self, value: System_IProgress_T) -> None:
        """
        Reports a progress update.
        
        :param value: The value of the updated progress.
        """
        ...


class Progress(typing.Generic[System_Progress_T], System.Object, System.IProgress[System_Progress_T]):
    """Provides an IProgress{T} that invokes callbacks for each reported progress value."""

    @property
    def ProgressChanged(self) -> typing.List[System_EventHandler]:
        """Raised for each reported progress value."""
        ...

    @ProgressChanged.setter
    def ProgressChanged(self, value: typing.List[System_EventHandler]):
        """Raised for each reported progress value."""
        ...

    @typing.overload
    def __init__(self) -> None:
        """Initializes the Progress{T}."""
        ...

    @typing.overload
    def __init__(self, handler: typing.Callable[[System_Progress_T], None]) -> None:
        """
        Initializes the Progress{T} with the specified callback.
        
        :param handler: A handler to invoke for each reported progress value.  This handler will be invoked in addition to any delegates registered with the ProgressChanged event. Depending on the System.Threading.SynchronizationContext instance captured by the Progress{T} at construction, it's possible that this handler instance could be invoked concurrently with itself.
        """
        ...

    def OnReport(self, value: System_Progress_T) -> None:
        """
        Reports a progress change.
        
        This method is protected.
        
        :param value: The value of the updated progress.
        """
        ...

    def Report(self, value: System_Progress_T) -> None:
        """
        Reports a progress change.
        
        :param value: The value of the updated progress.
        """
        ...


class SByte(System.IComparable[int], System.IConvertible, System.IFormattable, System.IEquatable[int], System.ISpanFormattable):
    """This class has no documentation."""

    MaxValue: int = ...

    MinValue: int = ...

    @typing.overload
    def CompareTo(self, obj: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, value: int) -> int:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, obj: int) -> bool:
        ...

    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, format: str) -> str:
        ...

    @typing.overload
    def ToString(self, provider: System.IFormatProvider) -> str:
        ...

    @typing.overload
    def ToString(self, format: str, provider: System.IFormatProvider) -> str:
        ...

    def TryFormat(self, destination: System.Span[str], charsWritten: int, format: System.ReadOnlySpan[str] = ..., provider: System.IFormatProvider = None) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles = ..., provider: System.IFormatProvider = None) -> int:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, result: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], result: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: int) -> bool:
        ...

    def GetTypeCode(self) -> int:
        """:returns: This method returns the int value of a member of the System.TypeCode enum."""
        ...

    def ToBoolean(self, provider: System.IFormatProvider) -> bool:
        ...

    def ToChar(self, provider: System.IFormatProvider) -> str:
        ...

    def ToSByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToSingle(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDouble(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDecimal(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDateTime(self, provider: System.IFormatProvider) -> datetime.datetime:
        ...

    def ToType(self, type: typing.Type, provider: System.IFormatProvider) -> System.Object:
        ...


class ExecutionEngineException(System.SystemException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...


class TimeZone(System.Object, metaclass=abc.ABCMeta):
    """This class has no documentation."""

    CurrentTimeZone: System.TimeZone

    @property
    @abc.abstractmethod
    def StandardName(self) -> str:
        ...

    @property
    @abc.abstractmethod
    def DaylightName(self) -> str:
        ...

    def __init__(self) -> None:
        """This method is protected."""
        ...

    def GetUtcOffset(self, time: datetime.datetime) -> datetime.timedelta:
        ...

    def ToUniversalTime(self, time: datetime.datetime) -> datetime.datetime:
        ...

    def ToLocalTime(self, time: datetime.datetime) -> datetime.datetime:
        ...

    def GetDaylightChanges(self, year: int) -> System.Globalization.DaylightTime:
        ...

    @typing.overload
    def IsDaylightSavingTime(self, time: datetime.datetime) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsDaylightSavingTime(time: datetime.datetime, daylightTimes: System.Globalization.DaylightTime) -> bool:
        ...


class NotFiniteNumberException(System.ArithmeticException):
    """This class has no documentation."""

    @property
    def OffendingNumber(self) -> float:
        ...

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, offendingNumber: float) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, offendingNumber: float) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, offendingNumber: float, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...

    def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        ...


class Void:
    """This class has no documentation."""


class AssemblyLoadEventArgs(System.EventArgs):
    """This class has no documentation."""

    @property
    def LoadedAssembly(self) -> System.Reflection.Assembly:
        ...

    def __init__(self, loadedAssembly: System.Reflection.Assembly) -> None:
        ...


class TypeLoadException(System.SystemException, System.Runtime.Serialization.ISerializable):
    """This class has no documentation."""

    @property
    def Message(self) -> str:
        ...

    @property
    def TypeName(self) -> str:
        ...

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, inner: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...

    def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        ...


class TypeAccessException(System.TypeLoadException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, inner: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class Decimal(System.IFormattable, System.IComparable[float], System.IConvertible, System.IEquatable[float], System.ISpanFormattable, System.Runtime.Serialization.ISerializable, System.Runtime.Serialization.IDeserializationCallback):
    """This class has no documentation."""

    Zero: float = 0

    One: float = 1

    MinusOne: float = -1

    MaxValue: float = 79228162514264337593543950335

    MinValue: float = -79228162514264337593543950335

    @property
    def High(self) -> int:
        ...

    @property
    def Low(self) -> int:
        ...

    @property
    def Mid(self) -> int:
        ...

    @property
    def IsNegative(self) -> bool:
        ...

    @property
    def Scale(self) -> int:
        ...

    @typing.overload
    def __init__(self, value: int) -> None:
        ...

    @typing.overload
    def __init__(self, value: int) -> None:
        ...

    @typing.overload
    def __init__(self, value: int) -> None:
        ...

    @typing.overload
    def __init__(self, value: int) -> None:
        ...

    @typing.overload
    def __init__(self, value: float) -> None:
        ...

    @typing.overload
    def __init__(self, value: float) -> None:
        ...

    def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        ...

    @staticmethod
    def FromOACurrency(cy: int) -> float:
        ...

    @staticmethod
    def ToOACurrency(value: float) -> int:
        ...

    @typing.overload
    def __init__(self, bits: typing.List[int]) -> None:
        ...

    @typing.overload
    def __init__(self, bits: System.ReadOnlySpan[int]) -> None:
        """
        Initializes a new instance of decimal to a decimal value represented in binary and contained in the specified span.
        
        :param bits: A span of four ints containing a binary representation of a decimal value.
        """
        ...

    @typing.overload
    def __init__(self, lo: int, mid: int, hi: int, isNegative: bool, scale: int) -> None:
        ...

    def OnDeserialization(self, sender: typing.Any) -> None:
        ...

    @staticmethod
    def Add(d1: float, d2: float) -> float:
        ...

    @staticmethod
    def Ceiling(d: float) -> float:
        ...

    @staticmethod
    def Compare(d1: float, d2: float) -> int:
        ...

    @typing.overload
    def CompareTo(self, value: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, value: float) -> int:
        ...

    @staticmethod
    def Divide(d1: float, d2: float) -> float:
        ...

    @typing.overload
    def Equals(self, value: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, value: float) -> bool:
        ...

    def GetHashCode(self) -> int:
        ...

    @staticmethod
    @typing.overload
    def Equals(d1: float, d2: float) -> bool:
        ...

    @staticmethod
    def Floor(d: float) -> float:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, format: str) -> str:
        ...

    @typing.overload
    def ToString(self, provider: System.IFormatProvider) -> str:
        ...

    @typing.overload
    def ToString(self, format: str, provider: System.IFormatProvider) -> str:
        ...

    def TryFormat(self, destination: System.Span[str], charsWritten: int, format: System.ReadOnlySpan[str] = ..., provider: System.IFormatProvider = None) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str) -> float:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles) -> float:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, provider: System.IFormatProvider) -> float:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider) -> float:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles = ..., provider: System.IFormatProvider = None) -> float:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, result: float) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], result: float) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: float) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: float) -> bool:
        ...

    @staticmethod
    @typing.overload
    def GetBits(d: float) -> typing.List[int]:
        ...

    @staticmethod
    @typing.overload
    def GetBits(d: float, destination: System.Span[int]) -> int:
        """
        Converts the value of a specified instance of decimal to its equivalent binary representation.
        
        :param d: The value to convert.
        :param destination: The span into which to store the four-integer binary representation.
        :returns: Four, the number of integers in the binary representation.
        """
        ...

    @staticmethod
    def TryGetBits(d: float, destination: System.Span[int], valuesWritten: int) -> bool:
        """
        Tries to convert the value of a specified instance of decimal to its equivalent binary representation.
        
        :param d: The value to convert.
        :param destination: The span into which to store the binary representation.
        :param valuesWritten: The number of integers written to the destination.
        :returns: true if the decimal's binary representation was written to the destination; false if the destination wasn't long enough.
        """
        ...

    @staticmethod
    def Remainder(d1: float, d2: float) -> float:
        ...

    @staticmethod
    def Multiply(d1: float, d2: float) -> float:
        ...

    @staticmethod
    def Negate(d: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Round(d: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Round(d: float, decimals: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def Round(d: float, mode: System.MidpointRounding) -> float:
        ...

    @staticmethod
    @typing.overload
    def Round(d: float, decimals: int, mode: System.MidpointRounding) -> float:
        ...

    @staticmethod
    def Subtract(d1: float, d2: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToByte(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToSByte(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt16(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToDouble(d: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def ToInt32(d: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToInt64(d: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt16(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt32(d: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToUInt64(d: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def ToSingle(d: float) -> float:
        ...

    @staticmethod
    def Truncate(d: float) -> float:
        ...

    def GetTypeCode(self) -> int:
        """:returns: This method returns the int value of a member of the System.TypeCode enum."""
        ...

    def ToBoolean(self, provider: System.IFormatProvider) -> bool:
        ...

    def ToChar(self, provider: System.IFormatProvider) -> str:
        ...

    @typing.overload
    def ToSByte(self, provider: System.IFormatProvider) -> int:
        ...

    @typing.overload
    def ToByte(self, provider: System.IFormatProvider) -> int:
        ...

    @typing.overload
    def ToInt16(self, provider: System.IFormatProvider) -> int:
        ...

    @typing.overload
    def ToUInt16(self, provider: System.IFormatProvider) -> int:
        ...

    @typing.overload
    def ToInt32(self, provider: System.IFormatProvider) -> int:
        ...

    @typing.overload
    def ToUInt32(self, provider: System.IFormatProvider) -> int:
        ...

    @typing.overload
    def ToInt64(self, provider: System.IFormatProvider) -> int:
        ...

    @typing.overload
    def ToUInt64(self, provider: System.IFormatProvider) -> int:
        ...

    @typing.overload
    def ToSingle(self, provider: System.IFormatProvider) -> float:
        ...

    @typing.overload
    def ToDouble(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDecimal(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDateTime(self, provider: System.IFormatProvider) -> datetime.datetime:
        ...

    def ToType(self, type: typing.Type, provider: System.IFormatProvider) -> System.Object:
        ...


class UInt32(System.IComparable[int], System.IConvertible, System.IFormattable, System.IEquatable[int], System.ISpanFormattable):
    """This class has no documentation."""

    MaxValue: int = ...

    MinValue: int = ...

    @typing.overload
    def CompareTo(self, value: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, value: int) -> int:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, obj: int) -> bool:
        ...

    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, provider: System.IFormatProvider) -> str:
        ...

    @typing.overload
    def ToString(self, format: str) -> str:
        ...

    @typing.overload
    def ToString(self, format: str, provider: System.IFormatProvider) -> str:
        ...

    def TryFormat(self, destination: System.Span[str], charsWritten: int, format: System.ReadOnlySpan[str] = ..., provider: System.IFormatProvider = None) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles = ..., provider: System.IFormatProvider = None) -> int:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, result: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], result: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: int) -> bool:
        ...

    def GetTypeCode(self) -> int:
        """:returns: This method returns the int value of a member of the System.TypeCode enum."""
        ...

    def ToBoolean(self, provider: System.IFormatProvider) -> bool:
        ...

    def ToChar(self, provider: System.IFormatProvider) -> str:
        ...

    def ToSByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToSingle(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDouble(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDecimal(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDateTime(self, provider: System.IFormatProvider) -> datetime.datetime:
        ...

    def ToType(self, type: typing.Type, provider: System.IFormatProvider) -> System.Object:
        ...


class ParamArrayAttribute(System.Attribute):
    """This class has no documentation."""

    def __init__(self) -> None:
        ...


class BitConverter(System.Object):
    """Converts base data types to an array of bytes, and an array of bytes to base data types."""

    IsLittleEndian: bool = True

    @staticmethod
    @typing.overload
    def GetBytes(value: bool) -> typing.List[int]:
        ...

    @staticmethod
    @typing.overload
    def TryWriteBytes(destination: System.Span[int], value: bool) -> bool:
        """
        Converts a Boolean into a span of bytes.
        
        :param destination: When this method returns, the bytes representing the converted Boolean.
        :param value: The Boolean to convert.
        :returns: true if the conversion was successful; false otherwise.
        """
        ...

    @staticmethod
    @typing.overload
    def GetBytes(value: str) -> typing.List[int]:
        """
        Returns the specified Unicode character value as a byte array.
        
        :param value: A Char value.
        :returns: An array of bytes with length 2.
        """
        ...

    @staticmethod
    @typing.overload
    def TryWriteBytes(destination: System.Span[int], value: str) -> bool:
        """
        Converts a character into a span of bytes.
        
        :param destination: When this method returns, the bytes representing the converted character.
        :param value: The character to convert.
        :returns: true if the conversion was successful; false otherwise.
        """
        ...

    @staticmethod
    @typing.overload
    def GetBytes(value: int) -> typing.List[int]:
        """
        Returns the specified 16-bit signed integer value as an array of bytes.
        
        :param value: The number to convert.
        :returns: An array of bytes with length 2.
        """
        ...

    @staticmethod
    @typing.overload
    def TryWriteBytes(destination: System.Span[int], value: int) -> bool:
        """
        Converts a 16-bit signed integer into a span of bytes.
        
        :param destination: When this method returns, the bytes representing the converted 16-bit signed integer.
        :param value: The 16-bit signed integer to convert.
        :returns: true if the conversion was successful; false otherwise.
        """
        ...

    @staticmethod
    @typing.overload
    def GetBytes(value: int) -> typing.List[int]:
        """
        Returns the specified 32-bit signed integer value as an array of bytes.
        
        :param value: The number to convert.
        :returns: An array of bytes with length 4.
        """
        ...

    @staticmethod
    @typing.overload
    def TryWriteBytes(destination: System.Span[int], value: int) -> bool:
        """
        Converts a 32-bit signed integer into a span of bytes.
        
        :param destination: When this method returns, the bytes representing the converted 32-bit signed integer.
        :param value: The 32-bit signed integer to convert.
        :returns: true if the conversion was successful; false otherwise.
        """
        ...

    @staticmethod
    @typing.overload
    def GetBytes(value: int) -> typing.List[int]:
        """
        Returns the specified 64-bit signed integer value as an array of bytes.
        
        :param value: The number to convert.
        :returns: An array of bytes with length 8.
        """
        ...

    @staticmethod
    @typing.overload
    def TryWriteBytes(destination: System.Span[int], value: int) -> bool:
        """
        Converts a 64-bit signed integer into a span of bytes.
        
        :param destination: When this method returns, the bytes representing the converted 64-bit signed integer.
        :param value: The 64-bit signed integer to convert.
        :returns: true if the conversion was successful; false otherwise.
        """
        ...

    @staticmethod
    @typing.overload
    def GetBytes(value: int) -> typing.List[int]:
        """
        Returns the specified 16-bit unsigned integer value as an array of bytes.
        
        :param value: The number to convert.
        :returns: An array of bytes with length 2.
        """
        ...

    @staticmethod
    @typing.overload
    def TryWriteBytes(destination: System.Span[int], value: int) -> bool:
        """
        Converts a 16-bit unsigned integer into a span of bytes.
        
        :param destination: When this method returns, the bytes representing the converted 16-bit unsigned integer.
        :param value: The 16-bit unsigned integer to convert.
        :returns: true if the conversion was successful; false otherwise.
        """
        ...

    @staticmethod
    @typing.overload
    def GetBytes(value: int) -> typing.List[int]:
        """
        Returns the specified 32-bit unsigned integer value as an array of bytes.
        
        :param value: The number to convert.
        :returns: An array of bytes with length 4.
        """
        ...

    @staticmethod
    @typing.overload
    def TryWriteBytes(destination: System.Span[int], value: int) -> bool:
        """
        Converts a 32-bit unsigned integer into a span of bytes.
        
        :param destination: When this method returns, the bytes representing the converted 32-bit unsigned integer.
        :param value: The 32-bit unsigned integer to convert.
        :returns: true if the conversion was successful; false otherwise.
        """
        ...

    @staticmethod
    @typing.overload
    def GetBytes(value: int) -> typing.List[int]:
        """
        Returns the specified 64-bit signed integer value as an array of bytes.
        
        :param value: The number to convert.
        :returns: An array of bytes with length 8.
        """
        ...

    @staticmethod
    @typing.overload
    def TryWriteBytes(destination: System.Span[int], value: int) -> bool:
        """
        Converts a 64-bit unsigned integer into a span of bytes.
        
        :param destination: When this method returns, the bytes representing the converted 64-bit unsigned integer.
        :param value: The 64-bit unsigned integer to convert.
        :returns: true if the conversion was successful; false otherwise.
        """
        ...

    @staticmethod
    @typing.overload
    def GetBytes(value: System.Half) -> typing.List[int]:
        """
        Returns the specified half-precision floating point value as an array of bytes.
        
        :param value: The number to convert.
        :returns: An array of bytes with length 2.
        """
        ...

    @staticmethod
    @typing.overload
    def TryWriteBytes(destination: System.Span[int], value: System.Half) -> bool:
        """
        Converts a half-precision floating-point value into a span of bytes.
        
        :param destination: When this method returns, the bytes representing the converted half-precision floating-point value.
        :param value: The half-precision floating-point value to convert.
        :returns: true if the conversion was successful; false otherwise.
        """
        ...

    @staticmethod
    @typing.overload
    def GetBytes(value: float) -> typing.List[int]:
        """
        Returns the specified single-precision floating point value as an array of bytes.
        
        :param value: The number to convert.
        :returns: An array of bytes with length 4.
        """
        ...

    @staticmethod
    @typing.overload
    def TryWriteBytes(destination: System.Span[int], value: float) -> bool:
        """
        Converts a single-precision floating-point value into a span of bytes.
        
        :param destination: When this method returns, the bytes representing the converted single-precision floating-point value.
        :param value: The single-precision floating-point value to convert.
        :returns: true if the conversion was successful; false otherwise.
        """
        ...

    @staticmethod
    @typing.overload
    def GetBytes(value: float) -> typing.List[int]:
        """
        Returns the specified double-precision floating point value as an array of bytes.
        
        :param value: The number to convert.
        :returns: An array of bytes with length 8.
        """
        ...

    @staticmethod
    @typing.overload
    def TryWriteBytes(destination: System.Span[int], value: float) -> bool:
        """
        Converts a double-precision floating-point value into a span of bytes.
        
        :param destination: When this method returns, the bytes representing the converted double-precision floating-point value.
        :param value: The double-precision floating-point value to convert.
        :returns: true if the conversion was successful; false otherwise.
        """
        ...

    @staticmethod
    @typing.overload
    def ToChar(value: typing.List[int], startIndex: int) -> str:
        """
        Returns a Unicode character converted from two bytes at a specified position in a byte array.
        
        :param value: An array.
        :param startIndex: The starting position within .
        :returns: A character formed by two bytes beginning at .
        """
        ...

    @staticmethod
    @typing.overload
    def ToChar(value: System.ReadOnlySpan[int]) -> str:
        """
        Converts a read-only byte span into a character.
        
        :param value: A read-only span containing the bytes to convert.
        :returns: A character representing the converted bytes.
        """
        ...

    @staticmethod
    @typing.overload
    def ToInt16(value: typing.List[int], startIndex: int) -> int:
        """
        Returns a 16-bit signed integer converted from two bytes at a specified position in a byte array.
        
        :param value: An array of bytes.
        :param startIndex: The starting position within .
        :returns: A 16-bit signed integer formed by two bytes beginning at .
        """
        ...

    @staticmethod
    @typing.overload
    def ToInt16(value: System.ReadOnlySpan[int]) -> int:
        """
        Converts a read-only byte span into a 16-bit signed integer.
        
        :param value: A read-only span containing the bytes to convert.
        :returns: A 16-bit signed integer representing the converted bytes.
        """
        ...

    @staticmethod
    @typing.overload
    def ToInt32(value: typing.List[int], startIndex: int) -> int:
        """
        Returns a 32-bit signed integer converted from four bytes at a specified position in a byte array.
        
        :param value: An array of bytes.
        :param startIndex: The starting position within .
        :returns: A 32-bit signed integer formed by four bytes beginning at .
        """
        ...

    @staticmethod
    @typing.overload
    def ToInt32(value: System.ReadOnlySpan[int]) -> int:
        """
        Converts a read-only byte span into a 32-bit signed integer.
        
        :param value: A read-only span containing the bytes to convert.
        :returns: A 32-bit signed integer representing the converted bytes.
        """
        ...

    @staticmethod
    @typing.overload
    def ToInt64(value: typing.List[int], startIndex: int) -> int:
        """
        Returns a 64-bit signed integer converted from eight bytes at a specified position in a byte array.
        
        :param value: An array of bytes.
        :param startIndex: The starting position within .
        :returns: A 64-bit signed integer formed by eight bytes beginning at .
        """
        ...

    @staticmethod
    @typing.overload
    def ToInt64(value: System.ReadOnlySpan[int]) -> int:
        """
        Converts a read-only byte span into a 64-bit signed integer.
        
        :param value: A read-only span containing the bytes to convert.
        :returns: A 64-bit signed integer representing the converted bytes.
        """
        ...

    @staticmethod
    @typing.overload
    def ToUInt16(value: typing.List[int], startIndex: int) -> int:
        """
        Returns a 16-bit unsigned integer converted from two bytes at a specified position in a byte array.
        
        :param value: An array of bytes.
        :param startIndex: The starting position within .
        :returns: A 16-bit unsigned integer formed by two bytes beginning at .
        """
        ...

    @staticmethod
    @typing.overload
    def ToUInt16(value: System.ReadOnlySpan[int]) -> int:
        """
        Converts a read-only byte span into a 16-bit unsigned integer.
        
        :param value: A read-only span containing the bytes to convert.
        :returns: A 16-bit unsigned integer representing the converted bytes.
        """
        ...

    @staticmethod
    @typing.overload
    def ToUInt32(value: typing.List[int], startIndex: int) -> int:
        """
        Returns a 32-bit unsigned integer converted from four bytes at a specified position in a byte array.
        
        :param value: An array of bytes.
        :param startIndex: The starting position within .
        :returns: A 32-bit unsigned integer formed by four bytes beginning at .
        """
        ...

    @staticmethod
    @typing.overload
    def ToUInt32(value: System.ReadOnlySpan[int]) -> int:
        """
        Converts a read-only byte span into a 32-bit unsigned integer.
        
        :param value: A read-only span containing the bytes to convert.
        :returns: A 32-bit unsigned integer representing the converted bytes.
        """
        ...

    @staticmethod
    @typing.overload
    def ToUInt64(value: typing.List[int], startIndex: int) -> int:
        """
        Returns a 64-bit unsigned integer converted from four bytes at a specified position in a byte array.
        
        :param value: An array of bytes.
        :param startIndex: The starting position within .
        :returns: A 64-bit unsigned integer formed by eight bytes beginning at .
        """
        ...

    @staticmethod
    @typing.overload
    def ToUInt64(value: System.ReadOnlySpan[int]) -> int:
        """
        Converts a read-only byte span into a 64-bit unsigned integer.
        
        :param value: A read-only span containing the bytes to convert.
        :returns: A 64-bit unsigned integer representing the converted bytes.
        """
        ...

    @staticmethod
    @typing.overload
    def ToHalf(value: typing.List[int], startIndex: int) -> System.Half:
        """
        Returns a half-precision floating point number converted from two bytes at a specified position in a byte array.
        
        :param value: An array of bytes.
        :param startIndex: The starting position within .
        :returns: A half-precision floating point number signed integer formed by two bytes beginning at .
        """
        ...

    @staticmethod
    @typing.overload
    def ToHalf(value: System.ReadOnlySpan[int]) -> System.Half:
        """
        Converts a read-only byte span into a half-precision floating-point value.
        
        :param value: A read-only span containing the bytes to convert.
        :returns: A half-precision floating-point value representing the converted bytes.
        """
        ...

    @staticmethod
    @typing.overload
    def ToSingle(value: typing.List[int], startIndex: int) -> float:
        """
        Returns a single-precision floating point number converted from four bytes at a specified position in a byte array.
        
        :param value: An array of bytes.
        :param startIndex: The starting position within .
        :returns: A single-precision floating point number formed by four bytes beginning at .
        """
        ...

    @staticmethod
    @typing.overload
    def ToSingle(value: System.ReadOnlySpan[int]) -> float:
        """
        Converts a read-only byte span into a single-precision floating-point value.
        
        :param value: A read-only span containing the bytes to convert.
        :returns: A single-precision floating-point value representing the converted bytes.
        """
        ...

    @staticmethod
    @typing.overload
    def ToDouble(value: typing.List[int], startIndex: int) -> float:
        """
        Returns a double-precision floating point number converted from four bytes at a specified position in a byte array.
        
        :param value: An array of bytes.
        :param startIndex: The starting position within .
        :returns: A double-precision floating point number formed by eight bytes beginning at .
        """
        ...

    @staticmethod
    @typing.overload
    def ToDouble(value: System.ReadOnlySpan[int]) -> float:
        """
        Converts a read-only byte span into a double-precision floating-point value.
        
        :param value: A read-only span containing the bytes to convert.
        :returns: A double-precision floating-point value representing the converted bytes.
        """
        ...

    @staticmethod
    @typing.overload
    def ToString(value: typing.List[int], startIndex: int, length: int) -> str:
        """
        Converts the numeric value of each element of a specified array of bytes
        to its equivalent hexadecimal string representation.
        
        :param value: An array of bytes.
        :param startIndex: The starting position within .
        :param length: The number of array elements in  to convert.
        :returns: A string of hexadecimal pairs separated by hyphens, where each pair represents the corresponding element in a subarray of ; for example, "7F-2C-4A-00".
        """
        ...

    @staticmethod
    @typing.overload
    def ToString(value: typing.List[int]) -> str:
        """
        Converts the numeric value of each element of a specified array of bytes
        to its equivalent hexadecimal string representation.
        
        :param value: An array of bytes.
        :returns: A string of hexadecimal pairs separated by hyphens, where each pair represents the corresponding element in ; for example, "7F-2C-4A-00".
        """
        ...

    @staticmethod
    @typing.overload
    def ToString(value: typing.List[int], startIndex: int) -> str:
        """
        Converts the numeric value of each element of a specified array of bytes
        to its equivalent hexadecimal string representation.
        
        :param value: An array of bytes.
        :param startIndex: The starting position within .
        :returns: A string of hexadecimal pairs separated by hyphens, where each pair represents the corresponding element in a subarray of ; for example, "7F-2C-4A-00".
        """
        ...

    @staticmethod
    @typing.overload
    def ToBoolean(value: typing.List[int], startIndex: int) -> bool:
        """
        Returns a Boolean value converted from two bytes at a specified position in a byte array.
        
        :param value: A byte array.
        :param startIndex: The index of the byte within .
        :returns: true if the byte at  is nonzero; otherwise false.
        """
        ...

    @staticmethod
    @typing.overload
    def ToBoolean(value: System.ReadOnlySpan[int]) -> bool:
        """
        Converts a read-only byte span into a Boolean value.
        
        :param value: A read-only span containing the bytes to convert.
        :returns: A Boolean representing the converted bytes.
        """
        ...

    @staticmethod
    def DoubleToInt64Bits(value: float) -> int:
        """
        Converts the specified double-precision floating point number to a 64-bit signed integer.
        
        :param value: The number to convert.
        :returns: A 64-bit signed integer whose bits are identical to .
        """
        ...

    @staticmethod
    def Int64BitsToDouble(value: int) -> float:
        """
        Converts the specified 64-bit signed integer to a double-precision floating point number.
        
        :param value: The number to convert.
        :returns: A double-precision floating point number whose bits are identical to .
        """
        ...

    @staticmethod
    def SingleToInt32Bits(value: float) -> int:
        """
        Converts the specified single-precision floating point number to a 32-bit signed integer.
        
        :param value: The number to convert.
        :returns: A 32-bit signed integer whose bits are identical to .
        """
        ...

    @staticmethod
    def Int32BitsToSingle(value: int) -> float:
        """
        Converts the specified 32-bit signed integer to a single-precision floating point number.
        
        :param value: The number to convert.
        :returns: A single-precision floating point number whose bits are identical to .
        """
        ...

    @staticmethod
    def HalfToInt16Bits(value: System.Half) -> int:
        """
        Converts the specified half-precision floating point number to a 16-bit signed integer.
        
        :param value: The number to convert.
        :returns: A 16-bit signed integer whose bits are identical to .
        """
        ...

    @staticmethod
    def Int16BitsToHalf(value: int) -> System.Half:
        """
        Converts the specified 16-bit signed integer to a half-precision floating point number.
        
        :param value: The number to convert.
        :returns: A half-precision floating point number whose bits are identical to .
        """
        ...


class Int64(System.IComparable[int], System.IConvertible, System.IFormattable, System.IEquatable[int], System.ISpanFormattable):
    """This class has no documentation."""

    MaxValue: int = ...

    MinValue: int = ...

    @typing.overload
    def CompareTo(self, value: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, value: int) -> int:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, obj: int) -> bool:
        ...

    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, provider: System.IFormatProvider) -> str:
        ...

    @typing.overload
    def ToString(self, format: str) -> str:
        ...

    @typing.overload
    def ToString(self, format: str, provider: System.IFormatProvider) -> str:
        ...

    def TryFormat(self, destination: System.Span[str], charsWritten: int, format: System.ReadOnlySpan[str] = ..., provider: System.IFormatProvider = None) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles = ..., provider: System.IFormatProvider = None) -> int:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, result: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], result: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: int) -> bool:
        ...

    def GetTypeCode(self) -> int:
        """:returns: This method returns the int value of a member of the System.TypeCode enum."""
        ...

    def ToBoolean(self, provider: System.IFormatProvider) -> bool:
        ...

    def ToChar(self, provider: System.IFormatProvider) -> str:
        ...

    def ToSByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToSingle(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDouble(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDecimal(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDateTime(self, provider: System.IFormatProvider) -> datetime.datetime:
        ...

    def ToType(self, type: typing.Type, provider: System.IFormatProvider) -> System.Object:
        ...


class ObjectDisposedException(System.InvalidOperationException):
    """The exception that is thrown when accessing an object that was disposed."""

    @property
    def Message(self) -> str:
        """Gets the text for the message for this exception."""
        ...

    @property
    def ObjectName(self) -> str:
        ...

    @typing.overload
    def __init__(self, objectName: str) -> None:
        ...

    @typing.overload
    def __init__(self, objectName: str, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...

    def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        ...


class TypeInitializationException(System.SystemException):
    """This class has no documentation."""

    @property
    def TypeName(self) -> str:
        ...

    def __init__(self, fullTypeName: str, innerException: System.Exception) -> None:
        ...

    def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        ...


class AttributeUsageAttribute(System.Attribute):
    """This class has no documentation."""

    Default: System.AttributeUsageAttribute = ...

    @property
    def ValidOn(self) -> int:
        """This property contains the int value of a member of the System.AttributeTargets enum."""
        ...

    @property
    def AllowMultiple(self) -> bool:
        ...

    @AllowMultiple.setter
    def AllowMultiple(self, value: bool):
        ...

    @property
    def Inherited(self) -> bool:
        ...

    @Inherited.setter
    def Inherited(self, value: bool):
        ...

    def __init__(self, validOn: System.AttributeTargets) -> None:
        ...


class MissingMethodException(System.MissingMemberException):
    """This class has no documentation."""

    @property
    def Message(self) -> str:
        ...

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, inner: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, className: str, methodName: str) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class ArrayTypeMismatchException(System.SystemException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class FlagsAttribute(System.Attribute):
    """This class has no documentation."""

    def __init__(self) -> None:
        ...


class OutOfMemoryException(System.SystemException):
    """The exception class for OOM."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class FormattableString(System.Object, System.IFormattable, metaclass=abc.ABCMeta):
    """
    A composite format string along with the arguments to be formatted. An instance of this
    type may result from the use of the C# or VB language primitive "interpolated string".
    """

    @property
    @abc.abstractmethod
    def Format(self) -> str:
        """The composite format string."""
        ...

    @property
    @abc.abstractmethod
    def ArgumentCount(self) -> int:
        """The number of arguments to be formatted."""
        ...

    def GetArguments(self) -> typing.List[System.Object]:
        """
        Returns an object array that contains zero or more objects to format. Clients should not
        mutate the contents of the array.
        """
        ...

    def GetArgument(self, index: int) -> System.Object:
        """Returns one argument to be formatted from argument position ."""
        ...

    @typing.overload
    def ToString(self, formatProvider: System.IFormatProvider) -> str:
        """Format to a string using the given culture."""
        ...

    @typing.overload
    def ToString(self, ignored: str, formatProvider: System.IFormatProvider) -> str:
        ...

    @staticmethod
    def Invariant(formattable: System.FormattableString) -> str:
        """
        Format the given object in the invariant culture. This static method may be
        imported in C# by
        
        using static System.FormattableString;
        .
        Within the scope
        of that import directive an interpolated string may be formatted in the
        invariant culture by writing, for example,
        
        Invariant($"{{ lat = {latitude}; lon = {longitude} }}")
        """
        ...

    @staticmethod
    def CurrentCulture(formattable: System.FormattableString) -> str:
        """
        Format the given object in the current culture. This static method may be
        imported in C# by
        
        using static System.FormattableString;
        .
        Within the scope
        of that import directive an interpolated string may be formatted in the
        current culture by writing, for example,
        
        CurrentCulture($"{{ lat = {latitude}; lon = {longitude} }}")
        """
        ...

    @typing.overload
    def ToString(self) -> str:
        ...


class Double(System.IComparable[float], System.IConvertible, System.IFormattable, System.IEquatable[float], System.ISpanFormattable):
    """This class has no documentation."""

    MinValue: float = ...

    MaxValue: float = ...

    Epsilon: float = ...

    NegativeInfinity: float = ...

    PositiveInfinity: float = ...

    NaN: float = ...

    NegativeZero: float = -0.0

    SignMask: int = ...

    SignShift: int = 63

    ShiftedSignMask: int = ...

    ExponentMask: int = ...

    ExponentShift: int = 52

    ShiftedExponentMask: int = ...

    SignificandMask: int = ...

    MinSign: int = 0

    MaxSign: int = 1

    MinExponent: int = ...

    MaxExponent: int = ...

    MinSignificand: int = ...

    MaxSignificand: int = ...

    @staticmethod
    def IsFinite(d: float) -> bool:
        """Determines whether the specified value is finite (zero, subnormal, or normal)."""
        ...

    @staticmethod
    def IsInfinity(d: float) -> bool:
        """Determines whether the specified value is infinite."""
        ...

    @staticmethod
    def IsNaN(d: float) -> bool:
        """Determines whether the specified value is NaN."""
        ...

    @staticmethod
    def IsNegative(d: float) -> bool:
        """Determines whether the specified value is negative."""
        ...

    @staticmethod
    def IsNegativeInfinity(d: float) -> bool:
        """Determines whether the specified value is negative infinity."""
        ...

    @staticmethod
    def IsNormal(d: float) -> bool:
        """Determines whether the specified value is normal."""
        ...

    @staticmethod
    def IsPositiveInfinity(d: float) -> bool:
        """Determines whether the specified value is positive infinity."""
        ...

    @staticmethod
    def IsSubnormal(d: float) -> bool:
        """Determines whether the specified value is subnormal."""
        ...

    @typing.overload
    def CompareTo(self, value: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, value: float) -> int:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, obj: float) -> bool:
        ...

    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, format: str) -> str:
        ...

    @typing.overload
    def ToString(self, provider: System.IFormatProvider) -> str:
        ...

    @typing.overload
    def ToString(self, format: str, provider: System.IFormatProvider) -> str:
        ...

    def TryFormat(self, destination: System.Span[str], charsWritten: int, format: System.ReadOnlySpan[str] = ..., provider: System.IFormatProvider = None) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str) -> float:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles) -> float:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, provider: System.IFormatProvider) -> float:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider) -> float:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles = ..., provider: System.IFormatProvider = None) -> float:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, result: float) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], result: float) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: float) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: float) -> bool:
        ...

    def GetTypeCode(self) -> int:
        """:returns: This method returns the int value of a member of the System.TypeCode enum."""
        ...

    def ToBoolean(self, provider: System.IFormatProvider) -> bool:
        ...

    def ToChar(self, provider: System.IFormatProvider) -> str:
        ...

    def ToSByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToSingle(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDouble(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDecimal(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDateTime(self, provider: System.IFormatProvider) -> datetime.datetime:
        ...

    def ToType(self, type: typing.Type, provider: System.IFormatProvider) -> System.Object:
        ...


class Int32(System.IComparable[int], System.IConvertible, System.IFormattable, System.IEquatable[int], System.ISpanFormattable):
    """This class has no documentation."""

    MaxValue: int = ...

    MinValue: int = ...

    @typing.overload
    def CompareTo(self, value: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, value: int) -> int:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, obj: int) -> bool:
        ...

    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, format: str) -> str:
        ...

    @typing.overload
    def ToString(self, provider: System.IFormatProvider) -> str:
        ...

    @typing.overload
    def ToString(self, format: str, provider: System.IFormatProvider) -> str:
        ...

    def TryFormat(self, destination: System.Span[str], charsWritten: int, format: System.ReadOnlySpan[str] = ..., provider: System.IFormatProvider = None) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles = ..., provider: System.IFormatProvider = None) -> int:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, result: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], result: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: int) -> bool:
        ...

    def GetTypeCode(self) -> int:
        """:returns: This method returns the int value of a member of the System.TypeCode enum."""
        ...

    def ToBoolean(self, provider: System.IFormatProvider) -> bool:
        ...

    def ToChar(self, provider: System.IFormatProvider) -> str:
        ...

    def ToSByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToSingle(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDouble(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDecimal(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDateTime(self, provider: System.IFormatProvider) -> datetime.datetime:
        ...

    def ToType(self, type: typing.Type, provider: System.IFormatProvider) -> System.Object:
        ...


class StringComparer(System.Object, System.Collections.Generic.IComparer[str], metaclass=abc.ABCMeta):
    """This class has no documentation."""

    InvariantCulture: System.StringComparer

    InvariantCultureIgnoreCase: System.StringComparer

    CurrentCulture: System.StringComparer

    CurrentCultureIgnoreCase: System.StringComparer

    Ordinal: System.StringComparer

    OrdinalIgnoreCase: System.StringComparer

    @staticmethod
    def FromComparison(comparisonType: System.StringComparison) -> System.StringComparer:
        ...

    @staticmethod
    @typing.overload
    def Create(culture: System.Globalization.CultureInfo, ignoreCase: bool) -> System.StringComparer:
        ...

    @staticmethod
    @typing.overload
    def Create(culture: System.Globalization.CultureInfo, options: System.Globalization.CompareOptions) -> System.StringComparer:
        ...

    @typing.overload
    def Compare(self, x: typing.Any, y: typing.Any) -> int:
        ...

    @typing.overload
    def Equals(self, x: typing.Any, y: typing.Any) -> bool:
        ...

    @typing.overload
    def GetHashCode(self, obj: typing.Any) -> int:
        ...

    @typing.overload
    def Compare(self, x: str, y: str) -> int:
        ...

    @typing.overload
    def Equals(self, x: str, y: str) -> bool:
        ...

    @typing.overload
    def GetHashCode(self, obj: str) -> int:
        ...


class CultureAwareComparer(System.StringComparer, System.Runtime.Serialization.ISerializable):
    """This class has no documentation."""

    InvariantCaseSensitiveInstance: System.CultureAwareComparer = ...

    InvariantIgnoreCaseInstance: System.CultureAwareComparer = ...

    def Compare(self, x: str, y: str) -> int:
        ...

    @typing.overload
    def Equals(self, x: str, y: str) -> bool:
        ...

    @typing.overload
    def GetHashCode(self, obj: str) -> int:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def GetHashCode(self) -> int:
        ...

    def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        ...


class OrdinalComparer(System.StringComparer):
    """This class has no documentation."""

    def Compare(self, x: str, y: str) -> int:
        ...

    @typing.overload
    def Equals(self, x: str, y: str) -> bool:
        ...

    @typing.overload
    def GetHashCode(self, obj: str) -> int:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def GetHashCode(self) -> int:
        ...


class IntPtr(System.IEquatable[System_IntPtr], System.IComparable[System_IntPtr], System.IFormattable, System.ISpanFormattable, System.Runtime.Serialization.ISerializable):
    """This class has no documentation."""

    Zero: System.IntPtr

    Size: int

    MaxValue: System.IntPtr

    MinValue: System.IntPtr

    @typing.overload
    def __init__(self, value: int) -> None:
        ...

    @typing.overload
    def __init__(self, value: int) -> None:
        ...

    @typing.overload
    def __init__(self, value: typing.Any) -> None:
        ...

    def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    def GetHashCode(self) -> int:
        ...

    def ToInt32(self) -> int:
        ...

    def ToInt64(self) -> int:
        ...

    @staticmethod
    def Add(pointer: System.IntPtr, offset: int) -> System.IntPtr:
        ...

    @staticmethod
    def Subtract(pointer: System.IntPtr, offset: int) -> System.IntPtr:
        ...

    def ToPointer(self) -> typing.Any:
        ...

    @typing.overload
    def CompareTo(self, value: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, value: System.IntPtr) -> int:
        ...

    @typing.overload
    def Equals(self, other: System.IntPtr) -> bool:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, format: str) -> str:
        ...

    @typing.overload
    def ToString(self, provider: System.IFormatProvider) -> str:
        ...

    @typing.overload
    def ToString(self, format: str, provider: System.IFormatProvider) -> str:
        ...

    def TryFormat(self, destination: System.Span[str], charsWritten: int, format: System.ReadOnlySpan[str] = ..., provider: System.IFormatProvider = None) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str) -> System.IntPtr:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles) -> System.IntPtr:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, provider: System.IFormatProvider) -> System.IntPtr:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider) -> System.IntPtr:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles = ..., provider: System.IFormatProvider = None) -> System.IntPtr:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, result: System.IntPtr) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: System.IntPtr) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], result: System.IntPtr) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: System.IntPtr) -> bool:
        ...


class Math(System.Object):
    """This class has no documentation."""

    E: float = 2.7182818284590452354

    PI: float = 3.14159265358979323846

    Tau: float = 6.283185307179586476925

    @staticmethod
    @typing.overload
    def Abs(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Abs(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Abs(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Abs(value: System.IntPtr) -> System.IntPtr:
        """
        Returns the absolute value of a native signed integer.
        
        :param value: A number that is greater than IntPtr.MinValue, but less than or equal to IntPtr.MaxValue.
        :returns: A native signed integer, x, such that 0 ≤ x ≤ IntPtr.MaxValue.
        """
        ...

    @staticmethod
    @typing.overload
    def Abs(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Abs(value: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def BigMul(a: int, b: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def BigMul(a: int, b: int, low: int) -> int:
        """
        Produces the full product of two unsigned 64-bit numbers.
        
        :param a: The first number to multiply.
        :param b: The second number to multiply.
        :param low: The low 64-bit of the product of the specied numbers.
        :returns: The high 64-bit of the product of the specied numbers.
        """
        ...

    @staticmethod
    @typing.overload
    def BigMul(a: int, b: int, low: int) -> int:
        """
        Produces the full product of two 64-bit numbers.
        
        :param a: The first number to multiply.
        :param b: The second number to multiply.
        :param low: The low 64-bit of the product of the specied numbers.
        :returns: The high 64-bit of the product of the specied numbers.
        """
        ...

    @staticmethod
    def BitDecrement(x: float) -> float:
        ...

    @staticmethod
    def BitIncrement(x: float) -> float:
        ...

    @staticmethod
    def CopySign(x: float, y: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def DivRem(a: int, b: int, result: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def DivRem(a: int, b: int, result: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def DivRem(left: int, right: int) -> System.ValueTuple[int, int]:
        """
        Produces the quotient and the remainder of two signed 8-bit numbers.
        
        :param left: The dividend.
        :param right: The divisor.
        :returns: The quotient and the remainder of the specified numbers.
        """
        ...

    @staticmethod
    @typing.overload
    def DivRem(left: int, right: int) -> System.ValueTuple[int, int]:
        """
        Produces the quotient and the remainder of two unsigned 8-bit numbers.
        
        :param left: The dividend.
        :param right: The divisor.
        :returns: The quotient and the remainder of the specified numbers.
        """
        ...

    @staticmethod
    @typing.overload
    def DivRem(left: int, right: int) -> System.ValueTuple[int, int]:
        """
        Produces the quotient and the remainder of two signed 16-bit numbers.
        
        :param left: The dividend.
        :param right: The divisor.
        :returns: The quotient and the remainder of the specified numbers.
        """
        ...

    @staticmethod
    @typing.overload
    def DivRem(left: int, right: int) -> System.ValueTuple[int, int]:
        """
        Produces the quotient and the remainder of two unsigned 16-bit numbers.
        
        :param left: The dividend.
        :param right: The divisor.
        :returns: The quotient and the remainder of the specified numbers.
        """
        ...

    @staticmethod
    @typing.overload
    def DivRem(left: int, right: int) -> System.ValueTuple[int, int]:
        """
        Produces the quotient and the remainder of two signed 32-bit numbers.
        
        :param left: The dividend.
        :param right: The divisor.
        :returns: The quotient and the remainder of the specified numbers.
        """
        ...

    @staticmethod
    @typing.overload
    def DivRem(left: int, right: int) -> System.ValueTuple[int, int]:
        """
        Produces the quotient and the remainder of two unsigned 32-bit numbers.
        
        :param left: The dividend.
        :param right: The divisor.
        :returns: The quotient and the remainder of the specified numbers.
        """
        ...

    @staticmethod
    @typing.overload
    def DivRem(left: int, right: int) -> System.ValueTuple[int, int]:
        """
        Produces the quotient and the remainder of two signed 64-bit numbers.
        
        :param left: The dividend.
        :param right: The divisor.
        :returns: The quotient and the remainder of the specified numbers.
        """
        ...

    @staticmethod
    @typing.overload
    def DivRem(left: int, right: int) -> System.ValueTuple[int, int]:
        """
        Produces the quotient and the remainder of two unsigned 64-bit numbers.
        
        :param left: The dividend.
        :param right: The divisor.
        :returns: The quotient and the remainder of the specified numbers.
        """
        ...

    @staticmethod
    @typing.overload
    def DivRem(left: System.IntPtr, right: System.IntPtr) -> System.ValueTuple[System.IntPtr, System.IntPtr]:
        """
        Produces the quotient and the remainder of two signed native-size numbers.
        
        :param left: The dividend.
        :param right: The divisor.
        :returns: The quotient and the remainder of the specified numbers.
        """
        ...

    @staticmethod
    @typing.overload
    def DivRem(left: System.UIntPtr, right: System.UIntPtr) -> System.ValueTuple[System.UIntPtr, System.UIntPtr]:
        """
        Produces the quotient and the remainder of two unsigned native-size numbers.
        
        :param left: The dividend.
        :param right: The divisor.
        :returns: The quotient and the remainder of the specified numbers.
        """
        ...

    @staticmethod
    @typing.overload
    def Ceiling(d: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Clamp(value: int, min: int, max: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Clamp(value: float, min: float, max: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Clamp(value: float, min: float, max: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Clamp(value: int, min: int, max: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Clamp(value: int, min: int, max: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Clamp(value: int, min: int, max: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Clamp(value: System.IntPtr, min: System.IntPtr, max: System.IntPtr) -> System.IntPtr:
        """
        Returns  clamped to the inclusive range of  and .
        
        :param value: The value to be clamped.
        :param min: The lower bound of the result.
        :param max: The upper bound of the result.
        :returns: if  ≤  ≤ .    -or-     if  < .    -or-     if  < .
        """
        ...

    @staticmethod
    @typing.overload
    def Clamp(value: int, min: int, max: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Clamp(value: float, min: float, max: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Clamp(value: int, min: int, max: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Clamp(value: int, min: int, max: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Clamp(value: int, min: int, max: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Clamp(value: System.UIntPtr, min: System.UIntPtr, max: System.UIntPtr) -> System.UIntPtr:
        """
        Returns  clamped to the inclusive range of  and .
        
        :param value: The value to be clamped.
        :param min: The lower bound of the result.
        :param max: The upper bound of the result.
        :returns: if  ≤  ≤ .    -or-     if  < .    -or-     if  < .
        """
        ...

    @staticmethod
    @typing.overload
    def Floor(d: float) -> float:
        ...

    @staticmethod
    def IEEERemainder(x: float, y: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Log(a: float, newBase: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Max(val1: int, val2: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Max(val1: float, val2: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Max(val1: float, val2: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Max(val1: int, val2: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Max(val1: int, val2: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Max(val1: int, val2: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Max(val1: System.IntPtr, val2: System.IntPtr) -> System.IntPtr:
        """
        Returns the larger of two native signed integers.
        
        :param val1: The first of two native signed integers to compare.
        :param val2: The second of two native signed integers to compare.
        :returns: Parameter  or , whichever is larger.
        """
        ...

    @staticmethod
    @typing.overload
    def Max(val1: int, val2: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Max(val1: float, val2: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Max(val1: int, val2: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Max(val1: int, val2: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Max(val1: int, val2: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Max(val1: System.UIntPtr, val2: System.UIntPtr) -> System.UIntPtr:
        """
        Returns the larger of two native unsigned integers.
        
        :param val1: The first of two native unsigned integers to compare.
        :param val2: The second of two native unsigned integers to compare.
        :returns: Parameter  or , whichever is larger.
        """
        ...

    @staticmethod
    def MaxMagnitude(x: float, y: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Min(val1: int, val2: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Min(val1: float, val2: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Min(val1: float, val2: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Min(val1: int, val2: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Min(val1: int, val2: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Min(val1: int, val2: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Min(val1: System.IntPtr, val2: System.IntPtr) -> System.IntPtr:
        """
        Returns the smaller of two native signed integers.
        
        :param val1: The first of two native signed integers to compare.
        :param val2: The second of two native signed integers to compare.
        :returns: Parameter  or , whichever is smaller.
        """
        ...

    @staticmethod
    @typing.overload
    def Min(val1: int, val2: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Min(val1: float, val2: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Min(val1: int, val2: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Min(val1: int, val2: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Min(val1: int, val2: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Min(val1: System.UIntPtr, val2: System.UIntPtr) -> System.UIntPtr:
        """
        Returns the smaller of two native unsigned integers.
        
        :param val1: The first of two native unsigned integers to compare.
        :param val2: The second of two native unsigned integers to compare.
        :returns: Parameter  or , whichever is smaller.
        """
        ...

    @staticmethod
    def MinMagnitude(x: float, y: float) -> float:
        ...

    @staticmethod
    def ReciprocalEstimate(d: float) -> float:
        """
        Returns an estimate of the reciprocal of a specified number.
        
        :param d: The number whose reciprocal is to be estimated.
        :returns: An estimate of the reciprocal of .
        """
        ...

    @staticmethod
    def ReciprocalSqrtEstimate(d: float) -> float:
        """
        Returns an estimate of the reciprocal square root of a specified number.
        
        :param d: The number whose reciprocal square root is to be estimated.
        :returns: An estimate of the reciprocal square root .
        """
        ...

    @staticmethod
    @typing.overload
    def Round(d: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Round(d: float, decimals: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def Round(d: float, mode: System.MidpointRounding) -> float:
        ...

    @staticmethod
    @typing.overload
    def Round(d: float, decimals: int, mode: System.MidpointRounding) -> float:
        ...

    @staticmethod
    @typing.overload
    def Round(a: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Round(value: float, digits: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def Round(value: float, mode: System.MidpointRounding) -> float:
        ...

    @staticmethod
    @typing.overload
    def Round(value: float, digits: int, mode: System.MidpointRounding) -> float:
        ...

    @staticmethod
    @typing.overload
    def Sign(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def Sign(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def Sign(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Sign(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Sign(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Sign(value: System.IntPtr) -> int:
        ...

    @staticmethod
    @typing.overload
    def Sign(value: int) -> int:
        ...

    @staticmethod
    @typing.overload
    def Sign(value: float) -> int:
        ...

    @staticmethod
    @typing.overload
    def Truncate(d: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Truncate(d: float) -> float:
        ...

    @staticmethod
    def ScaleB(x: float, n: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def Abs(value: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Abs(value: float) -> float:
        ...

    @staticmethod
    def Acos(d: float) -> float:
        ...

    @staticmethod
    def Acosh(d: float) -> float:
        ...

    @staticmethod
    def Asin(d: float) -> float:
        ...

    @staticmethod
    def Asinh(d: float) -> float:
        ...

    @staticmethod
    def Atan(d: float) -> float:
        ...

    @staticmethod
    def Atan2(y: float, x: float) -> float:
        ...

    @staticmethod
    def Atanh(d: float) -> float:
        ...

    @staticmethod
    def Cbrt(d: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Ceiling(a: float) -> float:
        ...

    @staticmethod
    def Cos(d: float) -> float:
        ...

    @staticmethod
    def Cosh(value: float) -> float:
        ...

    @staticmethod
    def Exp(d: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Floor(d: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Log(d: float) -> float:
        ...

    @staticmethod
    def Log10(d: float) -> float:
        ...

    @staticmethod
    def Pow(x: float, y: float) -> float:
        ...

    @staticmethod
    def Sin(a: float) -> float:
        ...

    @staticmethod
    def SinCos(x: float) -> System.ValueTuple[float, float]:
        ...

    @staticmethod
    def Sinh(value: float) -> float:
        ...

    @staticmethod
    def Sqrt(d: float) -> float:
        ...

    @staticmethod
    def Tan(a: float) -> float:
        ...

    @staticmethod
    def Tanh(value: float) -> float:
        ...

    @staticmethod
    def FusedMultiplyAdd(x: float, y: float, z: float) -> float:
        ...

    @staticmethod
    def ILogB(x: float) -> int:
        ...

    @staticmethod
    def Log2(x: float) -> float:
        ...


class LocalDataStoreSlot(System.Object):
    """This class has no documentation."""

    @property
    def Data(self) -> System.Threading.ThreadLocal[System.Object]:
        ...

    @Data.setter
    def Data(self, value: System.Threading.ThreadLocal[System.Object]):
        ...


class DBNull(System.Object, System.Runtime.Serialization.ISerializable, System.IConvertible):
    """This class has no documentation."""

    Value: System.DBNull = ...

    def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, provider: System.IFormatProvider) -> str:
        ...

    def GetTypeCode(self) -> int:
        """:returns: This method returns the int value of a member of the System.TypeCode enum."""
        ...

    def ToBoolean(self, provider: System.IFormatProvider) -> bool:
        ...

    def ToChar(self, provider: System.IFormatProvider) -> str:
        ...

    def ToSByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToSingle(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDouble(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDecimal(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDateTime(self, provider: System.IFormatProvider) -> datetime.datetime:
        ...

    def ToType(self, type: typing.Type, provider: System.IFormatProvider) -> System.Object:
        ...


class STAThreadAttribute(System.Attribute):
    """This class has no documentation."""

    def __init__(self) -> None:
        ...


class MTAThreadAttribute(System.Attribute):
    """This class has no documentation."""

    def __init__(self) -> None:
        ...


class IAsyncResult(metaclass=abc.ABCMeta):
    """This class has no documentation."""

    @property
    @abc.abstractmethod
    def IsCompleted(self) -> bool:
        ...

    @property
    @abc.abstractmethod
    def AsyncWaitHandle(self) -> System.Threading.WaitHandle:
        ...

    @property
    @abc.abstractmethod
    def AsyncState(self) -> System.Object:
        ...

    @property
    @abc.abstractmethod
    def CompletedSynchronously(self) -> bool:
        ...


class IObserver(typing.Generic[System_IObserver_T], metaclass=abc.ABCMeta):
    """This class has no documentation."""

    def OnNext(self, value: System_IObserver_T) -> None:
        ...

    def OnError(self, error: System.Exception) -> None:
        ...

    def OnCompleted(self) -> None:
        ...


class MemoryExtensions(System.Object):
    """Extension methods for Span{T}, Memory{T}, and friends."""

    @staticmethod
    @typing.overload
    def AsSpan(array: typing.List[System_MemoryExtensions_AsSpan_T], start: int) -> System.Span[System_MemoryExtensions_AsSpan_T]:
        """Creates a new span over the portion of the target array."""
        ...

    @staticmethod
    @typing.overload
    def AsSpan(array: typing.List[System_MemoryExtensions_AsSpan_T], startIndex: System.Index) -> System.Span[System_MemoryExtensions_AsSpan_T]:
        """Creates a new span over the portion of the target array."""
        ...

    @staticmethod
    @typing.overload
    def AsSpan(array: typing.List[System_MemoryExtensions_AsSpan_T], range: System.Range) -> System.Span[System_MemoryExtensions_AsSpan_T]:
        """Creates a new span over the portion of the target array."""
        ...

    @staticmethod
    @typing.overload
    def AsSpan(text: str) -> System.ReadOnlySpan[str]:
        """
        Creates a new readonly span over the portion of the target string.
        
        :param text: The target string.
        """
        ...

    @staticmethod
    @typing.overload
    def AsSpan(text: str, start: int) -> System.ReadOnlySpan[str]:
        """
        Creates a new readonly span over the portion of the target string.
        
        :param text: The target string.
        :param start: The index at which to begin this slice.
        """
        ...

    @staticmethod
    @typing.overload
    def AsSpan(text: str, start: int, length: int) -> System.ReadOnlySpan[str]:
        """
        Creates a new readonly span over the portion of the target string.
        
        :param text: The target string.
        :param start: The index at which to begin this slice.
        :param length: The desired length for the slice (exclusive).
        """
        ...

    @staticmethod
    @typing.overload
    def AsMemory(text: str) -> System.ReadOnlyMemory[str]:
        """
        Creates a new ReadOnlyMemory{T} over the portion of the target string.
        
        :param text: The target string.
        """
        ...

    @staticmethod
    @typing.overload
    def AsMemory(text: str, start: int) -> System.ReadOnlyMemory[str]:
        """
        Creates a new ReadOnlyMemory{T} over the portion of the target string.
        
        :param text: The target string.
        :param start: The index at which to begin this slice.
        """
        ...

    @staticmethod
    @typing.overload
    def AsMemory(text: str, startIndex: System.Index) -> System.ReadOnlyMemory[str]:
        """
        Creates a new ReadOnlyMemory{T} over the portion of the target string.
        
        :param text: The target string.
        :param startIndex: The index at which to begin this slice.
        """
        ...

    @staticmethod
    @typing.overload
    def AsMemory(text: str, start: int, length: int) -> System.ReadOnlyMemory[str]:
        """
        Creates a new ReadOnlyMemory{T} over the portion of the target string.
        
        :param text: The target string.
        :param start: The index at which to begin this slice.
        :param length: The desired length for the slice (exclusive).
        """
        ...

    @staticmethod
    @typing.overload
    def AsMemory(text: str, range: System.Range) -> System.ReadOnlyMemory[str]:
        """
        Creates a new ReadOnlyMemory{T} over the portion of the target string.
        
        :param text: The target string.
        :param range: The range used to indicate the start and length of the sliced string.
        """
        ...

    @staticmethod
    @typing.overload
    def Contains(span: System.Span[System_MemoryExtensions_Contains_T], value: System_MemoryExtensions_Contains_T) -> bool:
        """
        Searches for the specified value and returns true if found. If not found, returns false. Values are compared using IEquatable{T}.Equals(T).
        
        :param span: The span to search.
        :param value: The value to search for.
        """
        ...

    @staticmethod
    @typing.overload
    def Contains(span: System.ReadOnlySpan[System_MemoryExtensions_Contains_T], value: System_MemoryExtensions_Contains_T) -> bool:
        """
        Searches for the specified value and returns true if found. If not found, returns false. Values are compared using IEquatable{T}.Equals(T).
        
        :param span: The span to search.
        :param value: The value to search for.
        """
        ...

    @staticmethod
    @typing.overload
    def IndexOf(span: System.Span[System_MemoryExtensions_IndexOf_T], value: System_MemoryExtensions_IndexOf_T) -> int:
        """
        Searches for the specified value and returns the index of its first occurrence. If not found, returns -1. Values are compared using IEquatable{T}.Equals(T).
        
        :param span: The span to search.
        :param value: The value to search for.
        """
        ...

    @staticmethod
    @typing.overload
    def IndexOf(span: System.Span[System_MemoryExtensions_IndexOf_T], value: System.ReadOnlySpan[System_MemoryExtensions_IndexOf_T]) -> int:
        """
        Searches for the specified sequence and returns the index of its first occurrence. If not found, returns -1. Values are compared using IEquatable{T}.Equals(T).
        
        :param span: The span to search.
        :param value: The sequence to search for.
        """
        ...

    @staticmethod
    @typing.overload
    def LastIndexOf(span: System.Span[System_MemoryExtensions_LastIndexOf_T], value: System_MemoryExtensions_LastIndexOf_T) -> int:
        """
        Searches for the specified value and returns the index of its last occurrence. If not found, returns -1. Values are compared using IEquatable{T}.Equals(T).
        
        :param span: The span to search.
        :param value: The value to search for.
        """
        ...

    @staticmethod
    @typing.overload
    def LastIndexOf(span: System.Span[System_MemoryExtensions_LastIndexOf_T], value: System.ReadOnlySpan[System_MemoryExtensions_LastIndexOf_T]) -> int:
        """
        Searches for the specified sequence and returns the index of its last occurrence. If not found, returns -1. Values are compared using IEquatable{T}.Equals(T).
        
        :param span: The span to search.
        :param value: The sequence to search for.
        """
        ...

    @staticmethod
    @typing.overload
    def SequenceEqual(span: System.Span[System_MemoryExtensions_SequenceEqual_T], other: System.ReadOnlySpan[System_MemoryExtensions_SequenceEqual_T]) -> bool:
        """Determines whether two sequences are equal by comparing the elements using IEquatable{T}.Equals(T)."""
        ...

    @staticmethod
    @typing.overload
    def SequenceCompareTo(span: System.Span[System_MemoryExtensions_SequenceCompareTo_T], other: System.ReadOnlySpan[System_MemoryExtensions_SequenceCompareTo_T]) -> int:
        """Determines the relative order of the sequences being compared by comparing the elements using IComparable{T}.CompareTo(T)."""
        ...

    @staticmethod
    @typing.overload
    def IndexOf(span: System.ReadOnlySpan[System_MemoryExtensions_IndexOf_T], value: System_MemoryExtensions_IndexOf_T) -> int:
        """
        Searches for the specified value and returns the index of its first occurrence. If not found, returns -1. Values are compared using IEquatable{T}.Equals(T).
        
        :param span: The span to search.
        :param value: The value to search for.
        """
        ...

    @staticmethod
    @typing.overload
    def IndexOf(span: System.ReadOnlySpan[System_MemoryExtensions_IndexOf_T], value: System.ReadOnlySpan[System_MemoryExtensions_IndexOf_T]) -> int:
        """
        Searches for the specified sequence and returns the index of its first occurrence. If not found, returns -1. Values are compared using IEquatable{T}.Equals(T).
        
        :param span: The span to search.
        :param value: The sequence to search for.
        """
        ...

    @staticmethod
    @typing.overload
    def LastIndexOf(span: System.ReadOnlySpan[System_MemoryExtensions_LastIndexOf_T], value: System_MemoryExtensions_LastIndexOf_T) -> int:
        """
        Searches for the specified value and returns the index of its last occurrence. If not found, returns -1. Values are compared using IEquatable{T}.Equals(T).
        
        :param span: The span to search.
        :param value: The value to search for.
        """
        ...

    @staticmethod
    @typing.overload
    def LastIndexOf(span: System.ReadOnlySpan[System_MemoryExtensions_LastIndexOf_T], value: System.ReadOnlySpan[System_MemoryExtensions_LastIndexOf_T]) -> int:
        """
        Searches for the specified sequence and returns the index of its last occurrence. If not found, returns -1. Values are compared using IEquatable{T}.Equals(T).
        
        :param span: The span to search.
        :param value: The sequence to search for.
        """
        ...

    @staticmethod
    @typing.overload
    def IndexOfAny(span: System.Span[System_MemoryExtensions_IndexOfAny_T], value0: System_MemoryExtensions_IndexOfAny_T, value1: System_MemoryExtensions_IndexOfAny_T) -> int:
        """
        Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator. If not found, returns -1.
        
        :param span: The span to search.
        :param value0: One of the values to search for.
        :param value1: One of the values to search for.
        """
        ...

    @staticmethod
    @typing.overload
    def IndexOfAny(span: System.Span[System_MemoryExtensions_IndexOfAny_T], value0: System_MemoryExtensions_IndexOfAny_T, value1: System_MemoryExtensions_IndexOfAny_T, value2: System_MemoryExtensions_IndexOfAny_T) -> int:
        """
        Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator. If not found, returns -1.
        
        :param span: The span to search.
        :param value0: One of the values to search for.
        :param value1: One of the values to search for.
        :param value2: One of the values to search for.
        """
        ...

    @staticmethod
    @typing.overload
    def IndexOfAny(span: System.Span[System_MemoryExtensions_IndexOfAny_T], values: System.ReadOnlySpan[System_MemoryExtensions_IndexOfAny_T]) -> int:
        """
        Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator. If not found, returns -1.
        
        :param span: The span to search.
        :param values: The set of values to search for.
        """
        ...

    @staticmethod
    @typing.overload
    def IndexOfAny(span: System.ReadOnlySpan[System_MemoryExtensions_IndexOfAny_T], value0: System_MemoryExtensions_IndexOfAny_T, value1: System_MemoryExtensions_IndexOfAny_T) -> int:
        """
        Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator. If not found, returns -1.
        
        :param span: The span to search.
        :param value0: One of the values to search for.
        :param value1: One of the values to search for.
        """
        ...

    @staticmethod
    @typing.overload
    def IndexOfAny(span: System.ReadOnlySpan[System_MemoryExtensions_IndexOfAny_T], value0: System_MemoryExtensions_IndexOfAny_T, value1: System_MemoryExtensions_IndexOfAny_T, value2: System_MemoryExtensions_IndexOfAny_T) -> int:
        """
        Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator. If not found, returns -1.
        
        :param span: The span to search.
        :param value0: One of the values to search for.
        :param value1: One of the values to search for.
        :param value2: One of the values to search for.
        """
        ...

    @staticmethod
    @typing.overload
    def IndexOfAny(span: System.ReadOnlySpan[System_MemoryExtensions_IndexOfAny_T], values: System.ReadOnlySpan[System_MemoryExtensions_IndexOfAny_T]) -> int:
        """
        Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator. If not found, returns -1.
        
        :param span: The span to search.
        :param values: The set of values to search for.
        """
        ...

    @staticmethod
    @typing.overload
    def LastIndexOfAny(span: System.Span[System_MemoryExtensions_LastIndexOfAny_T], value0: System_MemoryExtensions_LastIndexOfAny_T, value1: System_MemoryExtensions_LastIndexOfAny_T) -> int:
        """
        Searches for the last index of any of the specified values similar to calling LastIndexOf several times with the logical OR operator. If not found, returns -1.
        
        :param span: The span to search.
        :param value0: One of the values to search for.
        :param value1: One of the values to search for.
        """
        ...

    @staticmethod
    @typing.overload
    def LastIndexOfAny(span: System.Span[System_MemoryExtensions_LastIndexOfAny_T], value0: System_MemoryExtensions_LastIndexOfAny_T, value1: System_MemoryExtensions_LastIndexOfAny_T, value2: System_MemoryExtensions_LastIndexOfAny_T) -> int:
        """
        Searches for the last index of any of the specified values similar to calling LastIndexOf several times with the logical OR operator. If not found, returns -1.
        
        :param span: The span to search.
        :param value0: One of the values to search for.
        :param value1: One of the values to search for.
        :param value2: One of the values to search for.
        """
        ...

    @staticmethod
    @typing.overload
    def LastIndexOfAny(span: System.Span[System_MemoryExtensions_LastIndexOfAny_T], values: System.ReadOnlySpan[System_MemoryExtensions_LastIndexOfAny_T]) -> int:
        """
        Searches for the last index of any of the specified values similar to calling LastIndexOf several times with the logical OR operator. If not found, returns -1.
        
        :param span: The span to search.
        :param values: The set of values to search for.
        """
        ...

    @staticmethod
    @typing.overload
    def LastIndexOfAny(span: System.ReadOnlySpan[System_MemoryExtensions_LastIndexOfAny_T], value0: System_MemoryExtensions_LastIndexOfAny_T, value1: System_MemoryExtensions_LastIndexOfAny_T) -> int:
        """
        Searches for the last index of any of the specified values similar to calling LastIndexOf several times with the logical OR operator. If not found, returns -1.
        
        :param span: The span to search.
        :param value0: One of the values to search for.
        :param value1: One of the values to search for.
        """
        ...

    @staticmethod
    @typing.overload
    def LastIndexOfAny(span: System.ReadOnlySpan[System_MemoryExtensions_LastIndexOfAny_T], value0: System_MemoryExtensions_LastIndexOfAny_T, value1: System_MemoryExtensions_LastIndexOfAny_T, value2: System_MemoryExtensions_LastIndexOfAny_T) -> int:
        """
        Searches for the last index of any of the specified values similar to calling LastIndexOf several times with the logical OR operator. If not found, returns -1.
        
        :param span: The span to search.
        :param value0: One of the values to search for.
        :param value1: One of the values to search for.
        :param value2: One of the values to search for.
        """
        ...

    @staticmethod
    @typing.overload
    def LastIndexOfAny(span: System.ReadOnlySpan[System_MemoryExtensions_LastIndexOfAny_T], values: System.ReadOnlySpan[System_MemoryExtensions_LastIndexOfAny_T]) -> int:
        """
        Searches for the last index of any of the specified values similar to calling LastIndexOf several times with the logical OR operator. If not found, returns -1.
        
        :param span: The span to search.
        :param values: The set of values to search for.
        """
        ...

    @staticmethod
    @typing.overload
    def SequenceEqual(span: System.ReadOnlySpan[System_MemoryExtensions_SequenceEqual_T], other: System.ReadOnlySpan[System_MemoryExtensions_SequenceEqual_T]) -> bool:
        """Determines whether two sequences are equal by comparing the elements using IEquatable{T}.Equals(T)."""
        ...

    @staticmethod
    @typing.overload
    def SequenceCompareTo(span: System.ReadOnlySpan[System_MemoryExtensions_SequenceCompareTo_T], other: System.ReadOnlySpan[System_MemoryExtensions_SequenceCompareTo_T]) -> int:
        """Determines the relative order of the sequences being compared by comparing the elements using IComparable{T}.CompareTo(T)."""
        ...

    @staticmethod
    @typing.overload
    def StartsWith(span: System.Span[System_MemoryExtensions_StartsWith_T], value: System.ReadOnlySpan[System_MemoryExtensions_StartsWith_T]) -> bool:
        """Determines whether the specified sequence appears at the start of the span."""
        ...

    @staticmethod
    @typing.overload
    def StartsWith(span: System.ReadOnlySpan[System_MemoryExtensions_StartsWith_T], value: System.ReadOnlySpan[System_MemoryExtensions_StartsWith_T]) -> bool:
        """Determines whether the specified sequence appears at the start of the span."""
        ...

    @staticmethod
    @typing.overload
    def EndsWith(span: System.Span[System_MemoryExtensions_EndsWith_T], value: System.ReadOnlySpan[System_MemoryExtensions_EndsWith_T]) -> bool:
        """Determines whether the specified sequence appears at the end of the span."""
        ...

    @staticmethod
    @typing.overload
    def EndsWith(span: System.ReadOnlySpan[System_MemoryExtensions_EndsWith_T], value: System.ReadOnlySpan[System_MemoryExtensions_EndsWith_T]) -> bool:
        """Determines whether the specified sequence appears at the end of the span."""
        ...

    @staticmethod
    def Reverse(span: System.Span[System_MemoryExtensions_Reverse_T]) -> None:
        """Reverses the sequence of the elements in the entire span."""
        ...

    @staticmethod
    @typing.overload
    def AsSpan(array: typing.List[System_MemoryExtensions_AsSpan_T]) -> System.Span[System_MemoryExtensions_AsSpan_T]:
        """Creates a new span over the target array."""
        ...

    @staticmethod
    @typing.overload
    def AsSpan(array: typing.List[System_MemoryExtensions_AsSpan_T], start: int, length: int) -> System.Span[System_MemoryExtensions_AsSpan_T]:
        """
        Creates a new Span over the portion of the target array beginning
        at 'start' index and ending at 'end' index (exclusive).
        
        :param array: The target array.
        :param start: The index at which to begin the Span.
        :param length: The number of items in the Span.
        """
        ...

    @staticmethod
    @typing.overload
    def AsSpan(segment: System.ArraySegment[System_MemoryExtensions_AsSpan_T]) -> System.Span[System_MemoryExtensions_AsSpan_T]:
        """Creates a new span over the portion of the target array segment."""
        ...

    @staticmethod
    @typing.overload
    def AsSpan(segment: System.ArraySegment[System_MemoryExtensions_AsSpan_T], start: int) -> System.Span[System_MemoryExtensions_AsSpan_T]:
        """
        Creates a new Span over the portion of the target array beginning
        at 'start' index and ending at 'end' index (exclusive).
        
        :param segment: The target array.
        :param start: The index at which to begin the Span.
        """
        ...

    @staticmethod
    @typing.overload
    def AsSpan(segment: System.ArraySegment[System_MemoryExtensions_AsSpan_T], startIndex: System.Index) -> System.Span[System_MemoryExtensions_AsSpan_T]:
        """
        Creates a new Span over the portion of the target array beginning
        at 'startIndex' and ending at the end of the segment.
        
        :param segment: The target array.
        :param startIndex: The index at which to begin the Span.
        """
        ...

    @staticmethod
    @typing.overload
    def AsSpan(segment: System.ArraySegment[System_MemoryExtensions_AsSpan_T], start: int, length: int) -> System.Span[System_MemoryExtensions_AsSpan_T]:
        """
        Creates a new Span over the portion of the target array beginning
        at 'start' index and ending at 'end' index (exclusive).
        
        :param segment: The target array.
        :param start: The index at which to begin the Span.
        :param length: The number of items in the Span.
        """
        ...

    @staticmethod
    @typing.overload
    def AsSpan(segment: System.ArraySegment[System_MemoryExtensions_AsSpan_T], range: System.Range) -> System.Span[System_MemoryExtensions_AsSpan_T]:
        """
        Creates a new Span over the portion of the target array using the range start and end indexes
        
        :param segment: The target array.
        :param range: The range which has start and end indexes to use for slicing the array.
        """
        ...

    @staticmethod
    @typing.overload
    def AsMemory(array: typing.List[System_MemoryExtensions_AsMemory_T]) -> System.Memory[System_MemoryExtensions_AsMemory_T]:
        """Creates a new memory over the target array."""
        ...

    @staticmethod
    @typing.overload
    def AsMemory(array: typing.List[System_MemoryExtensions_AsMemory_T], start: int) -> System.Memory[System_MemoryExtensions_AsMemory_T]:
        """
        Creates a new memory over the portion of the target array beginning
        at 'start' index and ending at 'end' index (exclusive).
        
        :param array: The target array.
        :param start: The index at which to begin the memory.
        """
        ...

    @staticmethod
    @typing.overload
    def AsMemory(array: typing.List[System_MemoryExtensions_AsMemory_T], startIndex: System.Index) -> System.Memory[System_MemoryExtensions_AsMemory_T]:
        """
        Creates a new memory over the portion of the target array starting from
        'startIndex' to the end of the array.
        """
        ...

    @staticmethod
    @typing.overload
    def AsMemory(array: typing.List[System_MemoryExtensions_AsMemory_T], start: int, length: int) -> System.Memory[System_MemoryExtensions_AsMemory_T]:
        """
        Creates a new memory over the portion of the target array beginning
        at 'start' index and ending at 'end' index (exclusive).
        
        :param array: The target array.
        :param start: The index at which to begin the memory.
        :param length: The number of items in the memory.
        """
        ...

    @staticmethod
    @typing.overload
    def AsMemory(array: typing.List[System_MemoryExtensions_AsMemory_T], range: System.Range) -> System.Memory[System_MemoryExtensions_AsMemory_T]:
        """
        Creates a new memory over the portion of the target array beginning at inclusive start index of the range
        and ending at the exclusive end index of the range.
        """
        ...

    @staticmethod
    @typing.overload
    def AsMemory(segment: System.ArraySegment[System_MemoryExtensions_AsMemory_T]) -> System.Memory[System_MemoryExtensions_AsMemory_T]:
        """Creates a new memory over the portion of the target array."""
        ...

    @staticmethod
    @typing.overload
    def AsMemory(segment: System.ArraySegment[System_MemoryExtensions_AsMemory_T], start: int) -> System.Memory[System_MemoryExtensions_AsMemory_T]:
        """
        Creates a new memory over the portion of the target array beginning
        at 'start' index and ending at 'end' index (exclusive).
        
        :param segment: The target array.
        :param start: The index at which to begin the memory.
        """
        ...

    @staticmethod
    @typing.overload
    def AsMemory(segment: System.ArraySegment[System_MemoryExtensions_AsMemory_T], start: int, length: int) -> System.Memory[System_MemoryExtensions_AsMemory_T]:
        """
        Creates a new memory over the portion of the target array beginning
        at 'start' index and ending at 'end' index (exclusive).
        
        :param segment: The target array.
        :param start: The index at which to begin the memory.
        :param length: The number of items in the memory.
        """
        ...

    @staticmethod
    @typing.overload
    def CopyTo(source: typing.List[System_MemoryExtensions_CopyTo_T], destination: System.Span[System_MemoryExtensions_CopyTo_T]) -> None:
        """
        Copies the contents of the array into the span. If the source
        and destinations overlap, this method behaves as if the original values in
        a temporary location before the destination is overwritten.
        
        The array to copy items from.The span to copy items into.
        Thrown when the destination Span is shorter than the source array.
        
        :param source: The array to copy items from.
        :param destination: The span to copy items into.
        """
        ...

    @staticmethod
    @typing.overload
    def CopyTo(source: typing.List[System_MemoryExtensions_CopyTo_T], destination: System.Memory[System_MemoryExtensions_CopyTo_T]) -> None:
        """
        Copies the contents of the array into the memory. If the source
        and destinations overlap, this method behaves as if the original values are in
        a temporary location before the destination is overwritten.
        
        The array to copy items from.The memory to copy items into.
        Thrown when the destination is shorter than the source array.
        
        :param source: The array to copy items from.
        :param destination: The memory to copy items into.
        """
        ...

    @staticmethod
    @typing.overload
    def Overlaps(span: System.Span[System_MemoryExtensions_Overlaps_T], other: System.ReadOnlySpan[System_MemoryExtensions_Overlaps_T]) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Overlaps(span: System.Span[System_MemoryExtensions_Overlaps_T], other: System.ReadOnlySpan[System_MemoryExtensions_Overlaps_T], elementOffset: int) -> bool:
        """Determines whether two sequences overlap in memory and outputs the element offset."""
        ...

    @staticmethod
    @typing.overload
    def Overlaps(span: System.ReadOnlySpan[System_MemoryExtensions_Overlaps_T], other: System.ReadOnlySpan[System_MemoryExtensions_Overlaps_T]) -> bool:
        """Determines whether two sequences overlap in memory."""
        ...

    @staticmethod
    @typing.overload
    def Overlaps(span: System.ReadOnlySpan[System_MemoryExtensions_Overlaps_T], other: System.ReadOnlySpan[System_MemoryExtensions_Overlaps_T], elementOffset: int) -> bool:
        """Determines whether two sequences overlap in memory and outputs the element offset."""
        ...

    @staticmethod
    @typing.overload
    def BinarySearch(span: System.Span[System_MemoryExtensions_BinarySearch_T], comparable: System.IComparable[System_MemoryExtensions_BinarySearch_T]) -> int:
        """
        Searches an entire sorted Span{T} for a value
        using the specified IComparable{T} generic interface.
        
        :param span: The sorted Span{T} to search.
        :param comparable: The IComparable{T} to use when comparing.
        :returns: The zero-based index of  in the sorted , if  is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than  or, if there is no larger element, the bitwise complement of Span{T}.Length.
        """
        ...

    @staticmethod
    @typing.overload
    def BinarySearch(span: System.Span[System_MemoryExtensions_BinarySearch_T], comparable: System_MemoryExtensions_BinarySearch_TComparable) -> int:
        """
        Searches an entire sorted Span{T} for a value
        using the specified TComparable generic type.
        
        :param span: The sorted Span{T} to search.
        :param comparable: The TComparable to use when comparing.
        :returns: The zero-based index of  in the sorted , if  is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than  or, if there is no larger element, the bitwise complement of Span{T}.Length.
        """
        ...

    @staticmethod
    @typing.overload
    def BinarySearch(span: System.Span[System_MemoryExtensions_BinarySearch_T], value: System_MemoryExtensions_BinarySearch_T, comparer: System_MemoryExtensions_BinarySearch_TComparer) -> int:
        """
        Searches an entire sorted Span{T} for the specified 
        using the specified TComparer generic type.
        
        :param span: The sorted Span{T} to search.
        :param value: The object to locate. The value can be null for reference types.
        :param comparer: The TComparer to use when comparing.
        :returns: The zero-based index of  in the sorted , if  is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than  or, if there is no larger element, the bitwise complement of Span{T}.Length.
        """
        ...

    @staticmethod
    @typing.overload
    def BinarySearch(span: System.ReadOnlySpan[System_MemoryExtensions_BinarySearch_T], comparable: System.IComparable[System_MemoryExtensions_BinarySearch_T]) -> int:
        """
        Searches an entire sorted ReadOnlySpan{T} for a value
        using the specified IComparable{T} generic interface.
        
        :param span: The sorted ReadOnlySpan{T} to search.
        :param comparable: The IComparable{T} to use when comparing.
        :returns: The zero-based index of  in the sorted , if  is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than  or, if there is no larger element, the bitwise complement of ReadOnlySpan{T}.Length.
        """
        ...

    @staticmethod
    @typing.overload
    def BinarySearch(span: System.ReadOnlySpan[System_MemoryExtensions_BinarySearch_T], comparable: System_MemoryExtensions_BinarySearch_TComparable) -> int:
        """
        Searches an entire sorted ReadOnlySpan{T} for a value
        using the specified TComparable generic type.
        
        :param span: The sorted ReadOnlySpan{T} to search.
        :param comparable: The TComparable to use when comparing.
        :returns: The zero-based index of  in the sorted , if  is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than  or, if there is no larger element, the bitwise complement of ReadOnlySpan{T}.Length.
        """
        ...

    @staticmethod
    @typing.overload
    def BinarySearch(span: System.ReadOnlySpan[System_MemoryExtensions_BinarySearch_T], value: System_MemoryExtensions_BinarySearch_T, comparer: System_MemoryExtensions_BinarySearch_TComparer) -> int:
        """
        Searches an entire sorted ReadOnlySpan{T} for the specified 
        using the specified TComparer generic type.
        
        :param span: The sorted ReadOnlySpan{T} to search.
        :param value: The object to locate. The value can be null for reference types.
        :param comparer: The TComparer to use when comparing.
        :returns: The zero-based index of  in the sorted , if  is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than  or, if there is no larger element, the bitwise complement of ReadOnlySpan{T}.Length.
        """
        ...

    @staticmethod
    @typing.overload
    def Sort(span: System.Span[System_MemoryExtensions_Sort_T]) -> None:
        """
        Sorts the elements in the entire Span{T} using the IComparable{T} implementation
        of each element of the Span{T}
        
        :param span: The Span{T} to sort.
        """
        ...

    @staticmethod
    @typing.overload
    def Sort(span: System.Span[System_MemoryExtensions_Sort_T], comparer: System_MemoryExtensions_Sort_TComparer) -> None:
        """
        Sorts the elements in the entire Span{T} using the TComparer.
        
        :param span: The Span{T} to sort.
        :param comparer: The IComparer{T} implementation to use when comparing elements, or null to use the IComparable{T} interface implementation of each element.
        """
        ...

    @staticmethod
    @typing.overload
    def Sort(span: System.Span[System_MemoryExtensions_Sort_T], comparison: System_Comparison) -> None:
        """
        Sorts the elements in the entire Span{T} using the specified Comparison{T}.
        
        :param span: The Span{T} to sort.
        :param comparison: The Comparison{T} to use when comparing elements.
        """
        ...

    @staticmethod
    @typing.overload
    def Sort(keys: System.Span[System_MemoryExtensions_Sort_TKey], items: System.Span[System_MemoryExtensions_Sort_TValue]) -> None:
        """
        Sorts a pair of spans (one containing the keys and the other containing the corresponding items)
        based on the keys in the first Span{TKey} using the IComparable{T}
        implementation of each key.
        
        :param keys: The span that contains the keys to sort.
        :param items: The span that contains the items that correspond to the keys in .
        """
        ...

    @staticmethod
    @typing.overload
    def Sort(keys: System.Span[System_MemoryExtensions_Sort_TKey], items: System.Span[System_MemoryExtensions_Sort_TValue], comparer: System_MemoryExtensions_Sort_TComparer) -> None:
        """
        Sorts a pair of spans (one containing the keys and the other containing the corresponding items)
        based on the keys in the first Span{TKey} using the specified comparer.
        
        :param keys: The span that contains the keys to sort.
        :param items: The span that contains the items that correspond to the keys in .
        :param comparer: The IComparer{T} implementation to use when comparing elements, or null to use the IComparable{T} interface implementation of each element.
        """
        ...

    @staticmethod
    @typing.overload
    def Sort(keys: System.Span[System_MemoryExtensions_Sort_TKey], items: System.Span[System_MemoryExtensions_Sort_TValue], comparison: System_Comparison) -> None:
        """
        Sorts a pair of spans (one containing the keys and the other containing the corresponding items)
        based on the keys in the first Span{TKey} using the specified comparison.
        
        :param keys: The span that contains the keys to sort.
        :param items: The span that contains the items that correspond to the keys in .
        :param comparison: The Comparison{T} to use when comparing elements.
        """
        ...

    @staticmethod
    def IsWhiteSpace(span: System.ReadOnlySpan[str]) -> bool:
        """Indicates whether the specified span contains only white-space characters."""
        ...

    @staticmethod
    @typing.overload
    def Contains(span: System.ReadOnlySpan[str], value: System.ReadOnlySpan[str], comparisonType: System.StringComparison) -> bool:
        """
        Returns a value indicating whether the specified  occurs within the .
        The source span.The value to seek within the source span.One of the enumeration values that determines how the  and  are compared.
        
        :param span: The source span.
        :param value: The value to seek within the source span.
        :param comparisonType: One of the enumeration values that determines how the  and  are compared.
        """
        ...

    @staticmethod
    def Equals(span: System.ReadOnlySpan[str], other: System.ReadOnlySpan[str], comparisonType: System.StringComparison) -> bool:
        """
        Determines whether this  and the specified  span have the same characters
        when compared using the specified  option.
        The source span.The value to compare with the source span.One of the enumeration values that determines how the  and  are compared.
        
        :param span: The source span.
        :param other: The value to compare with the source span.
        :param comparisonType: One of the enumeration values that determines how the  and  are compared.
        """
        ...

    @staticmethod
    def CompareTo(span: System.ReadOnlySpan[str], other: System.ReadOnlySpan[str], comparisonType: System.StringComparison) -> int:
        """
        Compares the specified  and  using the specified ,
        and returns an integer that indicates their relative position in the sort order.
        The source span.The value to compare with the source span.One of the enumeration values that determines how the  and  are compared.
        
        :param span: The source span.
        :param other: The value to compare with the source span.
        :param comparisonType: One of the enumeration values that determines how the  and  are compared.
        """
        ...

    @staticmethod
    @typing.overload
    def IndexOf(span: System.ReadOnlySpan[str], value: System.ReadOnlySpan[str], comparisonType: System.StringComparison) -> int:
        """
        Reports the zero-based index of the first occurrence of the specified  in the current .
        The source span.The value to seek within the source span.One of the enumeration values that determines how the  and  are compared.
        
        :param span: The source span.
        :param value: The value to seek within the source span.
        :param comparisonType: One of the enumeration values that determines how the  and  are compared.
        """
        ...

    @staticmethod
    @typing.overload
    def LastIndexOf(span: System.ReadOnlySpan[str], value: System.ReadOnlySpan[str], comparisonType: System.StringComparison) -> int:
        """
        Reports the zero-based index of the last occurrence of the specified  in the current .
        The source span.The value to seek within the source span.One of the enumeration values that determines how the  and  are compared.
        
        :param span: The source span.
        :param value: The value to seek within the source span.
        :param comparisonType: One of the enumeration values that determines how the  and  are compared.
        """
        ...

    @staticmethod
    def ToLower(source: System.ReadOnlySpan[str], destination: System.Span[str], culture: System.Globalization.CultureInfo) -> int:
        """
        Copies the characters from the source span into the destination, converting each character to lowercase,
        using the casing rules of the specified culture.
        
        :param source: The source span.
        :param destination: The destination span which contains the transformed characters.
        :param culture: An object that supplies culture-specific casing rules.
        :returns: The number of characters written into the destination span. If the destination is too small, returns -1.
        """
        ...

    @staticmethod
    def ToLowerInvariant(source: System.ReadOnlySpan[str], destination: System.Span[str]) -> int:
        """
        Copies the characters from the source span into the destination, converting each character to lowercase,
        using the casing rules of the invariant culture.
        
        :param source: The source span.
        :param destination: The destination span which contains the transformed characters.
        :returns: The number of characters written into the destination span. If the destination is too small, returns -1.
        """
        ...

    @staticmethod
    def ToUpper(source: System.ReadOnlySpan[str], destination: System.Span[str], culture: System.Globalization.CultureInfo) -> int:
        """
        Copies the characters from the source span into the destination, converting each character to uppercase,
        using the casing rules of the specified culture.
        
        :param source: The source span.
        :param destination: The destination span which contains the transformed characters.
        :param culture: An object that supplies culture-specific casing rules.
        :returns: The number of characters written into the destination span. If the destination is too small, returns -1.
        """
        ...

    @staticmethod
    def ToUpperInvariant(source: System.ReadOnlySpan[str], destination: System.Span[str]) -> int:
        """
        Copies the characters from the source span into the destination, converting each character to uppercase
        using the casing rules of the invariant culture.
        
        :param source: The source span.
        :param destination: The destination span which contains the transformed characters.
        :returns: The number of characters written into the destination span. If the destination is too small, returns -1.
        """
        ...

    @staticmethod
    @typing.overload
    def EndsWith(span: System.ReadOnlySpan[str], value: System.ReadOnlySpan[str], comparisonType: System.StringComparison) -> bool:
        """
        Determines whether the end of the  matches the specified  when compared using the specified  option.
        
        :param span: The source span.
        :param value: The sequence to compare to the end of the source span.
        :param comparisonType: One of the enumeration values that determines how the  and  are compared.
        """
        ...

    @staticmethod
    @typing.overload
    def StartsWith(span: System.ReadOnlySpan[str], value: System.ReadOnlySpan[str], comparisonType: System.StringComparison) -> bool:
        """
        Determines whether the beginning of the  matches the specified  when compared using the specified  option.
        
        :param span: The source span.
        :param value: The sequence to compare to the beginning of the source span.
        :param comparisonType: One of the enumeration values that determines how the  and  are compared.
        """
        ...

    @staticmethod
    @typing.overload
    def EnumerateRunes(span: System.ReadOnlySpan[str]) -> System.Text.SpanRuneEnumerator:
        """Returns an enumeration of Rune from the provided span."""
        ...

    @staticmethod
    @typing.overload
    def EnumerateRunes(span: System.Span[str]) -> System.Text.SpanRuneEnumerator:
        """Returns an enumeration of Rune from the provided span."""
        ...

    @staticmethod
    @typing.overload
    def Trim(memory: System.Memory[System_MemoryExtensions_Trim_T], trimElement: System_MemoryExtensions_Trim_T) -> System.Memory[System_MemoryExtensions_Trim_T]:
        """
        Removes all leading and trailing occurrences of a specified element from the memory.
        
        :param memory: The source memory from which the element is removed.
        :param trimElement: The specified element to look for and remove.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimStart(memory: System.Memory[System_MemoryExtensions_TrimStart_T], trimElement: System_MemoryExtensions_TrimStart_T) -> System.Memory[System_MemoryExtensions_TrimStart_T]:
        """
        Removes all leading occurrences of a specified element from the memory.
        
        :param memory: The source memory from which the element is removed.
        :param trimElement: The specified element to look for and remove.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimEnd(memory: System.Memory[System_MemoryExtensions_TrimEnd_T], trimElement: System_MemoryExtensions_TrimEnd_T) -> System.Memory[System_MemoryExtensions_TrimEnd_T]:
        """
        Removes all trailing occurrences of a specified element from the memory.
        
        :param memory: The source memory from which the element is removed.
        :param trimElement: The specified element to look for and remove.
        """
        ...

    @staticmethod
    @typing.overload
    def Trim(memory: System.ReadOnlyMemory[System_MemoryExtensions_Trim_T], trimElement: System_MemoryExtensions_Trim_T) -> System.ReadOnlyMemory[System_MemoryExtensions_Trim_T]:
        """
        Removes all leading and trailing occurrences of a specified element from the memory.
        
        :param memory: The source memory from which the element is removed.
        :param trimElement: The specified element to look for and remove.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimStart(memory: System.ReadOnlyMemory[System_MemoryExtensions_TrimStart_T], trimElement: System_MemoryExtensions_TrimStart_T) -> System.ReadOnlyMemory[System_MemoryExtensions_TrimStart_T]:
        """
        Removes all leading occurrences of a specified element from the memory.
        
        :param memory: The source memory from which the element is removed.
        :param trimElement: The specified element to look for and remove.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimEnd(memory: System.ReadOnlyMemory[System_MemoryExtensions_TrimEnd_T], trimElement: System_MemoryExtensions_TrimEnd_T) -> System.ReadOnlyMemory[System_MemoryExtensions_TrimEnd_T]:
        """
        Removes all trailing occurrences of a specified element from the memory.
        
        :param memory: The source memory from which the element is removed.
        :param trimElement: The specified element to look for and remove.
        """
        ...

    @staticmethod
    @typing.overload
    def Trim(span: System.Span[System_MemoryExtensions_Trim_T], trimElement: System_MemoryExtensions_Trim_T) -> System.Span[System_MemoryExtensions_Trim_T]:
        """
        Removes all leading and trailing occurrences of a specified element from the span.
        
        :param span: The source span from which the element is removed.
        :param trimElement: The specified element to look for and remove.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimStart(span: System.Span[System_MemoryExtensions_TrimStart_T], trimElement: System_MemoryExtensions_TrimStart_T) -> System.Span[System_MemoryExtensions_TrimStart_T]:
        """
        Removes all leading occurrences of a specified element from the span.
        
        :param span: The source span from which the element is removed.
        :param trimElement: The specified element to look for and remove.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimEnd(span: System.Span[System_MemoryExtensions_TrimEnd_T], trimElement: System_MemoryExtensions_TrimEnd_T) -> System.Span[System_MemoryExtensions_TrimEnd_T]:
        """
        Removes all trailing occurrences of a specified element from the span.
        
        :param span: The source span from which the element is removed.
        :param trimElement: The specified element to look for and remove.
        """
        ...

    @staticmethod
    @typing.overload
    def Trim(span: System.ReadOnlySpan[System_MemoryExtensions_Trim_T], trimElement: System_MemoryExtensions_Trim_T) -> System.ReadOnlySpan[System_MemoryExtensions_Trim_T]:
        """
        Removes all leading and trailing occurrences of a specified element from the span.
        
        :param span: The source span from which the element is removed.
        :param trimElement: The specified element to look for and remove.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimStart(span: System.ReadOnlySpan[System_MemoryExtensions_TrimStart_T], trimElement: System_MemoryExtensions_TrimStart_T) -> System.ReadOnlySpan[System_MemoryExtensions_TrimStart_T]:
        """
        Removes all leading occurrences of a specified element from the span.
        
        :param span: The source span from which the element is removed.
        :param trimElement: The specified element to look for and remove.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimEnd(span: System.ReadOnlySpan[System_MemoryExtensions_TrimEnd_T], trimElement: System_MemoryExtensions_TrimEnd_T) -> System.ReadOnlySpan[System_MemoryExtensions_TrimEnd_T]:
        """
        Removes all trailing occurrences of a specified element from the span.
        
        :param span: The source span from which the element is removed.
        :param trimElement: The specified element to look for and remove.
        """
        ...

    @staticmethod
    @typing.overload
    def Trim(memory: System.Memory[System_MemoryExtensions_Trim_T], trimElements: System.ReadOnlySpan[System_MemoryExtensions_Trim_T]) -> System.Memory[System_MemoryExtensions_Trim_T]:
        """
        Removes all leading and trailing occurrences of a set of elements specified
        in a readonly span from the memory.
        
        :param memory: The source memory from which the elements are removed.
        :param trimElements: The span which contains the set of elements to remove.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimStart(memory: System.Memory[System_MemoryExtensions_TrimStart_T], trimElements: System.ReadOnlySpan[System_MemoryExtensions_TrimStart_T]) -> System.Memory[System_MemoryExtensions_TrimStart_T]:
        """
        Removes all leading occurrences of a set of elements specified
        in a readonly span from the memory.
        
        :param memory: The source memory from which the elements are removed.
        :param trimElements: The span which contains the set of elements to remove.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimEnd(memory: System.Memory[System_MemoryExtensions_TrimEnd_T], trimElements: System.ReadOnlySpan[System_MemoryExtensions_TrimEnd_T]) -> System.Memory[System_MemoryExtensions_TrimEnd_T]:
        """
        Removes all trailing occurrences of a set of elements specified
        in a readonly span from the memory.
        
        :param memory: The source memory from which the elements are removed.
        :param trimElements: The span which contains the set of elements to remove.
        """
        ...

    @staticmethod
    @typing.overload
    def Trim(memory: System.ReadOnlyMemory[System_MemoryExtensions_Trim_T], trimElements: System.ReadOnlySpan[System_MemoryExtensions_Trim_T]) -> System.ReadOnlyMemory[System_MemoryExtensions_Trim_T]:
        """
        Removes all leading and trailing occurrences of a set of elements specified
        in a readonly span from the memory.
        
        :param memory: The source memory from which the elements are removed.
        :param trimElements: The span which contains the set of elements to remove.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimStart(memory: System.ReadOnlyMemory[System_MemoryExtensions_TrimStart_T], trimElements: System.ReadOnlySpan[System_MemoryExtensions_TrimStart_T]) -> System.ReadOnlyMemory[System_MemoryExtensions_TrimStart_T]:
        """
        Removes all leading occurrences of a set of elements specified
        in a readonly span from the memory.
        
        :param memory: The source memory from which the elements are removed.
        :param trimElements: The span which contains the set of elements to remove.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimEnd(memory: System.ReadOnlyMemory[System_MemoryExtensions_TrimEnd_T], trimElements: System.ReadOnlySpan[System_MemoryExtensions_TrimEnd_T]) -> System.ReadOnlyMemory[System_MemoryExtensions_TrimEnd_T]:
        """
        Removes all trailing occurrences of a set of elements specified
        in a readonly span from the memory.
        
        :param memory: The source memory from which the elements are removed.
        :param trimElements: The span which contains the set of elements to remove.
        """
        ...

    @staticmethod
    @typing.overload
    def Trim(span: System.Span[System_MemoryExtensions_Trim_T], trimElements: System.ReadOnlySpan[System_MemoryExtensions_Trim_T]) -> System.Span[System_MemoryExtensions_Trim_T]:
        """
        Removes all leading and trailing occurrences of a set of elements specified
        in a readonly span from the span.
        
        :param span: The source span from which the elements are removed.
        :param trimElements: The span which contains the set of elements to remove.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimStart(span: System.Span[System_MemoryExtensions_TrimStart_T], trimElements: System.ReadOnlySpan[System_MemoryExtensions_TrimStart_T]) -> System.Span[System_MemoryExtensions_TrimStart_T]:
        """
        Removes all leading occurrences of a set of elements specified
        in a readonly span from the span.
        
        :param span: The source span from which the elements are removed.
        :param trimElements: The span which contains the set of elements to remove.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimEnd(span: System.Span[System_MemoryExtensions_TrimEnd_T], trimElements: System.ReadOnlySpan[System_MemoryExtensions_TrimEnd_T]) -> System.Span[System_MemoryExtensions_TrimEnd_T]:
        """
        Removes all trailing occurrences of a set of elements specified
        in a readonly span from the span.
        
        :param span: The source span from which the elements are removed.
        :param trimElements: The span which contains the set of elements to remove.
        """
        ...

    @staticmethod
    @typing.overload
    def Trim(span: System.ReadOnlySpan[System_MemoryExtensions_Trim_T], trimElements: System.ReadOnlySpan[System_MemoryExtensions_Trim_T]) -> System.ReadOnlySpan[System_MemoryExtensions_Trim_T]:
        """
        Removes all leading and trailing occurrences of a set of elements specified
        in a readonly span from the span.
        
        :param span: The source span from which the elements are removed.
        :param trimElements: The span which contains the set of elements to remove.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimStart(span: System.ReadOnlySpan[System_MemoryExtensions_TrimStart_T], trimElements: System.ReadOnlySpan[System_MemoryExtensions_TrimStart_T]) -> System.ReadOnlySpan[System_MemoryExtensions_TrimStart_T]:
        """
        Removes all leading occurrences of a set of elements specified
        in a readonly span from the span.
        
        :param span: The source span from which the elements are removed.
        :param trimElements: The span which contains the set of elements to remove.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimEnd(span: System.ReadOnlySpan[System_MemoryExtensions_TrimEnd_T], trimElements: System.ReadOnlySpan[System_MemoryExtensions_TrimEnd_T]) -> System.ReadOnlySpan[System_MemoryExtensions_TrimEnd_T]:
        """
        Removes all trailing occurrences of a set of elements specified
        in a readonly span from the span.
        
        :param span: The source span from which the elements are removed.
        :param trimElements: The span which contains the set of elements to remove.
        """
        ...

    @staticmethod
    @typing.overload
    def Trim(memory: System.Memory[str]) -> System.Memory[str]:
        """
        Removes all leading and trailing white-space characters from the memory.
        
        :param memory: The source memory from which the characters are removed.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimStart(memory: System.Memory[str]) -> System.Memory[str]:
        """
        Removes all leading white-space characters from the memory.
        
        :param memory: The source memory from which the characters are removed.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimEnd(memory: System.Memory[str]) -> System.Memory[str]:
        """
        Removes all trailing white-space characters from the memory.
        
        :param memory: The source memory from which the characters are removed.
        """
        ...

    @staticmethod
    @typing.overload
    def Trim(memory: System.ReadOnlyMemory[str]) -> System.ReadOnlyMemory[str]:
        """
        Removes all leading and trailing white-space characters from the memory.
        
        :param memory: The source memory from which the characters are removed.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimStart(memory: System.ReadOnlyMemory[str]) -> System.ReadOnlyMemory[str]:
        """
        Removes all leading white-space characters from the memory.
        
        :param memory: The source memory from which the characters are removed.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimEnd(memory: System.ReadOnlyMemory[str]) -> System.ReadOnlyMemory[str]:
        """
        Removes all trailing white-space characters from the memory.
        
        :param memory: The source memory from which the characters are removed.
        """
        ...

    @staticmethod
    @typing.overload
    def Trim(span: System.ReadOnlySpan[str]) -> System.ReadOnlySpan[str]:
        """
        Removes all leading and trailing white-space characters from the span.
        
        :param span: The source span from which the characters are removed.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimStart(span: System.ReadOnlySpan[str]) -> System.ReadOnlySpan[str]:
        """
        Removes all leading white-space characters from the span.
        
        :param span: The source span from which the characters are removed.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimEnd(span: System.ReadOnlySpan[str]) -> System.ReadOnlySpan[str]:
        """
        Removes all trailing white-space characters from the span.
        
        :param span: The source span from which the characters are removed.
        """
        ...

    @staticmethod
    @typing.overload
    def Trim(span: System.ReadOnlySpan[str], trimChar: str) -> System.ReadOnlySpan[str]:
        """
        Removes all leading and trailing occurrences of a specified character from the span.
        
        :param span: The source span from which the character is removed.
        :param trimChar: The specified character to look for and remove.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimStart(span: System.ReadOnlySpan[str], trimChar: str) -> System.ReadOnlySpan[str]:
        """
        Removes all leading occurrences of a specified character from the span.
        
        :param span: The source span from which the character is removed.
        :param trimChar: The specified character to look for and remove.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimEnd(span: System.ReadOnlySpan[str], trimChar: str) -> System.ReadOnlySpan[str]:
        """
        Removes all trailing occurrences of a specified character from the span.
        
        :param span: The source span from which the character is removed.
        :param trimChar: The specified character to look for and remove.
        """
        ...

    @staticmethod
    @typing.overload
    def Trim(span: System.ReadOnlySpan[str], trimChars: System.ReadOnlySpan[str]) -> System.ReadOnlySpan[str]:
        """
        Removes all leading and trailing occurrences of a set of characters specified
        in a readonly span from the span.
        
        :param span: The source span from which the characters are removed.
        :param trimChars: The span which contains the set of characters to remove.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimStart(span: System.ReadOnlySpan[str], trimChars: System.ReadOnlySpan[str]) -> System.ReadOnlySpan[str]:
        """
        Removes all leading occurrences of a set of characters specified
        in a readonly span from the span.
        
        :param span: The source span from which the characters are removed.
        :param trimChars: The span which contains the set of characters to remove.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimEnd(span: System.ReadOnlySpan[str], trimChars: System.ReadOnlySpan[str]) -> System.ReadOnlySpan[str]:
        """
        Removes all trailing occurrences of a set of characters specified
        in a readonly span from the span.
        
        :param span: The source span from which the characters are removed.
        :param trimChars: The span which contains the set of characters to remove.
        """
        ...

    @staticmethod
    @typing.overload
    def Trim(span: System.Span[str]) -> System.Span[str]:
        """
        Removes all leading and trailing white-space characters from the span.
        
        :param span: The source span from which the characters are removed.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimStart(span: System.Span[str]) -> System.Span[str]:
        """
        Removes all leading white-space characters from the span.
        
        :param span: The source span from which the characters are removed.
        """
        ...

    @staticmethod
    @typing.overload
    def TrimEnd(span: System.Span[str]) -> System.Span[str]:
        """
        Removes all trailing white-space characters from the span.
        
        :param span: The source span from which the characters are removed.
        """
        ...


class MethodAccessException(System.MemberAccessException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, inner: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class Int16(System.IComparable[int], System.IConvertible, System.IFormattable, System.IEquatable[int], System.ISpanFormattable):
    """This class has no documentation."""

    MaxValue: int = ...

    MinValue: int = ...

    @typing.overload
    def CompareTo(self, value: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, value: int) -> int:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, obj: int) -> bool:
        ...

    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, provider: System.IFormatProvider) -> str:
        ...

    @typing.overload
    def ToString(self, format: str) -> str:
        ...

    @typing.overload
    def ToString(self, format: str, provider: System.IFormatProvider) -> str:
        ...

    def TryFormat(self, destination: System.Span[str], charsWritten: int, format: System.ReadOnlySpan[str] = ..., provider: System.IFormatProvider = None) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles = ..., provider: System.IFormatProvider = None) -> int:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, result: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], result: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: int) -> bool:
        ...

    def GetTypeCode(self) -> int:
        """:returns: This method returns the int value of a member of the System.TypeCode enum."""
        ...

    def ToBoolean(self, provider: System.IFormatProvider) -> bool:
        ...

    def ToChar(self, provider: System.IFormatProvider) -> str:
        ...

    def ToSByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToSingle(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDouble(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDecimal(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDateTime(self, provider: System.IFormatProvider) -> datetime.datetime:
        ...

    def ToType(self, type: typing.Type, provider: System.IFormatProvider) -> System.Object:
        ...


class Char(System.IComparable[str], System.IEquatable[str], System.IConvertible):
    """This class has no documentation."""

    MaxValue: str = ...

    MinValue: str = ...

    UNICODE_PLANE00_END: int = ...

    UNICODE_PLANE01_START: int = ...

    UNICODE_PLANE16_END: int = ...

    @staticmethod
    def IsAscii(c: str) -> bool:
        ...

    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, obj: str) -> bool:
        ...

    @typing.overload
    def CompareTo(self, value: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, value: str) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, provider: System.IFormatProvider) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToString(c: str) -> str:
        ...

    @staticmethod
    def Parse(s: str) -> str:
        ...

    @staticmethod
    def TryParse(s: str, result: str) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsDigit(c: str) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsLetter(c: str) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsWhiteSpace(c: str) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsUpper(c: str) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsLower(c: str) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsPunctuation(c: str) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsLetterOrDigit(c: str) -> bool:
        ...

    @staticmethod
    @typing.overload
    def ToUpper(c: str, culture: System.Globalization.CultureInfo) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToUpper(c: str) -> str:
        ...

    @staticmethod
    def ToUpperInvariant(c: str) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToLower(c: str, culture: System.Globalization.CultureInfo) -> str:
        ...

    @staticmethod
    @typing.overload
    def ToLower(c: str) -> str:
        ...

    @staticmethod
    def ToLowerInvariant(c: str) -> str:
        ...

    def GetTypeCode(self) -> int:
        """:returns: This method returns the int value of a member of the System.TypeCode enum."""
        ...

    def ToBoolean(self, provider: System.IFormatProvider) -> bool:
        ...

    def ToChar(self, provider: System.IFormatProvider) -> str:
        ...

    def ToSByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToSingle(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDouble(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDecimal(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDateTime(self, provider: System.IFormatProvider) -> datetime.datetime:
        ...

    def ToType(self, type: typing.Type, provider: System.IFormatProvider) -> System.Object:
        ...

    @staticmethod
    @typing.overload
    def IsControl(c: str) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsControl(s: str, index: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsDigit(s: str, index: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsLetter(s: str, index: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsLetterOrDigit(s: str, index: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsLower(s: str, index: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsNumber(c: str) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsNumber(s: str, index: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsPunctuation(s: str, index: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsSeparator(c: str) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsSeparator(s: str, index: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsSurrogate(c: str) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsSurrogate(s: str, index: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsSymbol(c: str) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsSymbol(s: str, index: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsUpper(s: str, index: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsWhiteSpace(s: str, index: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def GetUnicodeCategory(c: str) -> int:
        """:returns: This method returns the int value of a member of the System.Globalization.UnicodeCategory enum."""
        ...

    @staticmethod
    @typing.overload
    def GetUnicodeCategory(s: str, index: int) -> int:
        """:returns: This method returns the int value of a member of the System.Globalization.UnicodeCategory enum."""
        ...

    @staticmethod
    @typing.overload
    def GetNumericValue(c: str) -> float:
        ...

    @staticmethod
    @typing.overload
    def GetNumericValue(s: str, index: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def IsHighSurrogate(c: str) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsHighSurrogate(s: str, index: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsLowSurrogate(c: str) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsLowSurrogate(s: str, index: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsSurrogatePair(s: str, index: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsSurrogatePair(highSurrogate: str, lowSurrogate: str) -> bool:
        ...

    @staticmethod
    def ConvertFromUtf32(utf32: int) -> str:
        ...

    @staticmethod
    @typing.overload
    def ConvertToUtf32(highSurrogate: str, lowSurrogate: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def ConvertToUtf32(s: str, index: int) -> int:
        ...


class ArgumentOutOfRangeException(System.ArgumentException):
    """This class has no documentation."""

    @property
    def Message(self) -> str:
        ...

    @property
    def ActualValue(self) -> System.Object:
        ...

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, paramName: str) -> None:
        ...

    @typing.overload
    def __init__(self, paramName: str, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, paramName: str, actualValue: typing.Any, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...

    def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        ...


class CannotUnloadAppDomainException(System.SystemException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class Boolean(System.IComparable[bool], System.IConvertible, System.IEquatable[bool]):
    """This class has no documentation."""

    # Cannot convert to Python: True: int = 1

    # Cannot convert to Python: False: int = 0

    TrueLiteral: str = "True"

    FalseLiteral: str = "False"

    TrueString: str = ...

    FalseString: str = ...

    def GetHashCode(self) -> int:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, provider: System.IFormatProvider) -> str:
        ...

    def TryFormat(self, destination: System.Span[str], charsWritten: int) -> bool:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, obj: bool) -> bool:
        ...

    @typing.overload
    def CompareTo(self, obj: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, value: bool) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(value: str) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Parse(value: System.ReadOnlySpan[str]) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(value: str, result: bool) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(value: System.ReadOnlySpan[str], result: bool) -> bool:
        ...

    def GetTypeCode(self) -> int:
        """:returns: This method returns the int value of a member of the System.TypeCode enum."""
        ...

    def ToBoolean(self, provider: System.IFormatProvider) -> bool:
        ...

    def ToChar(self, provider: System.IFormatProvider) -> str:
        ...

    def ToSByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToSingle(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDouble(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDecimal(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDateTime(self, provider: System.IFormatProvider) -> datetime.datetime:
        ...

    def ToType(self, type: typing.Type, provider: System.IFormatProvider) -> System.Object:
        ...


class UnauthorizedAccessException(System.SystemException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, inner: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class RankException(System.SystemException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class BadImageFormatException(System.SystemException):
    """This class has no documentation."""

    @property
    def Message(self) -> str:
        ...

    @property
    def FileName(self) -> str:
        ...

    @property
    def FusionLog(self) -> str:
        ...

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, inner: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, fileName: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, fileName: str, inner: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...

    def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        ...

    def ToString(self) -> str:
        ...


class InvalidTimeZoneException(System.Exception):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class StackOverflowException(System.SystemException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...


class InsufficientMemoryException(System.OutOfMemoryException):
    """
    Purpose: The exception class for running out of memory
    but most likely in a non-fatal way that shouldn't
    be affected by escalation policy.  Use this for cases
    like MemoryFailPoint or a TryAllocate method, where you
    expect OOM's with no shared state corruption and you
    want to recover from these errors.
    """

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...


class AccessViolationException(System.SystemException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class Delegate(System.Object, System.ICloneable, System.Runtime.Serialization.ISerializable, metaclass=abc.ABCMeta):
    """This class has no documentation."""

    @property
    def Method(self) -> System.Reflection.MethodInfo:
        ...

    @property
    def Target(self) -> System.Object:
        ...

    def Clone(self) -> System.Object:
        ...

    @staticmethod
    @typing.overload
    def Combine(a: System.Delegate, b: System.Delegate) -> System.Delegate:
        ...

    @staticmethod
    @typing.overload
    def Combine(*delegates: System.Delegate) -> System.Delegate:
        ...

    @staticmethod
    @typing.overload
    def CreateDelegate(type: typing.Type, firstArgument: typing.Any, method: System.Reflection.MethodInfo) -> System.Delegate:
        ...

    @staticmethod
    @typing.overload
    def CreateDelegate(type: typing.Type, method: System.Reflection.MethodInfo) -> System.Delegate:
        ...

    @staticmethod
    @typing.overload
    def CreateDelegate(type: typing.Type, target: typing.Any, method: str) -> System.Delegate:
        ...

    @staticmethod
    @typing.overload
    def CreateDelegate(type: typing.Type, target: typing.Any, method: str, ignoreCase: bool) -> System.Delegate:
        ...

    @staticmethod
    @typing.overload
    def CreateDelegate(type: typing.Type, target: typing.Type, method: str) -> System.Delegate:
        ...

    @staticmethod
    @typing.overload
    def CreateDelegate(type: typing.Type, target: typing.Type, method: str, ignoreCase: bool) -> System.Delegate:
        ...

    def CombineImpl(self, d: System.Delegate) -> System.Delegate:
        """This method is protected."""
        ...

    def RemoveImpl(self, d: System.Delegate) -> System.Delegate:
        """This method is protected."""
        ...

    def GetInvocationList(self) -> typing.List[System.Delegate]:
        ...

    def DynamicInvoke(self, *args: typing.Any) -> System.Object:
        ...

    def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        ...

    @staticmethod
    def Remove(source: System.Delegate, value: System.Delegate) -> System.Delegate:
        ...

    @staticmethod
    def RemoveAll(source: System.Delegate, value: System.Delegate) -> System.Delegate:
        ...

    @typing.overload
    def __init__(self, target: typing.Any, method: str) -> None:
        """This method is protected."""
        ...

    @typing.overload
    def __init__(self, target: typing.Type, method: str) -> None:
        """This method is protected."""
        ...

    @staticmethod
    @typing.overload
    def CreateDelegate(type: typing.Type, firstArgument: typing.Any, method: System.Reflection.MethodInfo, throwOnBindFailure: bool) -> System.Delegate:
        ...

    @staticmethod
    @typing.overload
    def CreateDelegate(type: typing.Type, method: System.Reflection.MethodInfo, throwOnBindFailure: bool) -> System.Delegate:
        ...

    @staticmethod
    @typing.overload
    def CreateDelegate(type: typing.Type, target: typing.Any, method: str, ignoreCase: bool, throwOnBindFailure: bool) -> System.Delegate:
        ...

    @staticmethod
    @typing.overload
    def CreateDelegate(type: typing.Type, target: typing.Type, method: str, ignoreCase: bool, throwOnBindFailure: bool) -> System.Delegate:
        ...

    def DynamicInvokeImpl(self, args: typing.List[System.Object]) -> System.Object:
        """This method is protected."""
        ...

    def Equals(self, obj: typing.Any) -> bool:
        ...

    def GetHashCode(self) -> int:
        ...

    def GetMethodImpl(self) -> System.Reflection.MethodInfo:
        """This method is protected."""
        ...


class ArgumentNullException(System.ArgumentException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, paramName: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, paramName: str, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class UnitySerializationHolder(System.Object, System.Runtime.Serialization.ISerializable, System.Runtime.Serialization.IObjectReference):
    """
    Holds Null class for which we guarantee that there is only ever one instance of.
    This only exists for compatibility with .NET Framework.
    """

    NullUnity: int = ...

    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        ...

    def GetObjectData(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        ...

    def GetRealObject(self, context: System.Runtime.Serialization.StreamingContext) -> System.Object:
        ...


class Byte(System.IComparable[int], System.IConvertible, System.IFormattable, System.IEquatable[int], System.ISpanFormattable):
    """This class has no documentation."""

    MaxValue: int = ...

    MinValue: int = 0

    @typing.overload
    def CompareTo(self, value: typing.Any) -> int:
        ...

    @typing.overload
    def CompareTo(self, value: int) -> int:
        ...

    @typing.overload
    def Equals(self, obj: typing.Any) -> bool:
        ...

    @typing.overload
    def Equals(self, obj: int) -> bool:
        ...

    def GetHashCode(self) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider) -> int:
        ...

    @staticmethod
    @typing.overload
    def Parse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles = ..., provider: System.IFormatProvider = None) -> int:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, result: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], result: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: str, style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryParse(s: System.ReadOnlySpan[str], style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: int) -> bool:
        ...

    @typing.overload
    def ToString(self) -> str:
        ...

    @typing.overload
    def ToString(self, format: str) -> str:
        ...

    @typing.overload
    def ToString(self, provider: System.IFormatProvider) -> str:
        ...

    @typing.overload
    def ToString(self, format: str, provider: System.IFormatProvider) -> str:
        ...

    def TryFormat(self, destination: System.Span[str], charsWritten: int, format: System.ReadOnlySpan[str] = ..., provider: System.IFormatProvider = None) -> bool:
        ...

    def GetTypeCode(self) -> int:
        """:returns: This method returns the int value of a member of the System.TypeCode enum."""
        ...

    def ToBoolean(self, provider: System.IFormatProvider) -> bool:
        ...

    def ToChar(self, provider: System.IFormatProvider) -> str:
        ...

    def ToSByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToByte(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt16(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt32(self, provider: System.IFormatProvider) -> int:
        ...

    def ToInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToUInt64(self, provider: System.IFormatProvider) -> int:
        ...

    def ToSingle(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDouble(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDecimal(self, provider: System.IFormatProvider) -> float:
        ...

    def ToDateTime(self, provider: System.IFormatProvider) -> datetime.datetime:
        ...

    def ToType(self, type: typing.Type, provider: System.IFormatProvider) -> System.Object:
        ...


class MathF(System.Object):
    """This class has no documentation."""

    E: float = ...

    PI: float = ...

    Tau: float = ...

    @staticmethod
    def Abs(x: float) -> float:
        ...

    @staticmethod
    def BitDecrement(x: float) -> float:
        ...

    @staticmethod
    def BitIncrement(x: float) -> float:
        ...

    @staticmethod
    def CopySign(x: float, y: float) -> float:
        ...

    @staticmethod
    def IEEERemainder(x: float, y: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Log(x: float, y: float) -> float:
        ...

    @staticmethod
    def Max(x: float, y: float) -> float:
        ...

    @staticmethod
    def MaxMagnitude(x: float, y: float) -> float:
        ...

    @staticmethod
    def Min(x: float, y: float) -> float:
        ...

    @staticmethod
    def MinMagnitude(x: float, y: float) -> float:
        ...

    @staticmethod
    def ReciprocalEstimate(x: float) -> float:
        """
        Returns an estimate of the reciprocal of a specified number.
        
        :param x: The number whose reciprocal is to be estimated.
        :returns: An estimate of the reciprocal of .
        """
        ...

    @staticmethod
    def ReciprocalSqrtEstimate(x: float) -> float:
        """
        Returns an estimate of the reciprocal square root of a specified number.
        
        :param x: The number whose reciprocal square root is to be estimated.
        :returns: An estimate of the reciprocal square root .
        """
        ...

    @staticmethod
    @typing.overload
    def Round(x: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Round(x: float, digits: int) -> float:
        ...

    @staticmethod
    @typing.overload
    def Round(x: float, mode: System.MidpointRounding) -> float:
        ...

    @staticmethod
    @typing.overload
    def Round(x: float, digits: int, mode: System.MidpointRounding) -> float:
        ...

    @staticmethod
    def Sign(x: float) -> int:
        ...

    @staticmethod
    def Truncate(x: float) -> float:
        ...

    @staticmethod
    def ScaleB(x: float, n: int) -> float:
        ...

    @staticmethod
    def Acos(x: float) -> float:
        ...

    @staticmethod
    def Acosh(x: float) -> float:
        ...

    @staticmethod
    def Asin(x: float) -> float:
        ...

    @staticmethod
    def Asinh(x: float) -> float:
        ...

    @staticmethod
    def Atan(x: float) -> float:
        ...

    @staticmethod
    def Atan2(y: float, x: float) -> float:
        ...

    @staticmethod
    def Atanh(x: float) -> float:
        ...

    @staticmethod
    def Cbrt(x: float) -> float:
        ...

    @staticmethod
    def Ceiling(x: float) -> float:
        ...

    @staticmethod
    def Cos(x: float) -> float:
        ...

    @staticmethod
    def Cosh(x: float) -> float:
        ...

    @staticmethod
    def Exp(x: float) -> float:
        ...

    @staticmethod
    def Floor(x: float) -> float:
        ...

    @staticmethod
    @typing.overload
    def Log(x: float) -> float:
        ...

    @staticmethod
    def Log10(x: float) -> float:
        ...

    @staticmethod
    def Pow(x: float, y: float) -> float:
        ...

    @staticmethod
    def Sin(x: float) -> float:
        ...

    @staticmethod
    def SinCos(x: float) -> System.ValueTuple[float, float]:
        ...

    @staticmethod
    def Sinh(x: float) -> float:
        ...

    @staticmethod
    def Sqrt(x: float) -> float:
        ...

    @staticmethod
    def Tan(x: float) -> float:
        ...

    @staticmethod
    def Tanh(x: float) -> float:
        ...

    @staticmethod
    def FusedMultiplyAdd(x: float, y: float, z: float) -> float:
        ...

    @staticmethod
    def ILogB(x: float) -> int:
        ...

    @staticmethod
    def Log2(x: float) -> float:
        ...


class DataMisalignedException(System.SystemException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...


class IndexOutOfRangeException(System.SystemException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...


class SerializableAttribute(System.Attribute):
    """This class has no documentation."""

    def __init__(self) -> None:
        ...


class TimeZoneNotFoundException(System.Exception):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class TimeoutException(System.SystemException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class ResolveEventArgs(System.EventArgs):
    """This class has no documentation."""

    @property
    def Name(self) -> str:
        ...

    @property
    def RequestingAssembly(self) -> System.Reflection.Assembly:
        ...

    @typing.overload
    def __init__(self, name: str) -> None:
        ...

    @typing.overload
    def __init__(self, name: str, requestingAssembly: System.Reflection.Assembly) -> None:
        ...


class AppDomainUnloadedException(System.SystemException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, innerException: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class DllNotFoundException(System.TypeLoadException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, inner: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class IObservable(typing.Generic[System_IObservable_T], metaclass=abc.ABCMeta):
    """This class has no documentation."""

    def Subscribe(self, observer: System.IObserver[System_IObservable_T]) -> System.IDisposable:
        ...


class StringNormalizationExtensions(System.Object):
    """This class has no documentation."""

    @staticmethod
    @typing.overload
    def IsNormalized(strInput: str) -> bool:
        ...

    @staticmethod
    @typing.overload
    def IsNormalized(strInput: str, normalizationForm: System.Text.NormalizationForm) -> bool:
        ...

    @staticmethod
    @typing.overload
    def Normalize(strInput: str) -> str:
        ...

    @staticmethod
    @typing.overload
    def Normalize(strInput: str, normalizationForm: System.Text.NormalizationForm) -> str:
        ...


class EntryPointNotFoundException(System.TypeLoadException):
    """This class has no documentation."""

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, message: str) -> None:
        ...

    @typing.overload
    def __init__(self, message: str, inner: System.Exception) -> None:
        ...

    @typing.overload
    def __init__(self, info: System.Runtime.Serialization.SerializationInfo, context: System.Runtime.Serialization.StreamingContext) -> None:
        """This method is protected."""
        ...


class GCCollectionMode(System.Enum):
    """This class has no documentation."""

    Default = 0

    Forced = 1

    Optimized = 2


class GCNotificationStatus(System.Enum):
    """This class has no documentation."""

    Succeeded = 0

    Failed = 1

    Canceled = 2

    Timeout = 3

    NotApplicable = 4


class GC(System.Object):
    """This class has no documentation."""

    EPHEMERON_TOMBSTONE: System.Object = ...

    MaxGeneration: int

    @staticmethod
    def GetAllocatedBytesForCurrentThread() -> int:
        ...

    @staticmethod
    def GetTotalAllocatedBytes(precise: bool = False) -> int:
        ...

    @staticmethod
    def AddMemoryPressure(bytesAllocated: int) -> None:
        ...

    @staticmethod
    def RemoveMemoryPressure(bytesAllocated: int) -> None:
        ...

    @staticmethod
    @typing.overload
    def GetGeneration(obj: typing.Any) -> int:
        ...

    @staticmethod
    @typing.overload
    def Collect(generation: int) -> None:
        ...

    @staticmethod
    @typing.overload
    def Collect() -> None:
        ...

    @staticmethod
    @typing.overload
    def Collect(generation: int, mode: System.GCCollectionMode) -> None:
        ...

    @staticmethod
    @typing.overload
    def Collect(generation: int, mode: System.GCCollectionMode, blocking: bool) -> None:
        ...

    @staticmethod
    @typing.overload
    def Collect(generation: int, mode: System.GCCollectionMode, blocking: bool, compacting: bool) -> None:
        ...

    @staticmethod
    def CollectionCount(generation: int) -> int:
        ...

    @staticmethod
    def KeepAlive(obj: typing.Any) -> None:
        ...

    @staticmethod
    @typing.overload
    def GetGeneration(wo: System.WeakReference) -> int:
        ...

    @staticmethod
    def WaitForPendingFinalizers() -> None:
        ...

    @staticmethod
    def SuppressFinalize(obj: typing.Any) -> None:
        ...

    @staticmethod
    def ReRegisterForFinalize(obj: typing.Any) -> None:
        ...

    @staticmethod
    def GetTotalMemory(forceFullCollection: bool) -> int:
        ...

    @staticmethod
    def RegisterForFullGCNotification(maxGenerationThreshold: int, largeObjectHeapThreshold: int) -> None:
        ...

    @staticmethod
    def CancelFullGCNotification() -> None:
        ...

    @staticmethod
    @typing.overload
    def WaitForFullGCApproach() -> int:
        """:returns: This method returns the int value of a member of the System.GCNotificationStatus enum."""
        ...

    @staticmethod
    @typing.overload
    def WaitForFullGCApproach(millisecondsTimeout: int) -> int:
        """:returns: This method returns the int value of a member of the System.GCNotificationStatus enum."""
        ...

    @staticmethod
    @typing.overload
    def WaitForFullGCComplete() -> int:
        """:returns: This method returns the int value of a member of the System.GCNotificationStatus enum."""
        ...

    @staticmethod
    @typing.overload
    def WaitForFullGCComplete(millisecondsTimeout: int) -> int:
        """:returns: This method returns the int value of a member of the System.GCNotificationStatus enum."""
        ...

    @staticmethod
    @typing.overload
    def TryStartNoGCRegion(totalSize: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryStartNoGCRegion(totalSize: int, lohSize: int) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryStartNoGCRegion(totalSize: int, disallowFullBlockingGC: bool) -> bool:
        ...

    @staticmethod
    @typing.overload
    def TryStartNoGCRegion(totalSize: int, lohSize: int, disallowFullBlockingGC: bool) -> bool:
        ...

    @staticmethod
    def EndNoGCRegion() -> None:
        ...

    @staticmethod
    @typing.overload
    def GetGCMemoryInfo() -> System.GCMemoryInfo:
        ...

    @staticmethod
    @typing.overload
    def GetGCMemoryInfo(kind: System.GCKind) -> System.GCMemoryInfo:
        ...

    @staticmethod
    def AllocateUninitializedArray(length: int, pinned: bool = False) -> typing.List[System_GC_AllocateUninitializedArray_T]:
        ...

    @staticmethod
    def AllocateArray(length: int, pinned: bool = False) -> typing.List[System_GC_AllocateArray_T]:
        ...


