import typing
from System import Exception, IComparable, Array_1, DateTime, TimeSpan, Decimal, Guid, SystemException
from System.Collections import IDictionary
from System.Reflection import MethodBase
from System.Xml.Serialization import IXmlSerializable
from System.Xml import XmlQualifiedName, XmlReader
from System.Xml.Schema import XmlSchemaSet
from System.Runtime.Serialization import ISerializable
from System.IO import Stream
from System.Globalization import CompareInfo, CultureInfo, CompareOptions

class INullable(typing.Protocol):
    @property
    def IsNull(self) -> bool: ...


class SqlAlreadyFilledException(SqlTypeException):
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, message: str) -> None: ...
    @typing.overload
    def __init__(self, message: str, e: Exception) -> None: ...
    @property
    def Data(self) -> IDictionary: ...
    @property
    def HelpLink(self) -> str: ...
    @HelpLink.setter
    def HelpLink(self, value: str) -> str: ...
    @property
    def HResult(self) -> int: ...
    @HResult.setter
    def HResult(self, value: int) -> int: ...
    @property
    def InnerException(self) -> Exception: ...
    @property
    def Message(self) -> str: ...
    @property
    def Source(self) -> str: ...
    @Source.setter
    def Source(self, value: str) -> str: ...
    @property
    def StackTrace(self) -> str: ...
    @property
    def TargetSite(self) -> MethodBase: ...


class SqlBinary(IXmlSerializable, IComparable_0, INullable):
    def __init__(self, value: Array_1[int]) -> None: ...
    Null : SqlBinary
    @property
    def IsNull(self) -> bool: ...
    @property
    def Item(self) -> int: ...
    @property
    def Length(self) -> int: ...
    @property
    def Value(self) -> Array_1[int]: ...
    @staticmethod
    def Add(x: SqlBinary, y: SqlBinary) -> SqlBinary: ...
    @staticmethod
    def Concat(x: SqlBinary, y: SqlBinary) -> SqlBinary: ...
    def GetHashCode(self) -> int: ...
    @staticmethod
    def GetXsdType(schemaSet: XmlSchemaSet) -> XmlQualifiedName: ...
    @staticmethod
    def GreaterThan(x: SqlBinary, y: SqlBinary) -> SqlBoolean: ...
    @staticmethod
    def GreaterThanOrEqual(x: SqlBinary, y: SqlBinary) -> SqlBoolean: ...
    @staticmethod
    def LessThan(x: SqlBinary, y: SqlBinary) -> SqlBoolean: ...
    @staticmethod
    def LessThanOrEqual(x: SqlBinary, y: SqlBinary) -> SqlBoolean: ...
    @staticmethod
    def NotEquals(x: SqlBinary, y: SqlBinary) -> SqlBoolean: ...
    def __add__(self, x: SqlBinary, y: SqlBinary) -> SqlBinary: ...
    def __eq__(self, x: SqlBinary, y: SqlBinary) -> SqlBoolean: ...
    # Operator not supported op_Explicit(x: SqlBinary)
    # Operator not supported op_Explicit(x: SqlGuid)
    def __gt__(self, x: SqlBinary, y: SqlBinary) -> SqlBoolean: ...
    def __ge__(self, x: SqlBinary, y: SqlBinary) -> SqlBoolean: ...
    # Operator not supported op_Implicit(x: Byte[])
    def __ne__(self, x: SqlBinary, y: SqlBinary) -> SqlBoolean: ...
    def __lt__(self, x: SqlBinary, y: SqlBinary) -> SqlBoolean: ...
    def __le__(self, x: SqlBinary, y: SqlBinary) -> SqlBoolean: ...
    def ToSqlGuid(self) -> SqlGuid: ...
    def ToString(self) -> str: ...
    # Skipped CompareTo due to it being static, abstract and generic.

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

    # Skipped Equals due to it being static, abstract and generic.

    Equals : Equals_MethodGroup
    class Equals_MethodGroup:
        @typing.overload
        def __call__(self, value: typing.Any) -> bool:...
        @typing.overload
        def __call__(self, x: SqlBinary, y: SqlBinary) -> SqlBoolean:...



class SqlBoolean(IXmlSerializable, IComparable_0, INullable):
    # Constructor .ctor(value : Int32) was skipped since it collides with above method
    def __init__(self, value: bool) -> None: ...
    # FIXME: "False" is a reserved keyword
    # False : SqlBoolean
    Null : SqlBoolean
    One : SqlBoolean
    # FIXME: "True" is a reserved keyword
    # True : SqlBoolean
    Zero : SqlBoolean
    @property
    def ByteValue(self) -> int: ...
    @property
    def IsFalse(self) -> bool: ...
    @property
    def IsNull(self) -> bool: ...
    @property
    def IsTrue(self) -> bool: ...
    @property
    def Value(self) -> bool: ...
    @staticmethod
    def And(x: SqlBoolean, y: SqlBoolean) -> SqlBoolean: ...
    def GetHashCode(self) -> int: ...
    @staticmethod
    def GetXsdType(schemaSet: XmlSchemaSet) -> XmlQualifiedName: ...
    @staticmethod
    def GreaterThan(x: SqlBoolean, y: SqlBoolean) -> SqlBoolean: ...
    @staticmethod
    def GreaterThanOrEquals(x: SqlBoolean, y: SqlBoolean) -> SqlBoolean: ...
    @staticmethod
    def LessThan(x: SqlBoolean, y: SqlBoolean) -> SqlBoolean: ...
    @staticmethod
    def LessThanOrEquals(x: SqlBoolean, y: SqlBoolean) -> SqlBoolean: ...
    @staticmethod
    def NotEquals(x: SqlBoolean, y: SqlBoolean) -> SqlBoolean: ...
    @staticmethod
    def OnesComplement(x: SqlBoolean) -> SqlBoolean: ...
    def __and__(self, x: SqlBoolean, y: SqlBoolean) -> SqlBoolean: ...
    def __or__(self, x: SqlBoolean, y: SqlBoolean) -> SqlBoolean: ...
    def __eq__(self, x: SqlBoolean, y: SqlBoolean) -> SqlBoolean: ...
    def __xor__(self, x: SqlBoolean, y: SqlBoolean) -> SqlBoolean: ...
    # Operator not supported op_Explicit(x: SqlBoolean)
    # Operator not supported op_Explicit(x: SqlByte)
    # Operator not supported op_Explicit(x: SqlInt16)
    # Operator not supported op_Explicit(x: SqlInt32)
    # Operator not supported op_Explicit(x: SqlInt64)
    # Operator not supported op_Explicit(x: SqlDouble)
    # Operator not supported op_Explicit(x: SqlSingle)
    # Operator not supported op_Explicit(x: SqlMoney)
    # Operator not supported op_Explicit(x: SqlDecimal)
    # Operator not supported op_Explicit(x: SqlString)
    # Operator not supported op_False(x: SqlBoolean)
    def __gt__(self, x: SqlBoolean, y: SqlBoolean) -> SqlBoolean: ...
    def __ge__(self, x: SqlBoolean, y: SqlBoolean) -> SqlBoolean: ...
    # Operator not supported op_Implicit(x: Boolean)
    def __ne__(self, x: SqlBoolean, y: SqlBoolean) -> SqlBoolean: ...
    def __lt__(self, x: SqlBoolean, y: SqlBoolean) -> SqlBoolean: ...
    def __le__(self, x: SqlBoolean, y: SqlBoolean) -> SqlBoolean: ...
    # Operator not supported op_LogicalNot(x: SqlBoolean)
    def __invert__(self, x: SqlBoolean) -> SqlBoolean: ...
    # Operator not supported op_True(x: SqlBoolean)
    @staticmethod
    def Or(x: SqlBoolean, y: SqlBoolean) -> SqlBoolean: ...
    @staticmethod
    def Parse(s: str) -> SqlBoolean: ...
    def ToSqlByte(self) -> SqlByte: ...
    def ToSqlDecimal(self) -> SqlDecimal: ...
    def ToSqlDouble(self) -> SqlDouble: ...
    def ToSqlInt16(self) -> SqlInt16: ...
    def ToSqlInt32(self) -> SqlInt32: ...
    def ToSqlInt64(self) -> SqlInt64: ...
    def ToSqlMoney(self) -> SqlMoney: ...
    def ToSqlSingle(self) -> SqlSingle: ...
    def ToSqlString(self) -> SqlString: ...
    def ToString(self) -> str: ...
    @staticmethod
    def Xor(x: SqlBoolean, y: SqlBoolean) -> SqlBoolean: ...
    # Skipped CompareTo due to it being static, abstract and generic.

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

    # Skipped Equals due to it being static, abstract and generic.

    Equals : Equals_MethodGroup
    class Equals_MethodGroup:
        @typing.overload
        def __call__(self, value: typing.Any) -> bool:...
        @typing.overload
        def __call__(self, x: SqlBoolean, y: SqlBoolean) -> SqlBoolean:...



class SqlByte(IXmlSerializable, IComparable_0, INullable):
    def __init__(self, value: int) -> None: ...
    MaxValue : SqlByte
    MinValue : SqlByte
    Null : SqlByte
    Zero : SqlByte
    @property
    def IsNull(self) -> bool: ...
    @property
    def Value(self) -> int: ...
    @staticmethod
    def Add(x: SqlByte, y: SqlByte) -> SqlByte: ...
    @staticmethod
    def BitwiseAnd(x: SqlByte, y: SqlByte) -> SqlByte: ...
    @staticmethod
    def BitwiseOr(x: SqlByte, y: SqlByte) -> SqlByte: ...
    @staticmethod
    def Divide(x: SqlByte, y: SqlByte) -> SqlByte: ...
    def GetHashCode(self) -> int: ...
    @staticmethod
    def GetXsdType(schemaSet: XmlSchemaSet) -> XmlQualifiedName: ...
    @staticmethod
    def GreaterThan(x: SqlByte, y: SqlByte) -> SqlBoolean: ...
    @staticmethod
    def GreaterThanOrEqual(x: SqlByte, y: SqlByte) -> SqlBoolean: ...
    @staticmethod
    def LessThan(x: SqlByte, y: SqlByte) -> SqlBoolean: ...
    @staticmethod
    def LessThanOrEqual(x: SqlByte, y: SqlByte) -> SqlBoolean: ...
    @staticmethod
    def Mod(x: SqlByte, y: SqlByte) -> SqlByte: ...
    @staticmethod
    def Modulus(x: SqlByte, y: SqlByte) -> SqlByte: ...
    @staticmethod
    def Multiply(x: SqlByte, y: SqlByte) -> SqlByte: ...
    @staticmethod
    def NotEquals(x: SqlByte, y: SqlByte) -> SqlBoolean: ...
    @staticmethod
    def OnesComplement(x: SqlByte) -> SqlByte: ...
    def __add__(self, x: SqlByte, y: SqlByte) -> SqlByte: ...
    def __and__(self, x: SqlByte, y: SqlByte) -> SqlByte: ...
    def __or__(self, x: SqlByte, y: SqlByte) -> SqlByte: ...
    def __truediv__(self, x: SqlByte, y: SqlByte) -> SqlByte: ...
    def __eq__(self, x: SqlByte, y: SqlByte) -> SqlBoolean: ...
    def __xor__(self, x: SqlByte, y: SqlByte) -> SqlByte: ...
    # Operator not supported op_Explicit(x: SqlByte)
    # Operator not supported op_Explicit(x: SqlBoolean)
    # Operator not supported op_Explicit(x: SqlMoney)
    # Operator not supported op_Explicit(x: SqlInt16)
    # Operator not supported op_Explicit(x: SqlInt32)
    # Operator not supported op_Explicit(x: SqlInt64)
    # Operator not supported op_Explicit(x: SqlSingle)
    # Operator not supported op_Explicit(x: SqlDouble)
    # Operator not supported op_Explicit(x: SqlDecimal)
    # Operator not supported op_Explicit(x: SqlString)
    def __gt__(self, x: SqlByte, y: SqlByte) -> SqlBoolean: ...
    def __ge__(self, x: SqlByte, y: SqlByte) -> SqlBoolean: ...
    # Operator not supported op_Implicit(x: Byte)
    def __ne__(self, x: SqlByte, y: SqlByte) -> SqlBoolean: ...
    def __lt__(self, x: SqlByte, y: SqlByte) -> SqlBoolean: ...
    def __le__(self, x: SqlByte, y: SqlByte) -> SqlBoolean: ...
    def __mod__(self, x: SqlByte, y: SqlByte) -> SqlByte: ...
    def __mul__(self, x: SqlByte, y: SqlByte) -> SqlByte: ...
    def __invert__(self, x: SqlByte) -> SqlByte: ...
    def __sub__(self, x: SqlByte, y: SqlByte) -> SqlByte: ...
    @staticmethod
    def Parse(s: str) -> SqlByte: ...
    @staticmethod
    def Subtract(x: SqlByte, y: SqlByte) -> SqlByte: ...
    def ToSqlBoolean(self) -> SqlBoolean: ...
    def ToSqlDecimal(self) -> SqlDecimal: ...
    def ToSqlDouble(self) -> SqlDouble: ...
    def ToSqlInt16(self) -> SqlInt16: ...
    def ToSqlInt32(self) -> SqlInt32: ...
    def ToSqlInt64(self) -> SqlInt64: ...
    def ToSqlMoney(self) -> SqlMoney: ...
    def ToSqlSingle(self) -> SqlSingle: ...
    def ToSqlString(self) -> SqlString: ...
    def ToString(self) -> str: ...
    @staticmethod
    def Xor(x: SqlByte, y: SqlByte) -> SqlByte: ...
    # Skipped CompareTo due to it being static, abstract and generic.

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

    # Skipped Equals due to it being static, abstract and generic.

    Equals : Equals_MethodGroup
    class Equals_MethodGroup:
        @typing.overload
        def __call__(self, value: typing.Any) -> bool:...
        @typing.overload
        def __call__(self, x: SqlByte, y: SqlByte) -> SqlBoolean:...



class SqlBytes(ISerializable, IXmlSerializable, INullable):
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, buffer: Array_1[int]) -> None: ...
    @typing.overload
    def __init__(self, s: Stream) -> None: ...
    @typing.overload
    def __init__(self, value: SqlBinary) -> None: ...
    @property
    def Buffer(self) -> Array_1[int]: ...
    @property
    def IsNull(self) -> bool: ...
    @property
    def Item(self) -> int: ...
    @Item.setter
    def Item(self, value: int) -> int: ...
    @property
    def Length(self) -> int: ...
    @property
    def MaxLength(self) -> int: ...
    @classmethod
    @property
    def Null(cls) -> SqlBytes: ...
    @property
    def Storage(self) -> StorageState: ...
    @property
    def Stream(self) -> Stream: ...
    @Stream.setter
    def Stream(self, value: Stream) -> Stream: ...
    @property
    def Value(self) -> Array_1[int]: ...
    @staticmethod
    def GetXsdType(schemaSet: XmlSchemaSet) -> XmlQualifiedName: ...
    # Operator not supported op_Explicit(value: SqlBinary)
    # Operator not supported op_Explicit(value: SqlBytes)
    def Read(self, offset: int, buffer: Array_1[int], offsetInBuffer: int, count: int) -> int: ...
    def SetLength(self, value: int) -> None: ...
    def SetNull(self) -> None: ...
    def ToSqlBinary(self) -> SqlBinary: ...
    def Write(self, offset: int, buffer: Array_1[int], offsetInBuffer: int, count: int) -> None: ...


class SqlChars(ISerializable, IXmlSerializable, INullable):
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, buffer: Array_1[str]) -> None: ...
    @typing.overload
    def __init__(self, value: SqlString) -> None: ...
    @property
    def Buffer(self) -> Array_1[str]: ...
    @property
    def IsNull(self) -> bool: ...
    @property
    def Item(self) -> str: ...
    @Item.setter
    def Item(self, value: str) -> str: ...
    @property
    def Length(self) -> int: ...
    @property
    def MaxLength(self) -> int: ...
    @classmethod
    @property
    def Null(cls) -> SqlChars: ...
    @property
    def Storage(self) -> StorageState: ...
    @property
    def Value(self) -> Array_1[str]: ...
    @staticmethod
    def GetXsdType(schemaSet: XmlSchemaSet) -> XmlQualifiedName: ...
    # Operator not supported op_Explicit(value: SqlString)
    # Operator not supported op_Explicit(value: SqlChars)
    def Read(self, offset: int, buffer: Array_1[str], offsetInBuffer: int, count: int) -> int: ...
    def SetLength(self, value: int) -> None: ...
    def SetNull(self) -> None: ...
    def ToSqlString(self) -> SqlString: ...
    def Write(self, offset: int, buffer: Array_1[str], offsetInBuffer: int, count: int) -> None: ...


class SqlCompareOptions(typing.SupportsInt):
    @typing.overload
    def __init__(self, value : int) -> None: ...
    @typing.overload
    def __init__(self, value : int, force_if_true: bool) -> None: ...
    def __int__(self) -> int: ...
    
    # Values:
    None_ : SqlCompareOptions # 0
    IgnoreCase : SqlCompareOptions # 1
    IgnoreNonSpace : SqlCompareOptions # 2
    IgnoreKanaType : SqlCompareOptions # 8
    IgnoreWidth : SqlCompareOptions # 16
    BinarySort2 : SqlCompareOptions # 16384
    BinarySort : SqlCompareOptions # 32768


class SqlDateTime(IXmlSerializable, IComparable_0, INullable):
    # Constructor .ctor(year : Int32, month : Int32, day : Int32, hour : Int32, minute : Int32, second : Int32, millisecond : Double) was skipped since it collides with above method
    @typing.overload
    def __init__(self, dayTicks: int, timeTicks: int) -> None: ...
    @typing.overload
    def __init__(self, value: DateTime) -> None: ...
    @typing.overload
    def __init__(self, year: int, month: int, day: int) -> 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, bilisecond: int) -> None: ...
    MaxValue : SqlDateTime
    MinValue : SqlDateTime
    Null : SqlDateTime
    SQLTicksPerHour : int
    SQLTicksPerMinute : int
    SQLTicksPerSecond : int
    @property
    def DayTicks(self) -> int: ...
    @property
    def IsNull(self) -> bool: ...
    @property
    def TimeTicks(self) -> int: ...
    @property
    def Value(self) -> DateTime: ...
    @staticmethod
    def Add(x: SqlDateTime, t: TimeSpan) -> SqlDateTime: ...
    def GetHashCode(self) -> int: ...
    @staticmethod
    def GetXsdType(schemaSet: XmlSchemaSet) -> XmlQualifiedName: ...
    @staticmethod
    def GreaterThan(x: SqlDateTime, y: SqlDateTime) -> SqlBoolean: ...
    @staticmethod
    def GreaterThanOrEqual(x: SqlDateTime, y: SqlDateTime) -> SqlBoolean: ...
    @staticmethod
    def LessThan(x: SqlDateTime, y: SqlDateTime) -> SqlBoolean: ...
    @staticmethod
    def LessThanOrEqual(x: SqlDateTime, y: SqlDateTime) -> SqlBoolean: ...
    @staticmethod
    def NotEquals(x: SqlDateTime, y: SqlDateTime) -> SqlBoolean: ...
    def __add__(self, x: SqlDateTime, t: TimeSpan) -> SqlDateTime: ...
    def __eq__(self, x: SqlDateTime, y: SqlDateTime) -> SqlBoolean: ...
    # Operator not supported op_Explicit(x: SqlDateTime)
    # Operator not supported op_Explicit(x: SqlString)
    def __gt__(self, x: SqlDateTime, y: SqlDateTime) -> SqlBoolean: ...
    def __ge__(self, x: SqlDateTime, y: SqlDateTime) -> SqlBoolean: ...
    # Operator not supported op_Implicit(value: DateTime)
    def __ne__(self, x: SqlDateTime, y: SqlDateTime) -> SqlBoolean: ...
    def __lt__(self, x: SqlDateTime, y: SqlDateTime) -> SqlBoolean: ...
    def __le__(self, x: SqlDateTime, y: SqlDateTime) -> SqlBoolean: ...
    def __sub__(self, x: SqlDateTime, t: TimeSpan) -> SqlDateTime: ...
    @staticmethod
    def Parse(s: str) -> SqlDateTime: ...
    @staticmethod
    def Subtract(x: SqlDateTime, t: TimeSpan) -> SqlDateTime: ...
    def ToSqlString(self) -> SqlString: ...
    def ToString(self) -> str: ...
    # Skipped CompareTo due to it being static, abstract and generic.

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

    # Skipped Equals due to it being static, abstract and generic.

    Equals : Equals_MethodGroup
    class Equals_MethodGroup:
        @typing.overload
        def __call__(self, value: typing.Any) -> bool:...
        @typing.overload
        def __call__(self, x: SqlDateTime, y: SqlDateTime) -> SqlBoolean:...



class SqlDecimal(IXmlSerializable, IComparable_0, INullable):
    # Constructor .ctor(value : Int32) was skipped since it collides with above method
    # Constructor .ctor(value : Int64) was skipped since it collides with above method
    @typing.overload
    def __init__(self, bPrecision: int, bScale: int, fPositive: bool, bits: Array_1[int]) -> None: ...
    @typing.overload
    def __init__(self, bPrecision: int, bScale: int, fPositive: bool, data1: int, data2: int, data3: int, data4: int) -> None: ...
    @typing.overload
    def __init__(self, dVal: float) -> None: ...
    @typing.overload
    def __init__(self, value: Decimal) -> None: ...
    MaxPrecision : int
    MaxScale : int
    MaxValue : SqlDecimal
    MinValue : SqlDecimal
    Null : SqlDecimal
    @property
    def BinData(self) -> Array_1[int]: ...
    @property
    def Data(self) -> Array_1[int]: ...
    @property
    def IsNull(self) -> bool: ...
    @property
    def IsPositive(self) -> bool: ...
    @property
    def Precision(self) -> int: ...
    @property
    def Scale(self) -> int: ...
    @property
    def Value(self) -> Decimal: ...
    @staticmethod
    def Abs(n: SqlDecimal) -> SqlDecimal: ...
    @staticmethod
    def Add(x: SqlDecimal, y: SqlDecimal) -> SqlDecimal: ...
    @staticmethod
    def AdjustScale(n: SqlDecimal, digits: int, fRound: bool) -> SqlDecimal: ...
    @staticmethod
    def Ceiling(n: SqlDecimal) -> SqlDecimal: ...
    @staticmethod
    def ConvertToPrecScale(n: SqlDecimal, precision: int, scale: int) -> SqlDecimal: ...
    @staticmethod
    def Divide(x: SqlDecimal, y: SqlDecimal) -> SqlDecimal: ...
    @staticmethod
    def Floor(n: SqlDecimal) -> SqlDecimal: ...
    def GetHashCode(self) -> int: ...
    @staticmethod
    def GetXsdType(schemaSet: XmlSchemaSet) -> XmlQualifiedName: ...
    @staticmethod
    def GreaterThan(x: SqlDecimal, y: SqlDecimal) -> SqlBoolean: ...
    @staticmethod
    def GreaterThanOrEqual(x: SqlDecimal, y: SqlDecimal) -> SqlBoolean: ...
    @staticmethod
    def LessThan(x: SqlDecimal, y: SqlDecimal) -> SqlBoolean: ...
    @staticmethod
    def LessThanOrEqual(x: SqlDecimal, y: SqlDecimal) -> SqlBoolean: ...
    @staticmethod
    def Multiply(x: SqlDecimal, y: SqlDecimal) -> SqlDecimal: ...
    @staticmethod
    def NotEquals(x: SqlDecimal, y: SqlDecimal) -> SqlBoolean: ...
    def __add__(self, x: SqlDecimal, y: SqlDecimal) -> SqlDecimal: ...
    def __truediv__(self, x: SqlDecimal, y: SqlDecimal) -> SqlDecimal: ...
    def __eq__(self, x: SqlDecimal, y: SqlDecimal) -> SqlBoolean: ...
    # Operator not supported op_Explicit(x: Double)
    # Operator not supported op_Explicit(x: SqlDecimal)
    # Operator not supported op_Explicit(x: SqlBoolean)
    # Operator not supported op_Explicit(x: SqlSingle)
    # Operator not supported op_Explicit(x: SqlDouble)
    # Operator not supported op_Explicit(x: SqlString)
    def __gt__(self, x: SqlDecimal, y: SqlDecimal) -> SqlBoolean: ...
    def __ge__(self, x: SqlDecimal, y: SqlDecimal) -> SqlBoolean: ...
    # Operator not supported op_Implicit(x: Int64)
    # Operator not supported op_Implicit(x: Decimal)
    # Operator not supported op_Implicit(x: SqlByte)
    # Operator not supported op_Implicit(x: SqlInt16)
    # Operator not supported op_Implicit(x: SqlInt32)
    # Operator not supported op_Implicit(x: SqlInt64)
    # Operator not supported op_Implicit(x: SqlMoney)
    def __ne__(self, x: SqlDecimal, y: SqlDecimal) -> SqlBoolean: ...
    def __lt__(self, x: SqlDecimal, y: SqlDecimal) -> SqlBoolean: ...
    def __le__(self, x: SqlDecimal, y: SqlDecimal) -> SqlBoolean: ...
    def __mul__(self, x: SqlDecimal, y: SqlDecimal) -> SqlDecimal: ...
    def __sub__(self, x: SqlDecimal, y: SqlDecimal) -> SqlDecimal: ...
    def __neg__(self, x: SqlDecimal) -> SqlDecimal: ...
    @staticmethod
    def Parse(s: str) -> SqlDecimal: ...
    @staticmethod
    def Power(n: SqlDecimal, exp: float) -> SqlDecimal: ...
    @staticmethod
    def Round(n: SqlDecimal, position: int) -> SqlDecimal: ...
    @staticmethod
    def Sign(n: SqlDecimal) -> SqlInt32: ...
    @staticmethod
    def Subtract(x: SqlDecimal, y: SqlDecimal) -> SqlDecimal: ...
    def ToDouble(self) -> float: ...
    def ToSqlBoolean(self) -> SqlBoolean: ...
    def ToSqlByte(self) -> SqlByte: ...
    def ToSqlDouble(self) -> SqlDouble: ...
    def ToSqlInt16(self) -> SqlInt16: ...
    def ToSqlInt32(self) -> SqlInt32: ...
    def ToSqlInt64(self) -> SqlInt64: ...
    def ToSqlMoney(self) -> SqlMoney: ...
    def ToSqlSingle(self) -> SqlSingle: ...
    def ToSqlString(self) -> SqlString: ...
    def ToString(self) -> str: ...
    @staticmethod
    def Truncate(n: SqlDecimal, position: int) -> SqlDecimal: ...
    # Skipped CompareTo due to it being static, abstract and generic.

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

    # Skipped Equals due to it being static, abstract and generic.

    Equals : Equals_MethodGroup
    class Equals_MethodGroup:
        @typing.overload
        def __call__(self, value: typing.Any) -> bool:...
        @typing.overload
        def __call__(self, x: SqlDecimal, y: SqlDecimal) -> SqlBoolean:...



class SqlDouble(IXmlSerializable, IComparable_0, INullable):
    def __init__(self, value: float) -> None: ...
    MaxValue : SqlDouble
    MinValue : SqlDouble
    Null : SqlDouble
    Zero : SqlDouble
    @property
    def IsNull(self) -> bool: ...
    @property
    def Value(self) -> float: ...
    @staticmethod
    def Add(x: SqlDouble, y: SqlDouble) -> SqlDouble: ...
    @staticmethod
    def Divide(x: SqlDouble, y: SqlDouble) -> SqlDouble: ...
    def GetHashCode(self) -> int: ...
    @staticmethod
    def GetXsdType(schemaSet: XmlSchemaSet) -> XmlQualifiedName: ...
    @staticmethod
    def GreaterThan(x: SqlDouble, y: SqlDouble) -> SqlBoolean: ...
    @staticmethod
    def GreaterThanOrEqual(x: SqlDouble, y: SqlDouble) -> SqlBoolean: ...
    @staticmethod
    def LessThan(x: SqlDouble, y: SqlDouble) -> SqlBoolean: ...
    @staticmethod
    def LessThanOrEqual(x: SqlDouble, y: SqlDouble) -> SqlBoolean: ...
    @staticmethod
    def Multiply(x: SqlDouble, y: SqlDouble) -> SqlDouble: ...
    @staticmethod
    def NotEquals(x: SqlDouble, y: SqlDouble) -> SqlBoolean: ...
    def __add__(self, x: SqlDouble, y: SqlDouble) -> SqlDouble: ...
    def __truediv__(self, x: SqlDouble, y: SqlDouble) -> SqlDouble: ...
    def __eq__(self, x: SqlDouble, y: SqlDouble) -> SqlBoolean: ...
    # Operator not supported op_Explicit(x: SqlDouble)
    # Operator not supported op_Explicit(x: SqlBoolean)
    # Operator not supported op_Explicit(x: SqlString)
    def __gt__(self, x: SqlDouble, y: SqlDouble) -> SqlBoolean: ...
    def __ge__(self, x: SqlDouble, y: SqlDouble) -> SqlBoolean: ...
    # Operator not supported op_Implicit(x: Double)
    # Operator not supported op_Implicit(x: SqlByte)
    # Operator not supported op_Implicit(x: SqlInt16)
    # Operator not supported op_Implicit(x: SqlInt32)
    # Operator not supported op_Implicit(x: SqlInt64)
    # Operator not supported op_Implicit(x: SqlSingle)
    # Operator not supported op_Implicit(x: SqlMoney)
    # Operator not supported op_Implicit(x: SqlDecimal)
    def __ne__(self, x: SqlDouble, y: SqlDouble) -> SqlBoolean: ...
    def __lt__(self, x: SqlDouble, y: SqlDouble) -> SqlBoolean: ...
    def __le__(self, x: SqlDouble, y: SqlDouble) -> SqlBoolean: ...
    def __mul__(self, x: SqlDouble, y: SqlDouble) -> SqlDouble: ...
    def __sub__(self, x: SqlDouble, y: SqlDouble) -> SqlDouble: ...
    def __neg__(self, x: SqlDouble) -> SqlDouble: ...
    @staticmethod
    def Parse(s: str) -> SqlDouble: ...
    @staticmethod
    def Subtract(x: SqlDouble, y: SqlDouble) -> SqlDouble: ...
    def ToSqlBoolean(self) -> SqlBoolean: ...
    def ToSqlByte(self) -> SqlByte: ...
    def ToSqlDecimal(self) -> SqlDecimal: ...
    def ToSqlInt16(self) -> SqlInt16: ...
    def ToSqlInt32(self) -> SqlInt32: ...
    def ToSqlInt64(self) -> SqlInt64: ...
    def ToSqlMoney(self) -> SqlMoney: ...
    def ToSqlSingle(self) -> SqlSingle: ...
    def ToSqlString(self) -> SqlString: ...
    def ToString(self) -> str: ...
    # Skipped CompareTo due to it being static, abstract and generic.

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

    # Skipped Equals due to it being static, abstract and generic.

    Equals : Equals_MethodGroup
    class Equals_MethodGroup:
        @typing.overload
        def __call__(self, value: typing.Any) -> bool:...
        @typing.overload
        def __call__(self, x: SqlDouble, y: SqlDouble) -> SqlBoolean:...



class SqlGuid(IXmlSerializable, IComparable_0, INullable):
    @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: Guid) -> None: ...
    @typing.overload
    def __init__(self, s: str) -> None: ...
    @typing.overload
    def __init__(self, value: Array_1[int]) -> None: ...
    Null : SqlGuid
    @property
    def IsNull(self) -> bool: ...
    @property
    def Value(self) -> Guid: ...
    def GetHashCode(self) -> int: ...
    @staticmethod
    def GetXsdType(schemaSet: XmlSchemaSet) -> XmlQualifiedName: ...
    @staticmethod
    def GreaterThan(x: SqlGuid, y: SqlGuid) -> SqlBoolean: ...
    @staticmethod
    def GreaterThanOrEqual(x: SqlGuid, y: SqlGuid) -> SqlBoolean: ...
    @staticmethod
    def LessThan(x: SqlGuid, y: SqlGuid) -> SqlBoolean: ...
    @staticmethod
    def LessThanOrEqual(x: SqlGuid, y: SqlGuid) -> SqlBoolean: ...
    @staticmethod
    def NotEquals(x: SqlGuid, y: SqlGuid) -> SqlBoolean: ...
    def __eq__(self, x: SqlGuid, y: SqlGuid) -> SqlBoolean: ...
    # Operator not supported op_Explicit(x: SqlGuid)
    # Operator not supported op_Explicit(x: SqlString)
    # Operator not supported op_Explicit(x: SqlBinary)
    def __gt__(self, x: SqlGuid, y: SqlGuid) -> SqlBoolean: ...
    def __ge__(self, x: SqlGuid, y: SqlGuid) -> SqlBoolean: ...
    # Operator not supported op_Implicit(x: Guid)
    def __ne__(self, x: SqlGuid, y: SqlGuid) -> SqlBoolean: ...
    def __lt__(self, x: SqlGuid, y: SqlGuid) -> SqlBoolean: ...
    def __le__(self, x: SqlGuid, y: SqlGuid) -> SqlBoolean: ...
    @staticmethod
    def Parse(s: str) -> SqlGuid: ...
    def ToByteArray(self) -> Array_1[int]: ...
    def ToSqlBinary(self) -> SqlBinary: ...
    def ToSqlString(self) -> SqlString: ...
    def ToString(self) -> str: ...
    # Skipped CompareTo due to it being static, abstract and generic.

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

    # Skipped Equals due to it being static, abstract and generic.

    Equals : Equals_MethodGroup
    class Equals_MethodGroup:
        @typing.overload
        def __call__(self, value: typing.Any) -> bool:...
        @typing.overload
        def __call__(self, x: SqlGuid, y: SqlGuid) -> SqlBoolean:...



class SqlInt16(IXmlSerializable, IComparable_0, INullable):
    def __init__(self, value: int) -> None: ...
    MaxValue : SqlInt16
    MinValue : SqlInt16
    Null : SqlInt16
    Zero : SqlInt16
    @property
    def IsNull(self) -> bool: ...
    @property
    def Value(self) -> int: ...
    @staticmethod
    def Add(x: SqlInt16, y: SqlInt16) -> SqlInt16: ...
    @staticmethod
    def BitwiseAnd(x: SqlInt16, y: SqlInt16) -> SqlInt16: ...
    @staticmethod
    def BitwiseOr(x: SqlInt16, y: SqlInt16) -> SqlInt16: ...
    @staticmethod
    def Divide(x: SqlInt16, y: SqlInt16) -> SqlInt16: ...
    def GetHashCode(self) -> int: ...
    @staticmethod
    def GetXsdType(schemaSet: XmlSchemaSet) -> XmlQualifiedName: ...
    @staticmethod
    def GreaterThan(x: SqlInt16, y: SqlInt16) -> SqlBoolean: ...
    @staticmethod
    def GreaterThanOrEqual(x: SqlInt16, y: SqlInt16) -> SqlBoolean: ...
    @staticmethod
    def LessThan(x: SqlInt16, y: SqlInt16) -> SqlBoolean: ...
    @staticmethod
    def LessThanOrEqual(x: SqlInt16, y: SqlInt16) -> SqlBoolean: ...
    @staticmethod
    def Mod(x: SqlInt16, y: SqlInt16) -> SqlInt16: ...
    @staticmethod
    def Modulus(x: SqlInt16, y: SqlInt16) -> SqlInt16: ...
    @staticmethod
    def Multiply(x: SqlInt16, y: SqlInt16) -> SqlInt16: ...
    @staticmethod
    def NotEquals(x: SqlInt16, y: SqlInt16) -> SqlBoolean: ...
    @staticmethod
    def OnesComplement(x: SqlInt16) -> SqlInt16: ...
    def __add__(self, x: SqlInt16, y: SqlInt16) -> SqlInt16: ...
    def __and__(self, x: SqlInt16, y: SqlInt16) -> SqlInt16: ...
    def __or__(self, x: SqlInt16, y: SqlInt16) -> SqlInt16: ...
    def __truediv__(self, x: SqlInt16, y: SqlInt16) -> SqlInt16: ...
    def __eq__(self, x: SqlInt16, y: SqlInt16) -> SqlBoolean: ...
    def __xor__(self, x: SqlInt16, y: SqlInt16) -> SqlInt16: ...
    # Operator not supported op_Explicit(x: SqlInt16)
    # Operator not supported op_Explicit(x: SqlBoolean)
    # Operator not supported op_Explicit(x: SqlInt32)
    # Operator not supported op_Explicit(x: SqlInt64)
    # Operator not supported op_Explicit(x: SqlSingle)
    # Operator not supported op_Explicit(x: SqlDouble)
    # Operator not supported op_Explicit(x: SqlMoney)
    # Operator not supported op_Explicit(x: SqlDecimal)
    # Operator not supported op_Explicit(x: SqlString)
    def __gt__(self, x: SqlInt16, y: SqlInt16) -> SqlBoolean: ...
    def __ge__(self, x: SqlInt16, y: SqlInt16) -> SqlBoolean: ...
    # Operator not supported op_Implicit(x: Int16)
    # Operator not supported op_Implicit(x: SqlByte)
    def __ne__(self, x: SqlInt16, y: SqlInt16) -> SqlBoolean: ...
    def __lt__(self, x: SqlInt16, y: SqlInt16) -> SqlBoolean: ...
    def __le__(self, x: SqlInt16, y: SqlInt16) -> SqlBoolean: ...
    def __mod__(self, x: SqlInt16, y: SqlInt16) -> SqlInt16: ...
    def __mul__(self, x: SqlInt16, y: SqlInt16) -> SqlInt16: ...
    def __invert__(self, x: SqlInt16) -> SqlInt16: ...
    def __sub__(self, x: SqlInt16, y: SqlInt16) -> SqlInt16: ...
    def __neg__(self, x: SqlInt16) -> SqlInt16: ...
    @staticmethod
    def Parse(s: str) -> SqlInt16: ...
    @staticmethod
    def Subtract(x: SqlInt16, y: SqlInt16) -> SqlInt16: ...
    def ToSqlBoolean(self) -> SqlBoolean: ...
    def ToSqlByte(self) -> SqlByte: ...
    def ToSqlDecimal(self) -> SqlDecimal: ...
    def ToSqlDouble(self) -> SqlDouble: ...
    def ToSqlInt32(self) -> SqlInt32: ...
    def ToSqlInt64(self) -> SqlInt64: ...
    def ToSqlMoney(self) -> SqlMoney: ...
    def ToSqlSingle(self) -> SqlSingle: ...
    def ToSqlString(self) -> SqlString: ...
    def ToString(self) -> str: ...
    @staticmethod
    def Xor(x: SqlInt16, y: SqlInt16) -> SqlInt16: ...
    # Skipped CompareTo due to it being static, abstract and generic.

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

    # Skipped Equals due to it being static, abstract and generic.

    Equals : Equals_MethodGroup
    class Equals_MethodGroup:
        @typing.overload
        def __call__(self, value: typing.Any) -> bool:...
        @typing.overload
        def __call__(self, x: SqlInt16, y: SqlInt16) -> SqlBoolean:...



class SqlInt32(IXmlSerializable, IComparable_0, INullable):
    def __init__(self, value: int) -> None: ...
    MaxValue : SqlInt32
    MinValue : SqlInt32
    Null : SqlInt32
    Zero : SqlInt32
    @property
    def IsNull(self) -> bool: ...
    @property
    def Value(self) -> int: ...
    @staticmethod
    def Add(x: SqlInt32, y: SqlInt32) -> SqlInt32: ...
    @staticmethod
    def BitwiseAnd(x: SqlInt32, y: SqlInt32) -> SqlInt32: ...
    @staticmethod
    def BitwiseOr(x: SqlInt32, y: SqlInt32) -> SqlInt32: ...
    @staticmethod
    def Divide(x: SqlInt32, y: SqlInt32) -> SqlInt32: ...
    def GetHashCode(self) -> int: ...
    @staticmethod
    def GetXsdType(schemaSet: XmlSchemaSet) -> XmlQualifiedName: ...
    @staticmethod
    def GreaterThan(x: SqlInt32, y: SqlInt32) -> SqlBoolean: ...
    @staticmethod
    def GreaterThanOrEqual(x: SqlInt32, y: SqlInt32) -> SqlBoolean: ...
    @staticmethod
    def LessThan(x: SqlInt32, y: SqlInt32) -> SqlBoolean: ...
    @staticmethod
    def LessThanOrEqual(x: SqlInt32, y: SqlInt32) -> SqlBoolean: ...
    @staticmethod
    def Mod(x: SqlInt32, y: SqlInt32) -> SqlInt32: ...
    @staticmethod
    def Modulus(x: SqlInt32, y: SqlInt32) -> SqlInt32: ...
    @staticmethod
    def Multiply(x: SqlInt32, y: SqlInt32) -> SqlInt32: ...
    @staticmethod
    def NotEquals(x: SqlInt32, y: SqlInt32) -> SqlBoolean: ...
    @staticmethod
    def OnesComplement(x: SqlInt32) -> SqlInt32: ...
    def __add__(self, x: SqlInt32, y: SqlInt32) -> SqlInt32: ...
    def __and__(self, x: SqlInt32, y: SqlInt32) -> SqlInt32: ...
    def __or__(self, x: SqlInt32, y: SqlInt32) -> SqlInt32: ...
    def __truediv__(self, x: SqlInt32, y: SqlInt32) -> SqlInt32: ...
    def __eq__(self, x: SqlInt32, y: SqlInt32) -> SqlBoolean: ...
    def __xor__(self, x: SqlInt32, y: SqlInt32) -> SqlInt32: ...
    # Operator not supported op_Explicit(x: SqlInt32)
    # Operator not supported op_Explicit(x: SqlBoolean)
    # Operator not supported op_Explicit(x: SqlInt64)
    # Operator not supported op_Explicit(x: SqlSingle)
    # Operator not supported op_Explicit(x: SqlDouble)
    # Operator not supported op_Explicit(x: SqlMoney)
    # Operator not supported op_Explicit(x: SqlDecimal)
    # Operator not supported op_Explicit(x: SqlString)
    def __gt__(self, x: SqlInt32, y: SqlInt32) -> SqlBoolean: ...
    def __ge__(self, x: SqlInt32, y: SqlInt32) -> SqlBoolean: ...
    # Operator not supported op_Implicit(x: Int32)
    # Operator not supported op_Implicit(x: SqlByte)
    # Operator not supported op_Implicit(x: SqlInt16)
    def __ne__(self, x: SqlInt32, y: SqlInt32) -> SqlBoolean: ...
    def __lt__(self, x: SqlInt32, y: SqlInt32) -> SqlBoolean: ...
    def __le__(self, x: SqlInt32, y: SqlInt32) -> SqlBoolean: ...
    def __mod__(self, x: SqlInt32, y: SqlInt32) -> SqlInt32: ...
    def __mul__(self, x: SqlInt32, y: SqlInt32) -> SqlInt32: ...
    def __invert__(self, x: SqlInt32) -> SqlInt32: ...
    def __sub__(self, x: SqlInt32, y: SqlInt32) -> SqlInt32: ...
    def __neg__(self, x: SqlInt32) -> SqlInt32: ...
    @staticmethod
    def Parse(s: str) -> SqlInt32: ...
    @staticmethod
    def Subtract(x: SqlInt32, y: SqlInt32) -> SqlInt32: ...
    def ToSqlBoolean(self) -> SqlBoolean: ...
    def ToSqlByte(self) -> SqlByte: ...
    def ToSqlDecimal(self) -> SqlDecimal: ...
    def ToSqlDouble(self) -> SqlDouble: ...
    def ToSqlInt16(self) -> SqlInt16: ...
    def ToSqlInt64(self) -> SqlInt64: ...
    def ToSqlMoney(self) -> SqlMoney: ...
    def ToSqlSingle(self) -> SqlSingle: ...
    def ToSqlString(self) -> SqlString: ...
    def ToString(self) -> str: ...
    @staticmethod
    def Xor(x: SqlInt32, y: SqlInt32) -> SqlInt32: ...
    # Skipped CompareTo due to it being static, abstract and generic.

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

    # Skipped Equals due to it being static, abstract and generic.

    Equals : Equals_MethodGroup
    class Equals_MethodGroup:
        @typing.overload
        def __call__(self, value: typing.Any) -> bool:...
        @typing.overload
        def __call__(self, x: SqlInt32, y: SqlInt32) -> SqlBoolean:...



class SqlInt64(IXmlSerializable, IComparable_0, INullable):
    def __init__(self, value: int) -> None: ...
    MaxValue : SqlInt64
    MinValue : SqlInt64
    Null : SqlInt64
    Zero : SqlInt64
    @property
    def IsNull(self) -> bool: ...
    @property
    def Value(self) -> int: ...
    @staticmethod
    def Add(x: SqlInt64, y: SqlInt64) -> SqlInt64: ...
    @staticmethod
    def BitwiseAnd(x: SqlInt64, y: SqlInt64) -> SqlInt64: ...
    @staticmethod
    def BitwiseOr(x: SqlInt64, y: SqlInt64) -> SqlInt64: ...
    @staticmethod
    def Divide(x: SqlInt64, y: SqlInt64) -> SqlInt64: ...
    def GetHashCode(self) -> int: ...
    @staticmethod
    def GetXsdType(schemaSet: XmlSchemaSet) -> XmlQualifiedName: ...
    @staticmethod
    def GreaterThan(x: SqlInt64, y: SqlInt64) -> SqlBoolean: ...
    @staticmethod
    def GreaterThanOrEqual(x: SqlInt64, y: SqlInt64) -> SqlBoolean: ...
    @staticmethod
    def LessThan(x: SqlInt64, y: SqlInt64) -> SqlBoolean: ...
    @staticmethod
    def LessThanOrEqual(x: SqlInt64, y: SqlInt64) -> SqlBoolean: ...
    @staticmethod
    def Mod(x: SqlInt64, y: SqlInt64) -> SqlInt64: ...
    @staticmethod
    def Modulus(x: SqlInt64, y: SqlInt64) -> SqlInt64: ...
    @staticmethod
    def Multiply(x: SqlInt64, y: SqlInt64) -> SqlInt64: ...
    @staticmethod
    def NotEquals(x: SqlInt64, y: SqlInt64) -> SqlBoolean: ...
    @staticmethod
    def OnesComplement(x: SqlInt64) -> SqlInt64: ...
    def __add__(self, x: SqlInt64, y: SqlInt64) -> SqlInt64: ...
    def __and__(self, x: SqlInt64, y: SqlInt64) -> SqlInt64: ...
    def __or__(self, x: SqlInt64, y: SqlInt64) -> SqlInt64: ...
    def __truediv__(self, x: SqlInt64, y: SqlInt64) -> SqlInt64: ...
    def __eq__(self, x: SqlInt64, y: SqlInt64) -> SqlBoolean: ...
    def __xor__(self, x: SqlInt64, y: SqlInt64) -> SqlInt64: ...
    # Operator not supported op_Explicit(x: SqlInt64)
    # Operator not supported op_Explicit(x: SqlBoolean)
    # Operator not supported op_Explicit(x: SqlSingle)
    # Operator not supported op_Explicit(x: SqlDouble)
    # Operator not supported op_Explicit(x: SqlMoney)
    # Operator not supported op_Explicit(x: SqlDecimal)
    # Operator not supported op_Explicit(x: SqlString)
    def __gt__(self, x: SqlInt64, y: SqlInt64) -> SqlBoolean: ...
    def __ge__(self, x: SqlInt64, y: SqlInt64) -> SqlBoolean: ...
    # Operator not supported op_Implicit(x: Int64)
    # Operator not supported op_Implicit(x: SqlByte)
    # Operator not supported op_Implicit(x: SqlInt16)
    # Operator not supported op_Implicit(x: SqlInt32)
    def __ne__(self, x: SqlInt64, y: SqlInt64) -> SqlBoolean: ...
    def __lt__(self, x: SqlInt64, y: SqlInt64) -> SqlBoolean: ...
    def __le__(self, x: SqlInt64, y: SqlInt64) -> SqlBoolean: ...
    def __mod__(self, x: SqlInt64, y: SqlInt64) -> SqlInt64: ...
    def __mul__(self, x: SqlInt64, y: SqlInt64) -> SqlInt64: ...
    def __invert__(self, x: SqlInt64) -> SqlInt64: ...
    def __sub__(self, x: SqlInt64, y: SqlInt64) -> SqlInt64: ...
    def __neg__(self, x: SqlInt64) -> SqlInt64: ...
    @staticmethod
    def Parse(s: str) -> SqlInt64: ...
    @staticmethod
    def Subtract(x: SqlInt64, y: SqlInt64) -> SqlInt64: ...
    def ToSqlBoolean(self) -> SqlBoolean: ...
    def ToSqlByte(self) -> SqlByte: ...
    def ToSqlDecimal(self) -> SqlDecimal: ...
    def ToSqlDouble(self) -> SqlDouble: ...
    def ToSqlInt16(self) -> SqlInt16: ...
    def ToSqlInt32(self) -> SqlInt32: ...
    def ToSqlMoney(self) -> SqlMoney: ...
    def ToSqlSingle(self) -> SqlSingle: ...
    def ToSqlString(self) -> SqlString: ...
    def ToString(self) -> str: ...
    @staticmethod
    def Xor(x: SqlInt64, y: SqlInt64) -> SqlInt64: ...
    # Skipped CompareTo due to it being static, abstract and generic.

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

    # Skipped Equals due to it being static, abstract and generic.

    Equals : Equals_MethodGroup
    class Equals_MethodGroup:
        @typing.overload
        def __call__(self, value: typing.Any) -> bool:...
        @typing.overload
        def __call__(self, x: SqlInt64, y: SqlInt64) -> SqlBoolean:...



class SqlMoney(IXmlSerializable, IComparable_0, INullable):
    # Constructor .ctor(value : Int64) was skipped since it collides with above method
    # Constructor .ctor(value : Double) was skipped since it collides with above method
    @typing.overload
    def __init__(self, value: int) -> None: ...
    @typing.overload
    def __init__(self, value: Decimal) -> None: ...
    MaxValue : SqlMoney
    MinValue : SqlMoney
    Null : SqlMoney
    Zero : SqlMoney
    @property
    def IsNull(self) -> bool: ...
    @property
    def Value(self) -> Decimal: ...
    @staticmethod
    def Add(x: SqlMoney, y: SqlMoney) -> SqlMoney: ...
    @staticmethod
    def Divide(x: SqlMoney, y: SqlMoney) -> SqlMoney: ...
    def GetHashCode(self) -> int: ...
    @staticmethod
    def GetXsdType(schemaSet: XmlSchemaSet) -> XmlQualifiedName: ...
    @staticmethod
    def GreaterThan(x: SqlMoney, y: SqlMoney) -> SqlBoolean: ...
    @staticmethod
    def GreaterThanOrEqual(x: SqlMoney, y: SqlMoney) -> SqlBoolean: ...
    @staticmethod
    def LessThan(x: SqlMoney, y: SqlMoney) -> SqlBoolean: ...
    @staticmethod
    def LessThanOrEqual(x: SqlMoney, y: SqlMoney) -> SqlBoolean: ...
    @staticmethod
    def Multiply(x: SqlMoney, y: SqlMoney) -> SqlMoney: ...
    @staticmethod
    def NotEquals(x: SqlMoney, y: SqlMoney) -> SqlBoolean: ...
    def __add__(self, x: SqlMoney, y: SqlMoney) -> SqlMoney: ...
    def __truediv__(self, x: SqlMoney, y: SqlMoney) -> SqlMoney: ...
    def __eq__(self, x: SqlMoney, y: SqlMoney) -> SqlBoolean: ...
    # Operator not supported op_Explicit(x: Double)
    # Operator not supported op_Explicit(x: SqlMoney)
    # Operator not supported op_Explicit(x: SqlBoolean)
    # Operator not supported op_Explicit(x: SqlSingle)
    # Operator not supported op_Explicit(x: SqlDouble)
    # Operator not supported op_Explicit(x: SqlDecimal)
    # Operator not supported op_Explicit(x: SqlString)
    def __gt__(self, x: SqlMoney, y: SqlMoney) -> SqlBoolean: ...
    def __ge__(self, x: SqlMoney, y: SqlMoney) -> SqlBoolean: ...
    # Operator not supported op_Implicit(x: Int64)
    # Operator not supported op_Implicit(x: Decimal)
    # Operator not supported op_Implicit(x: SqlByte)
    # Operator not supported op_Implicit(x: SqlInt16)
    # Operator not supported op_Implicit(x: SqlInt32)
    # Operator not supported op_Implicit(x: SqlInt64)
    def __ne__(self, x: SqlMoney, y: SqlMoney) -> SqlBoolean: ...
    def __lt__(self, x: SqlMoney, y: SqlMoney) -> SqlBoolean: ...
    def __le__(self, x: SqlMoney, y: SqlMoney) -> SqlBoolean: ...
    def __mul__(self, x: SqlMoney, y: SqlMoney) -> SqlMoney: ...
    def __sub__(self, x: SqlMoney, y: SqlMoney) -> SqlMoney: ...
    def __neg__(self, x: SqlMoney) -> SqlMoney: ...
    @staticmethod
    def Parse(s: str) -> SqlMoney: ...
    @staticmethod
    def Subtract(x: SqlMoney, y: SqlMoney) -> SqlMoney: ...
    def ToDecimal(self) -> Decimal: ...
    def ToDouble(self) -> float: ...
    def ToInt32(self) -> int: ...
    def ToInt64(self) -> int: ...
    def ToSqlBoolean(self) -> SqlBoolean: ...
    def ToSqlByte(self) -> SqlByte: ...
    def ToSqlDecimal(self) -> SqlDecimal: ...
    def ToSqlDouble(self) -> SqlDouble: ...
    def ToSqlInt16(self) -> SqlInt16: ...
    def ToSqlInt32(self) -> SqlInt32: ...
    def ToSqlInt64(self) -> SqlInt64: ...
    def ToSqlSingle(self) -> SqlSingle: ...
    def ToSqlString(self) -> SqlString: ...
    def ToString(self) -> str: ...
    # Skipped CompareTo due to it being static, abstract and generic.

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

    # Skipped Equals due to it being static, abstract and generic.

    Equals : Equals_MethodGroup
    class Equals_MethodGroup:
        @typing.overload
        def __call__(self, value: typing.Any) -> bool:...
        @typing.overload
        def __call__(self, x: SqlMoney, y: SqlMoney) -> SqlBoolean:...



class SqlNotFilledException(SqlTypeException):
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, message: str) -> None: ...
    @typing.overload
    def __init__(self, message: str, e: Exception) -> None: ...
    @property
    def Data(self) -> IDictionary: ...
    @property
    def HelpLink(self) -> str: ...
    @HelpLink.setter
    def HelpLink(self, value: str) -> str: ...
    @property
    def HResult(self) -> int: ...
    @HResult.setter
    def HResult(self, value: int) -> int: ...
    @property
    def InnerException(self) -> Exception: ...
    @property
    def Message(self) -> str: ...
    @property
    def Source(self) -> str: ...
    @Source.setter
    def Source(self, value: str) -> str: ...
    @property
    def StackTrace(self) -> str: ...
    @property
    def TargetSite(self) -> MethodBase: ...


class SqlNullValueException(SqlTypeException):
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, message: str) -> None: ...
    @typing.overload
    def __init__(self, message: str, e: Exception) -> None: ...
    @property
    def Data(self) -> IDictionary: ...
    @property
    def HelpLink(self) -> str: ...
    @HelpLink.setter
    def HelpLink(self, value: str) -> str: ...
    @property
    def HResult(self) -> int: ...
    @HResult.setter
    def HResult(self, value: int) -> int: ...
    @property
    def InnerException(self) -> Exception: ...
    @property
    def Message(self) -> str: ...
    @property
    def Source(self) -> str: ...
    @Source.setter
    def Source(self, value: str) -> str: ...
    @property
    def StackTrace(self) -> str: ...
    @property
    def TargetSite(self) -> MethodBase: ...


class SqlSingle(IXmlSerializable, IComparable_0, INullable):
    # Constructor .ctor(value : Double) was skipped since it collides with above method
    def __init__(self, value: float) -> None: ...
    MaxValue : SqlSingle
    MinValue : SqlSingle
    Null : SqlSingle
    Zero : SqlSingle
    @property
    def IsNull(self) -> bool: ...
    @property
    def Value(self) -> float: ...
    @staticmethod
    def Add(x: SqlSingle, y: SqlSingle) -> SqlSingle: ...
    @staticmethod
    def Divide(x: SqlSingle, y: SqlSingle) -> SqlSingle: ...
    def GetHashCode(self) -> int: ...
    @staticmethod
    def GetXsdType(schemaSet: XmlSchemaSet) -> XmlQualifiedName: ...
    @staticmethod
    def GreaterThan(x: SqlSingle, y: SqlSingle) -> SqlBoolean: ...
    @staticmethod
    def GreaterThanOrEqual(x: SqlSingle, y: SqlSingle) -> SqlBoolean: ...
    @staticmethod
    def LessThan(x: SqlSingle, y: SqlSingle) -> SqlBoolean: ...
    @staticmethod
    def LessThanOrEqual(x: SqlSingle, y: SqlSingle) -> SqlBoolean: ...
    @staticmethod
    def Multiply(x: SqlSingle, y: SqlSingle) -> SqlSingle: ...
    @staticmethod
    def NotEquals(x: SqlSingle, y: SqlSingle) -> SqlBoolean: ...
    def __add__(self, x: SqlSingle, y: SqlSingle) -> SqlSingle: ...
    def __truediv__(self, x: SqlSingle, y: SqlSingle) -> SqlSingle: ...
    def __eq__(self, x: SqlSingle, y: SqlSingle) -> SqlBoolean: ...
    # Operator not supported op_Explicit(x: SqlSingle)
    # Operator not supported op_Explicit(x: SqlBoolean)
    # Operator not supported op_Explicit(x: SqlDouble)
    # Operator not supported op_Explicit(x: SqlString)
    def __gt__(self, x: SqlSingle, y: SqlSingle) -> SqlBoolean: ...
    def __ge__(self, x: SqlSingle, y: SqlSingle) -> SqlBoolean: ...
    # Operator not supported op_Implicit(x: Single)
    # Operator not supported op_Implicit(x: SqlByte)
    # Operator not supported op_Implicit(x: SqlInt16)
    # Operator not supported op_Implicit(x: SqlInt32)
    # Operator not supported op_Implicit(x: SqlInt64)
    # Operator not supported op_Implicit(x: SqlMoney)
    # Operator not supported op_Implicit(x: SqlDecimal)
    def __ne__(self, x: SqlSingle, y: SqlSingle) -> SqlBoolean: ...
    def __lt__(self, x: SqlSingle, y: SqlSingle) -> SqlBoolean: ...
    def __le__(self, x: SqlSingle, y: SqlSingle) -> SqlBoolean: ...
    def __mul__(self, x: SqlSingle, y: SqlSingle) -> SqlSingle: ...
    def __sub__(self, x: SqlSingle, y: SqlSingle) -> SqlSingle: ...
    def __neg__(self, x: SqlSingle) -> SqlSingle: ...
    @staticmethod
    def Parse(s: str) -> SqlSingle: ...
    @staticmethod
    def Subtract(x: SqlSingle, y: SqlSingle) -> SqlSingle: ...
    def ToSqlBoolean(self) -> SqlBoolean: ...
    def ToSqlByte(self) -> SqlByte: ...
    def ToSqlDecimal(self) -> SqlDecimal: ...
    def ToSqlDouble(self) -> SqlDouble: ...
    def ToSqlInt16(self) -> SqlInt16: ...
    def ToSqlInt32(self) -> SqlInt32: ...
    def ToSqlInt64(self) -> SqlInt64: ...
    def ToSqlMoney(self) -> SqlMoney: ...
    def ToSqlString(self) -> SqlString: ...
    def ToString(self) -> str: ...
    # Skipped CompareTo due to it being static, abstract and generic.

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

    # Skipped Equals due to it being static, abstract and generic.

    Equals : Equals_MethodGroup
    class Equals_MethodGroup:
        @typing.overload
        def __call__(self, value: typing.Any) -> bool:...
        @typing.overload
        def __call__(self, x: SqlSingle, y: SqlSingle) -> SqlBoolean:...



class SqlString(IXmlSerializable, IComparable_0, INullable):
    @typing.overload
    def __init__(self, data: str) -> None: ...
    @typing.overload
    def __init__(self, data: str, lcid: int) -> None: ...
    @typing.overload
    def __init__(self, data: str, lcid: int, compareOptions: SqlCompareOptions) -> None: ...
    @typing.overload
    def __init__(self, lcid: int, compareOptions: SqlCompareOptions, data: Array_1[int]) -> None: ...
    @typing.overload
    def __init__(self, lcid: int, compareOptions: SqlCompareOptions, data: Array_1[int], fUnicode: bool) -> None: ...
    @typing.overload
    def __init__(self, lcid: int, compareOptions: SqlCompareOptions, data: Array_1[int], index: int, count: int) -> None: ...
    @typing.overload
    def __init__(self, lcid: int, compareOptions: SqlCompareOptions, data: Array_1[int], index: int, count: int, fUnicode: bool) -> None: ...
    BinarySort : int
    BinarySort2 : int
    IgnoreCase : int
    IgnoreKanaType : int
    IgnoreNonSpace : int
    IgnoreWidth : int
    Null : SqlString
    @property
    def CompareInfo(self) -> CompareInfo: ...
    @property
    def CultureInfo(self) -> CultureInfo: ...
    @property
    def IsNull(self) -> bool: ...
    @property
    def LCID(self) -> int: ...
    @property
    def SqlCompareOptions(self) -> SqlCompareOptions: ...
    @property
    def Value(self) -> str: ...
    @staticmethod
    def Add(x: SqlString, y: SqlString) -> SqlString: ...
    def Clone(self) -> SqlString: ...
    @staticmethod
    def CompareOptionsFromSqlCompareOptions(compareOptions: SqlCompareOptions) -> CompareOptions: ...
    @staticmethod
    def Concat(x: SqlString, y: SqlString) -> SqlString: ...
    def GetHashCode(self) -> int: ...
    def GetNonUnicodeBytes(self) -> Array_1[int]: ...
    def GetUnicodeBytes(self) -> Array_1[int]: ...
    @staticmethod
    def GetXsdType(schemaSet: XmlSchemaSet) -> XmlQualifiedName: ...
    @staticmethod
    def GreaterThan(x: SqlString, y: SqlString) -> SqlBoolean: ...
    @staticmethod
    def GreaterThanOrEqual(x: SqlString, y: SqlString) -> SqlBoolean: ...
    @staticmethod
    def LessThan(x: SqlString, y: SqlString) -> SqlBoolean: ...
    @staticmethod
    def LessThanOrEqual(x: SqlString, y: SqlString) -> SqlBoolean: ...
    @staticmethod
    def NotEquals(x: SqlString, y: SqlString) -> SqlBoolean: ...
    def __add__(self, x: SqlString, y: SqlString) -> SqlString: ...
    def __eq__(self, x: SqlString, y: SqlString) -> SqlBoolean: ...
    # Operator not supported op_Explicit(x: SqlString)
    # Operator not supported op_Explicit(x: SqlBoolean)
    # Operator not supported op_Explicit(x: SqlByte)
    # Operator not supported op_Explicit(x: SqlInt16)
    # Operator not supported op_Explicit(x: SqlInt32)
    # Operator not supported op_Explicit(x: SqlInt64)
    # Operator not supported op_Explicit(x: SqlSingle)
    # Operator not supported op_Explicit(x: SqlDouble)
    # Operator not supported op_Explicit(x: SqlDecimal)
    # Operator not supported op_Explicit(x: SqlMoney)
    # Operator not supported op_Explicit(x: SqlDateTime)
    # Operator not supported op_Explicit(x: SqlGuid)
    def __gt__(self, x: SqlString, y: SqlString) -> SqlBoolean: ...
    def __ge__(self, x: SqlString, y: SqlString) -> SqlBoolean: ...
    # Operator not supported op_Implicit(x: String)
    def __ne__(self, x: SqlString, y: SqlString) -> SqlBoolean: ...
    def __lt__(self, x: SqlString, y: SqlString) -> SqlBoolean: ...
    def __le__(self, x: SqlString, y: SqlString) -> SqlBoolean: ...
    def ToSqlBoolean(self) -> SqlBoolean: ...
    def ToSqlByte(self) -> SqlByte: ...
    def ToSqlDateTime(self) -> SqlDateTime: ...
    def ToSqlDecimal(self) -> SqlDecimal: ...
    def ToSqlDouble(self) -> SqlDouble: ...
    def ToSqlGuid(self) -> SqlGuid: ...
    def ToSqlInt16(self) -> SqlInt16: ...
    def ToSqlInt32(self) -> SqlInt32: ...
    def ToSqlInt64(self) -> SqlInt64: ...
    def ToSqlMoney(self) -> SqlMoney: ...
    def ToSqlSingle(self) -> SqlSingle: ...
    def ToString(self) -> str: ...
    # Skipped CompareTo due to it being static, abstract and generic.

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

    # Skipped Equals due to it being static, abstract and generic.

    Equals : Equals_MethodGroup
    class Equals_MethodGroup:
        @typing.overload
        def __call__(self, value: typing.Any) -> bool:...
        @typing.overload
        def __call__(self, x: SqlString, y: SqlString) -> SqlBoolean:...



class SqlTruncateException(SqlTypeException):
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, message: str) -> None: ...
    @typing.overload
    def __init__(self, message: str, e: Exception) -> None: ...
    @property
    def Data(self) -> IDictionary: ...
    @property
    def HelpLink(self) -> str: ...
    @HelpLink.setter
    def HelpLink(self, value: str) -> str: ...
    @property
    def HResult(self) -> int: ...
    @HResult.setter
    def HResult(self, value: int) -> int: ...
    @property
    def InnerException(self) -> Exception: ...
    @property
    def Message(self) -> str: ...
    @property
    def Source(self) -> str: ...
    @Source.setter
    def Source(self, value: str) -> str: ...
    @property
    def StackTrace(self) -> str: ...
    @property
    def TargetSite(self) -> MethodBase: ...


class SqlTypeException(SystemException):
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, message: str) -> None: ...
    @typing.overload
    def __init__(self, message: str, e: Exception) -> None: ...
    @property
    def Data(self) -> IDictionary: ...
    @property
    def HelpLink(self) -> str: ...
    @HelpLink.setter
    def HelpLink(self, value: str) -> str: ...
    @property
    def HResult(self) -> int: ...
    @HResult.setter
    def HResult(self, value: int) -> int: ...
    @property
    def InnerException(self) -> Exception: ...
    @property
    def Message(self) -> str: ...
    @property
    def Source(self) -> str: ...
    @Source.setter
    def Source(self, value: str) -> str: ...
    @property
    def StackTrace(self) -> str: ...
    @property
    def TargetSite(self) -> MethodBase: ...


class SqlXml(IXmlSerializable, INullable):
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, value: XmlReader) -> None: ...
    @typing.overload
    def __init__(self, value: Stream) -> None: ...
    @property
    def IsNull(self) -> bool: ...
    @classmethod
    @property
    def Null(cls) -> SqlXml: ...
    @property
    def Value(self) -> str: ...
    def CreateReader(self) -> XmlReader: ...
    @staticmethod
    def GetXsdType(schemaSet: XmlSchemaSet) -> XmlQualifiedName: ...


class StorageState(typing.SupportsInt):
    @typing.overload
    def __init__(self, value : int) -> None: ...
    @typing.overload
    def __init__(self, value : int, force_if_true: bool) -> None: ...
    def __int__(self) -> int: ...
    
    # Values:
    Buffer : StorageState # 0
    Stream : StorageState # 1
    UnmanagedBuffer : StorageState # 2

