"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import sys
import typing

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class _ValueType:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _ValueTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ValueType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    TYPE_UNSET: _ValueType.ValueType  # 0
    """/ default value; should not be used in actual messages"""
    TYPE_STRING: _ValueType.ValueType  # 1
    """/ variable is a string"""
    TYPE_NUMBER: _ValueType.ValueType  # 2
    """/ variable is a (JavaScript) number"""
    TYPE_BOOLEAN: _ValueType.ValueType  # 3
    """/ variable is a boolean value"""

class ValueType(_ValueType, metaclass=_ValueTypeEnumTypeWrapper):
    """*
    This enum represents a variable type of Camunda variables.
    @author Alexander Neumann <alneuman@techfak.uni-bielefeld.de>
    """

TYPE_UNSET: ValueType.ValueType  # 0
"""/ default value; should not be used in actual messages"""
TYPE_STRING: ValueType.ValueType  # 1
"""/ variable is a string"""
TYPE_NUMBER: ValueType.ValueType  # 2
"""/ variable is a (JavaScript) number"""
TYPE_BOOLEAN: ValueType.ValueType  # 3
"""/ variable is a boolean value"""
global___ValueType = ValueType

@typing_extensions.final
class Variable(google.protobuf.message.Message):
    """*
    This message describes a Camunda variable.
    Values of commonly stored as a string and are parsed according to the type mentioned in `type` when needed.
    @author Alexander Neumann <alneuman@techfak.uni-bielefeld.de>
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    VALUE_TYPE_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    name: builtins.str
    """/ name of the variable"""
    value_type: global___ValueType.ValueType
    """/ variable type"""
    value: builtins.str
    """/ string-encoded variable value"""
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        value_type: global___ValueType.ValueType = ...,
        value: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "value", b"value", "value_type", b"value_type"]) -> None: ...

global___Variable = Variable
