"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
SPDX-License-Identifier: Apache-2.0"""

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import substrait.type_pb2
import sys
import typing

if sys.version_info >= (3, 10):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class ParameterizedType(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing.final
    class TypeParameter(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        NAME_FIELD_NUMBER: builtins.int
        BOUNDS_FIELD_NUMBER: builtins.int
        name: builtins.str
        @property
        def bounds(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___ParameterizedType]: ...
        def __init__(
            self,
            *,
            name: builtins.str = ...,
            bounds: collections.abc.Iterable[Global___ParameterizedType] | None = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing.Literal["bounds", b"bounds", "name", b"name"]) -> None: ...

    @typing.final
    class IntegerParameter(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        NAME_FIELD_NUMBER: builtins.int
        RANGE_START_INCLUSIVE_FIELD_NUMBER: builtins.int
        RANGE_END_EXCLUSIVE_FIELD_NUMBER: builtins.int
        name: builtins.str
        @property
        def range_start_inclusive(self) -> Global___ParameterizedType.NullableInteger: ...
        @property
        def range_end_exclusive(self) -> Global___ParameterizedType.NullableInteger: ...
        def __init__(
            self,
            *,
            name: builtins.str = ...,
            range_start_inclusive: Global___ParameterizedType.NullableInteger | None = ...,
            range_end_exclusive: Global___ParameterizedType.NullableInteger | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["range_end_exclusive", b"range_end_exclusive", "range_start_inclusive", b"range_start_inclusive"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["name", b"name", "range_end_exclusive", b"range_end_exclusive", "range_start_inclusive", b"range_start_inclusive"]) -> None: ...

    @typing.final
    class NullableInteger(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        VALUE_FIELD_NUMBER: builtins.int
        value: builtins.int
        def __init__(
            self,
            *,
            value: builtins.int = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing.Literal["value", b"value"]) -> None: ...

    @typing.final
    class ParameterizedFixedChar(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        LENGTH_FIELD_NUMBER: builtins.int
        VARIATION_POINTER_FIELD_NUMBER: builtins.int
        NULLABILITY_FIELD_NUMBER: builtins.int
        variation_pointer: builtins.int
        nullability: substrait.type_pb2.Type.Nullability.ValueType
        @property
        def length(self) -> Global___ParameterizedType.IntegerOption: ...
        def __init__(
            self,
            *,
            length: Global___ParameterizedType.IntegerOption | None = ...,
            variation_pointer: builtins.int = ...,
            nullability: substrait.type_pb2.Type.Nullability.ValueType = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["length", b"length"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["length", b"length", "nullability", b"nullability", "variation_pointer", b"variation_pointer"]) -> None: ...

    @typing.final
    class ParameterizedVarChar(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        LENGTH_FIELD_NUMBER: builtins.int
        VARIATION_POINTER_FIELD_NUMBER: builtins.int
        NULLABILITY_FIELD_NUMBER: builtins.int
        variation_pointer: builtins.int
        nullability: substrait.type_pb2.Type.Nullability.ValueType
        @property
        def length(self) -> Global___ParameterizedType.IntegerOption: ...
        def __init__(
            self,
            *,
            length: Global___ParameterizedType.IntegerOption | None = ...,
            variation_pointer: builtins.int = ...,
            nullability: substrait.type_pb2.Type.Nullability.ValueType = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["length", b"length"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["length", b"length", "nullability", b"nullability", "variation_pointer", b"variation_pointer"]) -> None: ...

    @typing.final
    class ParameterizedFixedBinary(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        LENGTH_FIELD_NUMBER: builtins.int
        VARIATION_POINTER_FIELD_NUMBER: builtins.int
        NULLABILITY_FIELD_NUMBER: builtins.int
        variation_pointer: builtins.int
        nullability: substrait.type_pb2.Type.Nullability.ValueType
        @property
        def length(self) -> Global___ParameterizedType.IntegerOption: ...
        def __init__(
            self,
            *,
            length: Global___ParameterizedType.IntegerOption | None = ...,
            variation_pointer: builtins.int = ...,
            nullability: substrait.type_pb2.Type.Nullability.ValueType = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["length", b"length"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["length", b"length", "nullability", b"nullability", "variation_pointer", b"variation_pointer"]) -> None: ...

    @typing.final
    class ParameterizedDecimal(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        SCALE_FIELD_NUMBER: builtins.int
        PRECISION_FIELD_NUMBER: builtins.int
        VARIATION_POINTER_FIELD_NUMBER: builtins.int
        NULLABILITY_FIELD_NUMBER: builtins.int
        variation_pointer: builtins.int
        nullability: substrait.type_pb2.Type.Nullability.ValueType
        @property
        def scale(self) -> Global___ParameterizedType.IntegerOption: ...
        @property
        def precision(self) -> Global___ParameterizedType.IntegerOption: ...
        def __init__(
            self,
            *,
            scale: Global___ParameterizedType.IntegerOption | None = ...,
            precision: Global___ParameterizedType.IntegerOption | None = ...,
            variation_pointer: builtins.int = ...,
            nullability: substrait.type_pb2.Type.Nullability.ValueType = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["precision", b"precision", "scale", b"scale"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "precision", b"precision", "scale", b"scale", "variation_pointer", b"variation_pointer"]) -> None: ...

    @typing.final
    class ParameterizedIntervalDay(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        PRECISION_FIELD_NUMBER: builtins.int
        VARIATION_POINTER_FIELD_NUMBER: builtins.int
        NULLABILITY_FIELD_NUMBER: builtins.int
        variation_pointer: builtins.int
        nullability: substrait.type_pb2.Type.Nullability.ValueType
        @property
        def precision(self) -> Global___ParameterizedType.IntegerOption: ...
        def __init__(
            self,
            *,
            precision: Global___ParameterizedType.IntegerOption | None = ...,
            variation_pointer: builtins.int = ...,
            nullability: substrait.type_pb2.Type.Nullability.ValueType = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["precision", b"precision"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "precision", b"precision", "variation_pointer", b"variation_pointer"]) -> None: ...

    @typing.final
    class ParameterizedIntervalCompound(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        PRECISION_FIELD_NUMBER: builtins.int
        VARIATION_POINTER_FIELD_NUMBER: builtins.int
        NULLABILITY_FIELD_NUMBER: builtins.int
        variation_pointer: builtins.int
        nullability: substrait.type_pb2.Type.Nullability.ValueType
        @property
        def precision(self) -> Global___ParameterizedType.IntegerOption: ...
        def __init__(
            self,
            *,
            precision: Global___ParameterizedType.IntegerOption | None = ...,
            variation_pointer: builtins.int = ...,
            nullability: substrait.type_pb2.Type.Nullability.ValueType = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["precision", b"precision"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "precision", b"precision", "variation_pointer", b"variation_pointer"]) -> None: ...

    @typing.final
    class ParameterizedPrecisionTime(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        PRECISION_FIELD_NUMBER: builtins.int
        VARIATION_POINTER_FIELD_NUMBER: builtins.int
        NULLABILITY_FIELD_NUMBER: builtins.int
        variation_pointer: builtins.int
        nullability: substrait.type_pb2.Type.Nullability.ValueType
        @property
        def precision(self) -> Global___ParameterizedType.IntegerOption: ...
        def __init__(
            self,
            *,
            precision: Global___ParameterizedType.IntegerOption | None = ...,
            variation_pointer: builtins.int = ...,
            nullability: substrait.type_pb2.Type.Nullability.ValueType = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["precision", b"precision"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "precision", b"precision", "variation_pointer", b"variation_pointer"]) -> None: ...

    @typing.final
    class ParameterizedPrecisionTimestamp(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        PRECISION_FIELD_NUMBER: builtins.int
        VARIATION_POINTER_FIELD_NUMBER: builtins.int
        NULLABILITY_FIELD_NUMBER: builtins.int
        variation_pointer: builtins.int
        nullability: substrait.type_pb2.Type.Nullability.ValueType
        @property
        def precision(self) -> Global___ParameterizedType.IntegerOption: ...
        def __init__(
            self,
            *,
            precision: Global___ParameterizedType.IntegerOption | None = ...,
            variation_pointer: builtins.int = ...,
            nullability: substrait.type_pb2.Type.Nullability.ValueType = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["precision", b"precision"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "precision", b"precision", "variation_pointer", b"variation_pointer"]) -> None: ...

    @typing.final
    class ParameterizedPrecisionTimestampTZ(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        PRECISION_FIELD_NUMBER: builtins.int
        VARIATION_POINTER_FIELD_NUMBER: builtins.int
        NULLABILITY_FIELD_NUMBER: builtins.int
        variation_pointer: builtins.int
        nullability: substrait.type_pb2.Type.Nullability.ValueType
        @property
        def precision(self) -> Global___ParameterizedType.IntegerOption: ...
        def __init__(
            self,
            *,
            precision: Global___ParameterizedType.IntegerOption | None = ...,
            variation_pointer: builtins.int = ...,
            nullability: substrait.type_pb2.Type.Nullability.ValueType = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["precision", b"precision"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "precision", b"precision", "variation_pointer", b"variation_pointer"]) -> None: ...

    @typing.final
    class ParameterizedStruct(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        TYPES_FIELD_NUMBER: builtins.int
        VARIATION_POINTER_FIELD_NUMBER: builtins.int
        NULLABILITY_FIELD_NUMBER: builtins.int
        variation_pointer: builtins.int
        nullability: substrait.type_pb2.Type.Nullability.ValueType
        @property
        def types(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___ParameterizedType]: ...
        def __init__(
            self,
            *,
            types: collections.abc.Iterable[Global___ParameterizedType] | None = ...,
            variation_pointer: builtins.int = ...,
            nullability: substrait.type_pb2.Type.Nullability.ValueType = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "types", b"types", "variation_pointer", b"variation_pointer"]) -> None: ...

    @typing.final
    class ParameterizedNamedStruct(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        NAMES_FIELD_NUMBER: builtins.int
        STRUCT_FIELD_NUMBER: builtins.int
        @property
        def names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
            """list of names in dfs order"""

        @property
        def struct(self) -> Global___ParameterizedType.ParameterizedStruct: ...
        def __init__(
            self,
            *,
            names: collections.abc.Iterable[builtins.str] | None = ...,
            struct: Global___ParameterizedType.ParameterizedStruct | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["struct", b"struct"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["names", b"names", "struct", b"struct"]) -> None: ...

    @typing.final
    class ParameterizedList(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        TYPE_FIELD_NUMBER: builtins.int
        VARIATION_POINTER_FIELD_NUMBER: builtins.int
        NULLABILITY_FIELD_NUMBER: builtins.int
        variation_pointer: builtins.int
        nullability: substrait.type_pb2.Type.Nullability.ValueType
        @property
        def type(self) -> Global___ParameterizedType: ...
        def __init__(
            self,
            *,
            type: Global___ParameterizedType | None = ...,
            variation_pointer: builtins.int = ...,
            nullability: substrait.type_pb2.Type.Nullability.ValueType = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type", b"type", "variation_pointer", b"variation_pointer"]) -> None: ...

    @typing.final
    class ParameterizedMap(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        VARIATION_POINTER_FIELD_NUMBER: builtins.int
        NULLABILITY_FIELD_NUMBER: builtins.int
        variation_pointer: builtins.int
        nullability: substrait.type_pb2.Type.Nullability.ValueType
        @property
        def key(self) -> Global___ParameterizedType: ...
        @property
        def value(self) -> Global___ParameterizedType: ...
        def __init__(
            self,
            *,
            key: Global___ParameterizedType | None = ...,
            value: Global___ParameterizedType | None = ...,
            variation_pointer: builtins.int = ...,
            nullability: substrait.type_pb2.Type.Nullability.ValueType = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["key", b"key", "nullability", b"nullability", "value", b"value", "variation_pointer", b"variation_pointer"]) -> None: ...

    @typing.final
    class ParameterizedUserDefined(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        TYPE_POINTER_FIELD_NUMBER: builtins.int
        VARIATION_POINTER_FIELD_NUMBER: builtins.int
        NULLABILITY_FIELD_NUMBER: builtins.int
        type_pointer: builtins.int
        variation_pointer: builtins.int
        nullability: substrait.type_pb2.Type.Nullability.ValueType
        def __init__(
            self,
            *,
            type_pointer: builtins.int = ...,
            variation_pointer: builtins.int = ...,
            nullability: substrait.type_pb2.Type.Nullability.ValueType = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing.Literal["nullability", b"nullability", "type_pointer", b"type_pointer", "variation_pointer", b"variation_pointer"]) -> None: ...

    @typing.final
    class IntegerOption(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        LITERAL_FIELD_NUMBER: builtins.int
        PARAMETER_FIELD_NUMBER: builtins.int
        literal: builtins.int
        @property
        def parameter(self) -> Global___ParameterizedType.IntegerParameter: ...
        def __init__(
            self,
            *,
            literal: builtins.int = ...,
            parameter: Global___ParameterizedType.IntegerParameter | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["integer_type", b"integer_type", "literal", b"literal", "parameter", b"parameter"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["integer_type", b"integer_type", "literal", b"literal", "parameter", b"parameter"]) -> None: ...
        def WhichOneof(self, oneof_group: typing.Literal["integer_type", b"integer_type"]) -> typing.Literal["literal", "parameter"] | None: ...

    BOOL_FIELD_NUMBER: builtins.int
    I8_FIELD_NUMBER: builtins.int
    I16_FIELD_NUMBER: builtins.int
    I32_FIELD_NUMBER: builtins.int
    I64_FIELD_NUMBER: builtins.int
    FP32_FIELD_NUMBER: builtins.int
    FP64_FIELD_NUMBER: builtins.int
    STRING_FIELD_NUMBER: builtins.int
    BINARY_FIELD_NUMBER: builtins.int
    TIMESTAMP_FIELD_NUMBER: builtins.int
    DATE_FIELD_NUMBER: builtins.int
    TIME_FIELD_NUMBER: builtins.int
    INTERVAL_YEAR_FIELD_NUMBER: builtins.int
    INTERVAL_DAY_FIELD_NUMBER: builtins.int
    INTERVAL_COMPOUND_FIELD_NUMBER: builtins.int
    TIMESTAMP_TZ_FIELD_NUMBER: builtins.int
    UUID_FIELD_NUMBER: builtins.int
    FIXED_CHAR_FIELD_NUMBER: builtins.int
    VARCHAR_FIELD_NUMBER: builtins.int
    FIXED_BINARY_FIELD_NUMBER: builtins.int
    DECIMAL_FIELD_NUMBER: builtins.int
    PRECISION_TIME_FIELD_NUMBER: builtins.int
    PRECISION_TIMESTAMP_FIELD_NUMBER: builtins.int
    PRECISION_TIMESTAMP_TZ_FIELD_NUMBER: builtins.int
    STRUCT_FIELD_NUMBER: builtins.int
    LIST_FIELD_NUMBER: builtins.int
    MAP_FIELD_NUMBER: builtins.int
    USER_DEFINED_FIELD_NUMBER: builtins.int
    USER_DEFINED_POINTER_FIELD_NUMBER: builtins.int
    TYPE_PARAMETER_FIELD_NUMBER: builtins.int
    user_defined_pointer: builtins.int
    """Deprecated in favor of user_defined, which allows nullability and
    variations to be specified. If user_defined_pointer is encountered,
    treat it as being non-nullable and having the default variation.
    """
    @property
    def bool(self) -> substrait.type_pb2.Type.Boolean: ...
    @property
    def i8(self) -> substrait.type_pb2.Type.I8: ...
    @property
    def i16(self) -> substrait.type_pb2.Type.I16: ...
    @property
    def i32(self) -> substrait.type_pb2.Type.I32: ...
    @property
    def i64(self) -> substrait.type_pb2.Type.I64: ...
    @property
    def fp32(self) -> substrait.type_pb2.Type.FP32: ...
    @property
    def fp64(self) -> substrait.type_pb2.Type.FP64: ...
    @property
    def string(self) -> substrait.type_pb2.Type.String: ...
    @property
    def binary(self) -> substrait.type_pb2.Type.Binary: ...
    @property
    def timestamp(self) -> substrait.type_pb2.Type.Timestamp:
        """Deprecated in favor of `ParameterizedPrecisionTimestamp precision_timestamp`"""

    @property
    def date(self) -> substrait.type_pb2.Type.Date: ...
    @property
    def time(self) -> substrait.type_pb2.Type.Time:
        """Deprecated in favor of `ParameterizedPrecisionTime precision_time`"""

    @property
    def interval_year(self) -> substrait.type_pb2.Type.IntervalYear: ...
    @property
    def interval_day(self) -> Global___ParameterizedType.ParameterizedIntervalDay: ...
    @property
    def interval_compound(self) -> Global___ParameterizedType.ParameterizedIntervalCompound: ...
    @property
    def timestamp_tz(self) -> substrait.type_pb2.Type.TimestampTZ:
        """Deprecated in favor of `ParameterizedPrecisionTimestampTZ precision_timestamp_tz`"""

    @property
    def uuid(self) -> substrait.type_pb2.Type.UUID: ...
    @property
    def fixed_char(self) -> Global___ParameterizedType.ParameterizedFixedChar: ...
    @property
    def varchar(self) -> Global___ParameterizedType.ParameterizedVarChar: ...
    @property
    def fixed_binary(self) -> Global___ParameterizedType.ParameterizedFixedBinary: ...
    @property
    def decimal(self) -> Global___ParameterizedType.ParameterizedDecimal: ...
    @property
    def precision_time(self) -> Global___ParameterizedType.ParameterizedPrecisionTime: ...
    @property
    def precision_timestamp(self) -> Global___ParameterizedType.ParameterizedPrecisionTimestamp: ...
    @property
    def precision_timestamp_tz(self) -> Global___ParameterizedType.ParameterizedPrecisionTimestampTZ: ...
    @property
    def struct(self) -> Global___ParameterizedType.ParameterizedStruct: ...
    @property
    def list(self) -> Global___ParameterizedType.ParameterizedList: ...
    @property
    def map(self) -> Global___ParameterizedType.ParameterizedMap: ...
    @property
    def user_defined(self) -> Global___ParameterizedType.ParameterizedUserDefined: ...
    @property
    def type_parameter(self) -> Global___ParameterizedType.TypeParameter: ...
    def __init__(
        self,
        *,
        bool: substrait.type_pb2.Type.Boolean | None = ...,
        i8: substrait.type_pb2.Type.I8 | None = ...,
        i16: substrait.type_pb2.Type.I16 | None = ...,
        i32: substrait.type_pb2.Type.I32 | None = ...,
        i64: substrait.type_pb2.Type.I64 | None = ...,
        fp32: substrait.type_pb2.Type.FP32 | None = ...,
        fp64: substrait.type_pb2.Type.FP64 | None = ...,
        string: substrait.type_pb2.Type.String | None = ...,
        binary: substrait.type_pb2.Type.Binary | None = ...,
        timestamp: substrait.type_pb2.Type.Timestamp | None = ...,
        date: substrait.type_pb2.Type.Date | None = ...,
        time: substrait.type_pb2.Type.Time | None = ...,
        interval_year: substrait.type_pb2.Type.IntervalYear | None = ...,
        interval_day: Global___ParameterizedType.ParameterizedIntervalDay | None = ...,
        interval_compound: Global___ParameterizedType.ParameterizedIntervalCompound | None = ...,
        timestamp_tz: substrait.type_pb2.Type.TimestampTZ | None = ...,
        uuid: substrait.type_pb2.Type.UUID | None = ...,
        fixed_char: Global___ParameterizedType.ParameterizedFixedChar | None = ...,
        varchar: Global___ParameterizedType.ParameterizedVarChar | None = ...,
        fixed_binary: Global___ParameterizedType.ParameterizedFixedBinary | None = ...,
        decimal: Global___ParameterizedType.ParameterizedDecimal | None = ...,
        precision_time: Global___ParameterizedType.ParameterizedPrecisionTime | None = ...,
        precision_timestamp: Global___ParameterizedType.ParameterizedPrecisionTimestamp | None = ...,
        precision_timestamp_tz: Global___ParameterizedType.ParameterizedPrecisionTimestampTZ | None = ...,
        struct: Global___ParameterizedType.ParameterizedStruct | None = ...,
        list: Global___ParameterizedType.ParameterizedList | None = ...,
        map: Global___ParameterizedType.ParameterizedMap | None = ...,
        user_defined: Global___ParameterizedType.ParameterizedUserDefined | None = ...,
        user_defined_pointer: builtins.int = ...,
        type_parameter: Global___ParameterizedType.TypeParameter | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["binary", b"binary", "bool", b"bool", "date", b"date", "decimal", b"decimal", "fixed_binary", b"fixed_binary", "fixed_char", b"fixed_char", "fp32", b"fp32", "fp64", b"fp64", "i16", b"i16", "i32", b"i32", "i64", b"i64", "i8", b"i8", "interval_compound", b"interval_compound", "interval_day", b"interval_day", "interval_year", b"interval_year", "kind", b"kind", "list", b"list", "map", b"map", "precision_time", b"precision_time", "precision_timestamp", b"precision_timestamp", "precision_timestamp_tz", b"precision_timestamp_tz", "string", b"string", "struct", b"struct", "time", b"time", "timestamp", b"timestamp", "timestamp_tz", b"timestamp_tz", "type_parameter", b"type_parameter", "user_defined", b"user_defined", "user_defined_pointer", b"user_defined_pointer", "uuid", b"uuid", "varchar", b"varchar"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["binary", b"binary", "bool", b"bool", "date", b"date", "decimal", b"decimal", "fixed_binary", b"fixed_binary", "fixed_char", b"fixed_char", "fp32", b"fp32", "fp64", b"fp64", "i16", b"i16", "i32", b"i32", "i64", b"i64", "i8", b"i8", "interval_compound", b"interval_compound", "interval_day", b"interval_day", "interval_year", b"interval_year", "kind", b"kind", "list", b"list", "map", b"map", "precision_time", b"precision_time", "precision_timestamp", b"precision_timestamp", "precision_timestamp_tz", b"precision_timestamp_tz", "string", b"string", "struct", b"struct", "time", b"time", "timestamp", b"timestamp", "timestamp_tz", b"timestamp_tz", "type_parameter", b"type_parameter", "user_defined", b"user_defined", "user_defined_pointer", b"user_defined_pointer", "uuid", b"uuid", "varchar", b"varchar"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["kind", b"kind"]) -> typing.Literal["bool", "i8", "i16", "i32", "i64", "fp32", "fp64", "string", "binary", "timestamp", "date", "time", "interval_year", "interval_day", "interval_compound", "timestamp_tz", "uuid", "fixed_char", "varchar", "fixed_binary", "decimal", "precision_time", "precision_timestamp", "precision_timestamp_tz", "struct", "list", "map", "user_defined", "user_defined_pointer", "type_parameter"] | None: ...

Global___ParameterizedType: typing_extensions.TypeAlias = ParameterizedType
