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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class Par(google.protobuf.message.Message):
    """*
    Rholang process

    For example, `@0!(1) | @2!(3) | for(x <- @0) { Nil }` has two sends
    and one receive.

    The Nil process is a `Par` with no sends, receives, etc.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    SENDS_FIELD_NUMBER: builtins.int
    RECEIVES_FIELD_NUMBER: builtins.int
    NEWS_FIELD_NUMBER: builtins.int
    EXPRS_FIELD_NUMBER: builtins.int
    MATCHES_FIELD_NUMBER: builtins.int
    UNFORGEABLES_FIELD_NUMBER: builtins.int
    BUNDLES_FIELD_NUMBER: builtins.int
    CONNECTIVES_FIELD_NUMBER: builtins.int
    LOCALLYFREE_FIELD_NUMBER: builtins.int
    CONNECTIVE_USED_FIELD_NUMBER: builtins.int
    @property
    def sends(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Send]: ...
    @property
    def receives(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Receive]: ...
    @property
    def news(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___New]: ...
    @property
    def exprs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Expr]: ...
    @property
    def matches(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Match]: ...
    @property
    def unforgeables(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GUnforgeable]:
        """unforgeable names"""
        pass
    @property
    def bundles(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Bundle]: ...
    @property
    def connectives(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Connective]: ...
    locallyFree: builtins.bytes
    connective_used: builtins.bool
    def __init__(self,
        *,
        sends: typing.Optional[typing.Iterable[global___Send]] = ...,
        receives: typing.Optional[typing.Iterable[global___Receive]] = ...,
        news: typing.Optional[typing.Iterable[global___New]] = ...,
        exprs: typing.Optional[typing.Iterable[global___Expr]] = ...,
        matches: typing.Optional[typing.Iterable[global___Match]] = ...,
        unforgeables: typing.Optional[typing.Iterable[global___GUnforgeable]] = ...,
        bundles: typing.Optional[typing.Iterable[global___Bundle]] = ...,
        connectives: typing.Optional[typing.Iterable[global___Connective]] = ...,
        locallyFree: builtins.bytes = ...,
        connective_used: builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["bundles",b"bundles","connective_used",b"connective_used","connectives",b"connectives","exprs",b"exprs","locallyFree",b"locallyFree","matches",b"matches","news",b"news","receives",b"receives","sends",b"sends","unforgeables",b"unforgeables"]) -> None: ...
global___Par = Par

class TaggedContinuation(google.protobuf.message.Message):
    """*
    Either rholang code or code built in to the interpreter.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PAR_BODY_FIELD_NUMBER: builtins.int
    SCALA_BODY_REF_FIELD_NUMBER: builtins.int
    @property
    def par_body(self) -> global___ParWithRandom: ...
    scala_body_ref: builtins.int
    def __init__(self,
        *,
        par_body: typing.Optional[global___ParWithRandom] = ...,
        scala_body_ref: builtins.int = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["par_body",b"par_body","scala_body_ref",b"scala_body_ref","tagged_cont",b"tagged_cont"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["par_body",b"par_body","scala_body_ref",b"scala_body_ref","tagged_cont",b"tagged_cont"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["tagged_cont",b"tagged_cont"]) -> typing.Optional[typing_extensions.Literal["par_body","scala_body_ref"]]: ...
global___TaggedContinuation = TaggedContinuation

class ParWithRandom(google.protobuf.message.Message):
    """*
    Rholang code along with the state of a split random number
    generator for generating new unforgeable names.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    BODY_FIELD_NUMBER: builtins.int
    RANDOMSTATE_FIELD_NUMBER: builtins.int
    @property
    def body(self) -> global___Par: ...
    randomState: builtins.bytes
    def __init__(self,
        *,
        body: typing.Optional[global___Par] = ...,
        randomState: builtins.bytes = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["body",b"body"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["body",b"body","randomState",b"randomState"]) -> None: ...
global___ParWithRandom = ParWithRandom

class PCost(google.protobuf.message.Message):
    """*
    Cost of the performed operations.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    COST_FIELD_NUMBER: builtins.int
    cost: builtins.int
    def __init__(self,
        *,
        cost: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["cost",b"cost"]) -> None: ...
global___PCost = PCost

class ListParWithRandom(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PARS_FIELD_NUMBER: builtins.int
    RANDOMSTATE_FIELD_NUMBER: builtins.int
    @property
    def pars(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Par]: ...
    randomState: builtins.bytes
    def __init__(self,
        *,
        pars: typing.Optional[typing.Iterable[global___Par]] = ...,
        randomState: builtins.bytes = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["pars",b"pars","randomState",b"randomState"]) -> None: ...
global___ListParWithRandom = ListParWithRandom

class Var(google.protobuf.message.Message):
    """While we use vars in both positions, when producing the normalized
    representation we need a discipline to track whether a var is a name or a
    process.
    These are DeBruijn levels
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    class WildcardMsg(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor
        def __init__(self,
            ) -> None: ...

    BOUND_VAR_FIELD_NUMBER: builtins.int
    FREE_VAR_FIELD_NUMBER: builtins.int
    WILDCARD_FIELD_NUMBER: builtins.int
    bound_var: builtins.int
    free_var: builtins.int
    @property
    def wildcard(self) -> global___Var.WildcardMsg: ...
    def __init__(self,
        *,
        bound_var: builtins.int = ...,
        free_var: builtins.int = ...,
        wildcard: typing.Optional[global___Var.WildcardMsg] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["bound_var",b"bound_var","free_var",b"free_var","var_instance",b"var_instance","wildcard",b"wildcard"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["bound_var",b"bound_var","free_var",b"free_var","var_instance",b"var_instance","wildcard",b"wildcard"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["var_instance",b"var_instance"]) -> typing.Optional[typing_extensions.Literal["bound_var","free_var","wildcard"]]: ...
global___Var = Var

class Bundle(google.protobuf.message.Message):
    """*
    Nothing can be received from a (quoted) bundle with `readFlag = false`.
    Likeise nothing can be sent to a (quoted) bundle with `writeFlag = false`.

    If both flags are set to false, bundle allows only for equivalance check.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    BODY_FIELD_NUMBER: builtins.int
    WRITEFLAG_FIELD_NUMBER: builtins.int
    READFLAG_FIELD_NUMBER: builtins.int
    @property
    def body(self) -> global___Par: ...
    writeFlag: builtins.bool
    """flag indicating whether bundle is writeable"""

    readFlag: builtins.bool
    """flag indicating whether bundle is readable"""

    def __init__(self,
        *,
        body: typing.Optional[global___Par] = ...,
        writeFlag: builtins.bool = ...,
        readFlag: builtins.bool = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["body",b"body"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["body",b"body","readFlag",b"readFlag","writeFlag",b"writeFlag"]) -> None: ...
global___Bundle = Bundle

class Send(google.protobuf.message.Message):
    """*
    A send is written `chan!(data)` or `chan!!(data)` for a persistent send.

    Upon send, all free variables in data are substituted with their values.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    CHAN_FIELD_NUMBER: builtins.int
    DATA_FIELD_NUMBER: builtins.int
    PERSISTENT_FIELD_NUMBER: builtins.int
    LOCALLYFREE_FIELD_NUMBER: builtins.int
    CONNECTIVE_USED_FIELD_NUMBER: builtins.int
    @property
    def chan(self) -> global___Par: ...
    @property
    def data(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Par]: ...
    persistent: builtins.bool
    locallyFree: builtins.bytes
    connective_used: builtins.bool
    def __init__(self,
        *,
        chan: typing.Optional[global___Par] = ...,
        data: typing.Optional[typing.Iterable[global___Par]] = ...,
        persistent: builtins.bool = ...,
        locallyFree: builtins.bytes = ...,
        connective_used: builtins.bool = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["chan",b"chan"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["chan",b"chan","connective_used",b"connective_used","data",b"data","locallyFree",b"locallyFree","persistent",b"persistent"]) -> None: ...
global___Send = Send

class ReceiveBind(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PATTERNS_FIELD_NUMBER: builtins.int
    SOURCE_FIELD_NUMBER: builtins.int
    REMAINDER_FIELD_NUMBER: builtins.int
    FREECOUNT_FIELD_NUMBER: builtins.int
    @property
    def patterns(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Par]: ...
    @property
    def source(self) -> global___Par: ...
    @property
    def remainder(self) -> global___Var: ...
    freeCount: builtins.int
    def __init__(self,
        *,
        patterns: typing.Optional[typing.Iterable[global___Par]] = ...,
        source: typing.Optional[global___Par] = ...,
        remainder: typing.Optional[global___Var] = ...,
        freeCount: builtins.int = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["remainder",b"remainder","source",b"source"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["freeCount",b"freeCount","patterns",b"patterns","remainder",b"remainder","source",b"source"]) -> None: ...
global___ReceiveBind = ReceiveBind

class BindPattern(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PATTERNS_FIELD_NUMBER: builtins.int
    REMAINDER_FIELD_NUMBER: builtins.int
    FREECOUNT_FIELD_NUMBER: builtins.int
    @property
    def patterns(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Par]: ...
    @property
    def remainder(self) -> global___Var: ...
    freeCount: builtins.int
    def __init__(self,
        *,
        patterns: typing.Optional[typing.Iterable[global___Par]] = ...,
        remainder: typing.Optional[global___Var] = ...,
        freeCount: builtins.int = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["remainder",b"remainder"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["freeCount",b"freeCount","patterns",b"patterns","remainder",b"remainder"]) -> None: ...
global___BindPattern = BindPattern

class ListBindPatterns(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PATTERNS_FIELD_NUMBER: builtins.int
    @property
    def patterns(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BindPattern]: ...
    def __init__(self,
        *,
        patterns: typing.Optional[typing.Iterable[global___BindPattern]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["patterns",b"patterns"]) -> None: ...
global___ListBindPatterns = ListBindPatterns

class Receive(google.protobuf.message.Message):
    """*
    A receive is written `for(binds) { body }`
    i.e. `for(patterns <- source) { body }`
    or for a persistent recieve: `for(patterns <= source) { body }`.

    It's an error for free Variable to occur more than once in a pattern.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    BINDS_FIELD_NUMBER: builtins.int
    BODY_FIELD_NUMBER: builtins.int
    PERSISTENT_FIELD_NUMBER: builtins.int
    PEEK_FIELD_NUMBER: builtins.int
    BINDCOUNT_FIELD_NUMBER: builtins.int
    LOCALLYFREE_FIELD_NUMBER: builtins.int
    CONNECTIVE_USED_FIELD_NUMBER: builtins.int
    @property
    def binds(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ReceiveBind]: ...
    @property
    def body(self) -> global___Par: ...
    persistent: builtins.bool
    peek: builtins.bool
    bindCount: builtins.int
    locallyFree: builtins.bytes
    connective_used: builtins.bool
    def __init__(self,
        *,
        binds: typing.Optional[typing.Iterable[global___ReceiveBind]] = ...,
        body: typing.Optional[global___Par] = ...,
        persistent: builtins.bool = ...,
        peek: builtins.bool = ...,
        bindCount: builtins.int = ...,
        locallyFree: builtins.bytes = ...,
        connective_used: builtins.bool = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["body",b"body"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["bindCount",b"bindCount","binds",b"binds","body",b"body","connective_used",b"connective_used","locallyFree",b"locallyFree","peek",b"peek","persistent",b"persistent"]) -> None: ...
global___Receive = Receive

class New(google.protobuf.message.Message):
    """Number of variables bound in the new statement.
    For normalized form, p should not contain solely another new.
    Also for normalized form, the first use should be level+0, next use level+1
    up to level+count for the last used variable.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    class InjectionsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor
        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: typing.Text
        @property
        def value(self) -> global___Par: ...
        def __init__(self,
            *,
            key: typing.Text = ...,
            value: typing.Optional[global___Par] = ...,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["value",b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...

    BINDCOUNT_FIELD_NUMBER: builtins.int
    P_FIELD_NUMBER: builtins.int
    URI_FIELD_NUMBER: builtins.int
    INJECTIONS_FIELD_NUMBER: builtins.int
    LOCALLYFREE_FIELD_NUMBER: builtins.int
    bindCount: builtins.int
    """Includes any uris listed below. This makes it easier to substitute or walk a term."""

    @property
    def p(self) -> global___Par: ...
    @property
    def uri(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]:
        """For normalization, uri-referenced variables come at the end, and in lexicographical order."""
        pass
    @property
    def injections(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, global___Par]: ...
    locallyFree: builtins.bytes
    def __init__(self,
        *,
        bindCount: builtins.int = ...,
        p: typing.Optional[global___Par] = ...,
        uri: typing.Optional[typing.Iterable[typing.Text]] = ...,
        injections: typing.Optional[typing.Mapping[typing.Text, global___Par]] = ...,
        locallyFree: builtins.bytes = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["p",b"p"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["bindCount",b"bindCount","injections",b"injections","locallyFree",b"locallyFree","p",b"p","uri",b"uri"]) -> None: ...
global___New = New

class MatchCase(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PATTERN_FIELD_NUMBER: builtins.int
    SOURCE_FIELD_NUMBER: builtins.int
    FREECOUNT_FIELD_NUMBER: builtins.int
    @property
    def pattern(self) -> global___Par: ...
    @property
    def source(self) -> global___Par: ...
    freeCount: builtins.int
    def __init__(self,
        *,
        pattern: typing.Optional[global___Par] = ...,
        source: typing.Optional[global___Par] = ...,
        freeCount: builtins.int = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pattern",b"pattern","source",b"source"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["freeCount",b"freeCount","pattern",b"pattern","source",b"source"]) -> None: ...
global___MatchCase = MatchCase

class Match(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    TARGET_FIELD_NUMBER: builtins.int
    CASES_FIELD_NUMBER: builtins.int
    LOCALLYFREE_FIELD_NUMBER: builtins.int
    CONNECTIVE_USED_FIELD_NUMBER: builtins.int
    @property
    def target(self) -> global___Par: ...
    @property
    def cases(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MatchCase]: ...
    locallyFree: builtins.bytes
    connective_used: builtins.bool
    def __init__(self,
        *,
        target: typing.Optional[global___Par] = ...,
        cases: typing.Optional[typing.Iterable[global___MatchCase]] = ...,
        locallyFree: builtins.bytes = ...,
        connective_used: builtins.bool = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["target",b"target"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["cases",b"cases","connective_used",b"connective_used","locallyFree",b"locallyFree","target",b"target"]) -> None: ...
global___Match = Match

class Expr(google.protobuf.message.Message):
    """Any process may be an operand to an expression.
    Only processes equivalent to a ground process of compatible type will reduce.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    G_BOOL_FIELD_NUMBER: builtins.int
    G_INT_FIELD_NUMBER: builtins.int
    G_STRING_FIELD_NUMBER: builtins.int
    G_URI_FIELD_NUMBER: builtins.int
    G_BYTE_ARRAY_FIELD_NUMBER: builtins.int
    E_NOT_BODY_FIELD_NUMBER: builtins.int
    E_NEG_BODY_FIELD_NUMBER: builtins.int
    E_MULT_BODY_FIELD_NUMBER: builtins.int
    E_DIV_BODY_FIELD_NUMBER: builtins.int
    E_PLUS_BODY_FIELD_NUMBER: builtins.int
    E_MINUS_BODY_FIELD_NUMBER: builtins.int
    E_LT_BODY_FIELD_NUMBER: builtins.int
    E_LTE_BODY_FIELD_NUMBER: builtins.int
    E_GT_BODY_FIELD_NUMBER: builtins.int
    E_GTE_BODY_FIELD_NUMBER: builtins.int
    E_EQ_BODY_FIELD_NUMBER: builtins.int
    E_NEQ_BODY_FIELD_NUMBER: builtins.int
    E_AND_BODY_FIELD_NUMBER: builtins.int
    E_OR_BODY_FIELD_NUMBER: builtins.int
    E_VAR_BODY_FIELD_NUMBER: builtins.int
    E_LIST_BODY_FIELD_NUMBER: builtins.int
    E_TUPLE_BODY_FIELD_NUMBER: builtins.int
    E_SET_BODY_FIELD_NUMBER: builtins.int
    E_MAP_BODY_FIELD_NUMBER: builtins.int
    E_METHOD_BODY_FIELD_NUMBER: builtins.int
    E_MATCHES_BODY_FIELD_NUMBER: builtins.int
    E_PERCENT_PERCENT_BODY_FIELD_NUMBER: builtins.int
    E_PLUS_PLUS_BODY_FIELD_NUMBER: builtins.int
    E_MINUS_MINUS_BODY_FIELD_NUMBER: builtins.int
    E_MOD_BODY_FIELD_NUMBER: builtins.int
    g_bool: builtins.bool
    g_int: builtins.int
    g_string: typing.Text
    g_uri: typing.Text
    g_byte_array: builtins.bytes
    @property
    def e_not_body(self) -> global___ENot: ...
    @property
    def e_neg_body(self) -> global___ENeg: ...
    @property
    def e_mult_body(self) -> global___EMult: ...
    @property
    def e_div_body(self) -> global___EDiv: ...
    @property
    def e_plus_body(self) -> global___EPlus: ...
    @property
    def e_minus_body(self) -> global___EMinus: ...
    @property
    def e_lt_body(self) -> global___ELt: ...
    @property
    def e_lte_body(self) -> global___ELte: ...
    @property
    def e_gt_body(self) -> global___EGt: ...
    @property
    def e_gte_body(self) -> global___EGte: ...
    @property
    def e_eq_body(self) -> global___EEq: ...
    @property
    def e_neq_body(self) -> global___ENeq: ...
    @property
    def e_and_body(self) -> global___EAnd: ...
    @property
    def e_or_body(self) -> global___EOr: ...
    @property
    def e_var_body(self) -> global___EVar: ...
    @property
    def e_list_body(self) -> global___EList: ...
    @property
    def e_tuple_body(self) -> global___ETuple: ...
    @property
    def e_set_body(self) -> global___ESet: ...
    @property
    def e_map_body(self) -> global___EMap: ...
    @property
    def e_method_body(self) -> global___EMethod: ...
    @property
    def e_matches_body(self) -> global___EMatches: ...
    @property
    def e_percent_percent_body(self) -> global___EPercentPercent:
        """string interpolation"""
        pass
    @property
    def e_plus_plus_body(self) -> global___EPlusPlus:
        """concatenation"""
        pass
    @property
    def e_minus_minus_body(self) -> global___EMinusMinus:
        """set difference"""
        pass
    @property
    def e_mod_body(self) -> global___EMod: ...
    def __init__(self,
        *,
        g_bool: builtins.bool = ...,
        g_int: builtins.int = ...,
        g_string: typing.Text = ...,
        g_uri: typing.Text = ...,
        g_byte_array: builtins.bytes = ...,
        e_not_body: typing.Optional[global___ENot] = ...,
        e_neg_body: typing.Optional[global___ENeg] = ...,
        e_mult_body: typing.Optional[global___EMult] = ...,
        e_div_body: typing.Optional[global___EDiv] = ...,
        e_plus_body: typing.Optional[global___EPlus] = ...,
        e_minus_body: typing.Optional[global___EMinus] = ...,
        e_lt_body: typing.Optional[global___ELt] = ...,
        e_lte_body: typing.Optional[global___ELte] = ...,
        e_gt_body: typing.Optional[global___EGt] = ...,
        e_gte_body: typing.Optional[global___EGte] = ...,
        e_eq_body: typing.Optional[global___EEq] = ...,
        e_neq_body: typing.Optional[global___ENeq] = ...,
        e_and_body: typing.Optional[global___EAnd] = ...,
        e_or_body: typing.Optional[global___EOr] = ...,
        e_var_body: typing.Optional[global___EVar] = ...,
        e_list_body: typing.Optional[global___EList] = ...,
        e_tuple_body: typing.Optional[global___ETuple] = ...,
        e_set_body: typing.Optional[global___ESet] = ...,
        e_map_body: typing.Optional[global___EMap] = ...,
        e_method_body: typing.Optional[global___EMethod] = ...,
        e_matches_body: typing.Optional[global___EMatches] = ...,
        e_percent_percent_body: typing.Optional[global___EPercentPercent] = ...,
        e_plus_plus_body: typing.Optional[global___EPlusPlus] = ...,
        e_minus_minus_body: typing.Optional[global___EMinusMinus] = ...,
        e_mod_body: typing.Optional[global___EMod] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["e_and_body",b"e_and_body","e_div_body",b"e_div_body","e_eq_body",b"e_eq_body","e_gt_body",b"e_gt_body","e_gte_body",b"e_gte_body","e_list_body",b"e_list_body","e_lt_body",b"e_lt_body","e_lte_body",b"e_lte_body","e_map_body",b"e_map_body","e_matches_body",b"e_matches_body","e_method_body",b"e_method_body","e_minus_body",b"e_minus_body","e_minus_minus_body",b"e_minus_minus_body","e_mod_body",b"e_mod_body","e_mult_body",b"e_mult_body","e_neg_body",b"e_neg_body","e_neq_body",b"e_neq_body","e_not_body",b"e_not_body","e_or_body",b"e_or_body","e_percent_percent_body",b"e_percent_percent_body","e_plus_body",b"e_plus_body","e_plus_plus_body",b"e_plus_plus_body","e_set_body",b"e_set_body","e_tuple_body",b"e_tuple_body","e_var_body",b"e_var_body","expr_instance",b"expr_instance","g_bool",b"g_bool","g_byte_array",b"g_byte_array","g_int",b"g_int","g_string",b"g_string","g_uri",b"g_uri"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["e_and_body",b"e_and_body","e_div_body",b"e_div_body","e_eq_body",b"e_eq_body","e_gt_body",b"e_gt_body","e_gte_body",b"e_gte_body","e_list_body",b"e_list_body","e_lt_body",b"e_lt_body","e_lte_body",b"e_lte_body","e_map_body",b"e_map_body","e_matches_body",b"e_matches_body","e_method_body",b"e_method_body","e_minus_body",b"e_minus_body","e_minus_minus_body",b"e_minus_minus_body","e_mod_body",b"e_mod_body","e_mult_body",b"e_mult_body","e_neg_body",b"e_neg_body","e_neq_body",b"e_neq_body","e_not_body",b"e_not_body","e_or_body",b"e_or_body","e_percent_percent_body",b"e_percent_percent_body","e_plus_body",b"e_plus_body","e_plus_plus_body",b"e_plus_plus_body","e_set_body",b"e_set_body","e_tuple_body",b"e_tuple_body","e_var_body",b"e_var_body","expr_instance",b"expr_instance","g_bool",b"g_bool","g_byte_array",b"g_byte_array","g_int",b"g_int","g_string",b"g_string","g_uri",b"g_uri"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["expr_instance",b"expr_instance"]) -> typing.Optional[typing_extensions.Literal["g_bool","g_int","g_string","g_uri","g_byte_array","e_not_body","e_neg_body","e_mult_body","e_div_body","e_plus_body","e_minus_body","e_lt_body","e_lte_body","e_gt_body","e_gte_body","e_eq_body","e_neq_body","e_and_body","e_or_body","e_var_body","e_list_body","e_tuple_body","e_set_body","e_map_body","e_method_body","e_matches_body","e_percent_percent_body","e_plus_plus_body","e_minus_minus_body","e_mod_body"]]: ...
global___Expr = Expr

class EList(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PS_FIELD_NUMBER: builtins.int
    LOCALLYFREE_FIELD_NUMBER: builtins.int
    CONNECTIVE_USED_FIELD_NUMBER: builtins.int
    REMAINDER_FIELD_NUMBER: builtins.int
    @property
    def ps(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Par]: ...
    locallyFree: builtins.bytes
    connective_used: builtins.bool
    @property
    def remainder(self) -> global___Var: ...
    def __init__(self,
        *,
        ps: typing.Optional[typing.Iterable[global___Par]] = ...,
        locallyFree: builtins.bytes = ...,
        connective_used: builtins.bool = ...,
        remainder: typing.Optional[global___Var] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["remainder",b"remainder"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["connective_used",b"connective_used","locallyFree",b"locallyFree","ps",b"ps","remainder",b"remainder"]) -> None: ...
global___EList = EList

class ETuple(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PS_FIELD_NUMBER: builtins.int
    LOCALLYFREE_FIELD_NUMBER: builtins.int
    CONNECTIVE_USED_FIELD_NUMBER: builtins.int
    @property
    def ps(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Par]: ...
    locallyFree: builtins.bytes
    connective_used: builtins.bool
    def __init__(self,
        *,
        ps: typing.Optional[typing.Iterable[global___Par]] = ...,
        locallyFree: builtins.bytes = ...,
        connective_used: builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["connective_used",b"connective_used","locallyFree",b"locallyFree","ps",b"ps"]) -> None: ...
global___ETuple = ETuple

class ESet(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PS_FIELD_NUMBER: builtins.int
    LOCALLYFREE_FIELD_NUMBER: builtins.int
    CONNECTIVE_USED_FIELD_NUMBER: builtins.int
    REMAINDER_FIELD_NUMBER: builtins.int
    @property
    def ps(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Par]: ...
    locallyFree: builtins.bytes
    connective_used: builtins.bool
    @property
    def remainder(self) -> global___Var: ...
    def __init__(self,
        *,
        ps: typing.Optional[typing.Iterable[global___Par]] = ...,
        locallyFree: builtins.bytes = ...,
        connective_used: builtins.bool = ...,
        remainder: typing.Optional[global___Var] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["remainder",b"remainder"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["connective_used",b"connective_used","locallyFree",b"locallyFree","ps",b"ps","remainder",b"remainder"]) -> None: ...
global___ESet = ESet

class EMap(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    KVS_FIELD_NUMBER: builtins.int
    LOCALLYFREE_FIELD_NUMBER: builtins.int
    CONNECTIVE_USED_FIELD_NUMBER: builtins.int
    REMAINDER_FIELD_NUMBER: builtins.int
    @property
    def kvs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___KeyValuePair]: ...
    locallyFree: builtins.bytes
    connective_used: builtins.bool
    @property
    def remainder(self) -> global___Var: ...
    def __init__(self,
        *,
        kvs: typing.Optional[typing.Iterable[global___KeyValuePair]] = ...,
        locallyFree: builtins.bytes = ...,
        connective_used: builtins.bool = ...,
        remainder: typing.Optional[global___Var] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["remainder",b"remainder"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["connective_used",b"connective_used","kvs",b"kvs","locallyFree",b"locallyFree","remainder",b"remainder"]) -> None: ...
global___EMap = EMap

class EMethod(google.protobuf.message.Message):
    """*
    `target.method(arguments)`
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    METHODNAME_FIELD_NUMBER: builtins.int
    TARGET_FIELD_NUMBER: builtins.int
    ARGUMENTS_FIELD_NUMBER: builtins.int
    LOCALLYFREE_FIELD_NUMBER: builtins.int
    CONNECTIVE_USED_FIELD_NUMBER: builtins.int
    methodName: typing.Text
    @property
    def target(self) -> global___Par: ...
    @property
    def arguments(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Par]: ...
    locallyFree: builtins.bytes
    connective_used: builtins.bool
    def __init__(self,
        *,
        methodName: typing.Text = ...,
        target: typing.Optional[global___Par] = ...,
        arguments: typing.Optional[typing.Iterable[global___Par]] = ...,
        locallyFree: builtins.bytes = ...,
        connective_used: builtins.bool = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["target",b"target"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["arguments",b"arguments","connective_used",b"connective_used","locallyFree",b"locallyFree","methodName",b"methodName","target",b"target"]) -> None: ...
global___EMethod = EMethod

class KeyValuePair(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    KEY_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    @property
    def key(self) -> global___Par: ...
    @property
    def value(self) -> global___Par: ...
    def __init__(self,
        *,
        key: typing.Optional[global___Par] = ...,
        value: typing.Optional[global___Par] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...
global___KeyValuePair = KeyValuePair

class EVar(google.protobuf.message.Message):
    """A variable used as a var should be bound in a process context, not a name
    context. For example:
    `for (@x <- c1; @y <- c2) { z!(x + y) }` is fine, but
    `for (x <- c1; y <- c2) { z!(x + y) }` should raise an error.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    V_FIELD_NUMBER: builtins.int
    @property
    def v(self) -> global___Var: ...
    def __init__(self,
        *,
        v: typing.Optional[global___Var] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["v",b"v"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["v",b"v"]) -> None: ...
global___EVar = EVar

class ENot(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    P_FIELD_NUMBER: builtins.int
    @property
    def p(self) -> global___Par: ...
    def __init__(self,
        *,
        p: typing.Optional[global___Par] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["p",b"p"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["p",b"p"]) -> None: ...
global___ENot = ENot

class ENeg(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    P_FIELD_NUMBER: builtins.int
    @property
    def p(self) -> global___Par: ...
    def __init__(self,
        *,
        p: typing.Optional[global___Par] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["p",b"p"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["p",b"p"]) -> None: ...
global___ENeg = ENeg

class EMult(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    P1_FIELD_NUMBER: builtins.int
    P2_FIELD_NUMBER: builtins.int
    @property
    def p1(self) -> global___Par: ...
    @property
    def p2(self) -> global___Par: ...
    def __init__(self,
        *,
        p1: typing.Optional[global___Par] = ...,
        p2: typing.Optional[global___Par] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> None: ...
global___EMult = EMult

class EDiv(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    P1_FIELD_NUMBER: builtins.int
    P2_FIELD_NUMBER: builtins.int
    @property
    def p1(self) -> global___Par: ...
    @property
    def p2(self) -> global___Par: ...
    def __init__(self,
        *,
        p1: typing.Optional[global___Par] = ...,
        p2: typing.Optional[global___Par] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> None: ...
global___EDiv = EDiv

class EMod(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    P1_FIELD_NUMBER: builtins.int
    P2_FIELD_NUMBER: builtins.int
    @property
    def p1(self) -> global___Par: ...
    @property
    def p2(self) -> global___Par: ...
    def __init__(self,
        *,
        p1: typing.Optional[global___Par] = ...,
        p2: typing.Optional[global___Par] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> None: ...
global___EMod = EMod

class EPlus(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    P1_FIELD_NUMBER: builtins.int
    P2_FIELD_NUMBER: builtins.int
    @property
    def p1(self) -> global___Par: ...
    @property
    def p2(self) -> global___Par: ...
    def __init__(self,
        *,
        p1: typing.Optional[global___Par] = ...,
        p2: typing.Optional[global___Par] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> None: ...
global___EPlus = EPlus

class EMinus(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    P1_FIELD_NUMBER: builtins.int
    P2_FIELD_NUMBER: builtins.int
    @property
    def p1(self) -> global___Par: ...
    @property
    def p2(self) -> global___Par: ...
    def __init__(self,
        *,
        p1: typing.Optional[global___Par] = ...,
        p2: typing.Optional[global___Par] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> None: ...
global___EMinus = EMinus

class ELt(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    P1_FIELD_NUMBER: builtins.int
    P2_FIELD_NUMBER: builtins.int
    @property
    def p1(self) -> global___Par: ...
    @property
    def p2(self) -> global___Par: ...
    def __init__(self,
        *,
        p1: typing.Optional[global___Par] = ...,
        p2: typing.Optional[global___Par] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> None: ...
global___ELt = ELt

class ELte(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    P1_FIELD_NUMBER: builtins.int
    P2_FIELD_NUMBER: builtins.int
    @property
    def p1(self) -> global___Par: ...
    @property
    def p2(self) -> global___Par: ...
    def __init__(self,
        *,
        p1: typing.Optional[global___Par] = ...,
        p2: typing.Optional[global___Par] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> None: ...
global___ELte = ELte

class EGt(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    P1_FIELD_NUMBER: builtins.int
    P2_FIELD_NUMBER: builtins.int
    @property
    def p1(self) -> global___Par: ...
    @property
    def p2(self) -> global___Par: ...
    def __init__(self,
        *,
        p1: typing.Optional[global___Par] = ...,
        p2: typing.Optional[global___Par] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> None: ...
global___EGt = EGt

class EGte(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    P1_FIELD_NUMBER: builtins.int
    P2_FIELD_NUMBER: builtins.int
    @property
    def p1(self) -> global___Par: ...
    @property
    def p2(self) -> global___Par: ...
    def __init__(self,
        *,
        p1: typing.Optional[global___Par] = ...,
        p2: typing.Optional[global___Par] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> None: ...
global___EGte = EGte

class EEq(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    P1_FIELD_NUMBER: builtins.int
    P2_FIELD_NUMBER: builtins.int
    @property
    def p1(self) -> global___Par: ...
    @property
    def p2(self) -> global___Par: ...
    def __init__(self,
        *,
        p1: typing.Optional[global___Par] = ...,
        p2: typing.Optional[global___Par] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> None: ...
global___EEq = EEq

class ENeq(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    P1_FIELD_NUMBER: builtins.int
    P2_FIELD_NUMBER: builtins.int
    @property
    def p1(self) -> global___Par: ...
    @property
    def p2(self) -> global___Par: ...
    def __init__(self,
        *,
        p1: typing.Optional[global___Par] = ...,
        p2: typing.Optional[global___Par] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> None: ...
global___ENeq = ENeq

class EAnd(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    P1_FIELD_NUMBER: builtins.int
    P2_FIELD_NUMBER: builtins.int
    @property
    def p1(self) -> global___Par: ...
    @property
    def p2(self) -> global___Par: ...
    def __init__(self,
        *,
        p1: typing.Optional[global___Par] = ...,
        p2: typing.Optional[global___Par] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> None: ...
global___EAnd = EAnd

class EOr(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    P1_FIELD_NUMBER: builtins.int
    P2_FIELD_NUMBER: builtins.int
    @property
    def p1(self) -> global___Par: ...
    @property
    def p2(self) -> global___Par: ...
    def __init__(self,
        *,
        p1: typing.Optional[global___Par] = ...,
        p2: typing.Optional[global___Par] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> None: ...
global___EOr = EOr

class EMatches(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    TARGET_FIELD_NUMBER: builtins.int
    PATTERN_FIELD_NUMBER: builtins.int
    @property
    def target(self) -> global___Par: ...
    @property
    def pattern(self) -> global___Par: ...
    def __init__(self,
        *,
        target: typing.Optional[global___Par] = ...,
        pattern: typing.Optional[global___Par] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pattern",b"pattern","target",b"target"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["pattern",b"pattern","target",b"target"]) -> None: ...
global___EMatches = EMatches

class EPercentPercent(google.protobuf.message.Message):
    """*
    String interpolation

    `"Hello, {name}" %% {"name": "Bob"}` denotes `"Hello, Bob"`
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    P1_FIELD_NUMBER: builtins.int
    P2_FIELD_NUMBER: builtins.int
    @property
    def p1(self) -> global___Par: ...
    @property
    def p2(self) -> global___Par: ...
    def __init__(self,
        *,
        p1: typing.Optional[global___Par] = ...,
        p2: typing.Optional[global___Par] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> None: ...
global___EPercentPercent = EPercentPercent

class EPlusPlus(google.protobuf.message.Message):
    """Concatenation"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    P1_FIELD_NUMBER: builtins.int
    P2_FIELD_NUMBER: builtins.int
    @property
    def p1(self) -> global___Par: ...
    @property
    def p2(self) -> global___Par: ...
    def __init__(self,
        *,
        p1: typing.Optional[global___Par] = ...,
        p2: typing.Optional[global___Par] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> None: ...
global___EPlusPlus = EPlusPlus

class EMinusMinus(google.protobuf.message.Message):
    """Set difference"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    P1_FIELD_NUMBER: builtins.int
    P2_FIELD_NUMBER: builtins.int
    @property
    def p1(self) -> global___Par: ...
    @property
    def p2(self) -> global___Par: ...
    def __init__(self,
        *,
        p1: typing.Optional[global___Par] = ...,
        p2: typing.Optional[global___Par] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["p1",b"p1","p2",b"p2"]) -> None: ...
global___EMinusMinus = EMinusMinus

class Connective(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    CONN_AND_BODY_FIELD_NUMBER: builtins.int
    CONN_OR_BODY_FIELD_NUMBER: builtins.int
    CONN_NOT_BODY_FIELD_NUMBER: builtins.int
    VAR_REF_BODY_FIELD_NUMBER: builtins.int
    CONN_BOOL_FIELD_NUMBER: builtins.int
    CONN_INT_FIELD_NUMBER: builtins.int
    CONN_STRING_FIELD_NUMBER: builtins.int
    CONN_URI_FIELD_NUMBER: builtins.int
    CONN_BYTE_ARRAY_FIELD_NUMBER: builtins.int
    @property
    def conn_and_body(self) -> global___ConnectiveBody: ...
    @property
    def conn_or_body(self) -> global___ConnectiveBody: ...
    @property
    def conn_not_body(self) -> global___Par: ...
    @property
    def var_ref_body(self) -> global___VarRef: ...
    conn_bool: builtins.bool
    conn_int: builtins.bool
    conn_string: builtins.bool
    conn_uri: builtins.bool
    conn_byte_array: builtins.bool
    def __init__(self,
        *,
        conn_and_body: typing.Optional[global___ConnectiveBody] = ...,
        conn_or_body: typing.Optional[global___ConnectiveBody] = ...,
        conn_not_body: typing.Optional[global___Par] = ...,
        var_ref_body: typing.Optional[global___VarRef] = ...,
        conn_bool: builtins.bool = ...,
        conn_int: builtins.bool = ...,
        conn_string: builtins.bool = ...,
        conn_uri: builtins.bool = ...,
        conn_byte_array: builtins.bool = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["conn_and_body",b"conn_and_body","conn_bool",b"conn_bool","conn_byte_array",b"conn_byte_array","conn_int",b"conn_int","conn_not_body",b"conn_not_body","conn_or_body",b"conn_or_body","conn_string",b"conn_string","conn_uri",b"conn_uri","connective_instance",b"connective_instance","var_ref_body",b"var_ref_body"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["conn_and_body",b"conn_and_body","conn_bool",b"conn_bool","conn_byte_array",b"conn_byte_array","conn_int",b"conn_int","conn_not_body",b"conn_not_body","conn_or_body",b"conn_or_body","conn_string",b"conn_string","conn_uri",b"conn_uri","connective_instance",b"connective_instance","var_ref_body",b"var_ref_body"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["connective_instance",b"connective_instance"]) -> typing.Optional[typing_extensions.Literal["conn_and_body","conn_or_body","conn_not_body","var_ref_body","conn_bool","conn_int","conn_string","conn_uri","conn_byte_array"]]: ...
global___Connective = Connective

class VarRef(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    INDEX_FIELD_NUMBER: builtins.int
    DEPTH_FIELD_NUMBER: builtins.int
    index: builtins.int
    depth: builtins.int
    def __init__(self,
        *,
        index: builtins.int = ...,
        depth: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["depth",b"depth","index",b"index"]) -> None: ...
global___VarRef = VarRef

class ConnectiveBody(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PS_FIELD_NUMBER: builtins.int
    @property
    def ps(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Par]: ...
    def __init__(self,
        *,
        ps: typing.Optional[typing.Iterable[global___Par]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["ps",b"ps"]) -> None: ...
global___ConnectiveBody = ConnectiveBody

class DeployId(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    SIG_FIELD_NUMBER: builtins.int
    sig: builtins.bytes
    def __init__(self,
        *,
        sig: builtins.bytes = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["sig",b"sig"]) -> None: ...
global___DeployId = DeployId

class DeployerId(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PUBLICKEY_FIELD_NUMBER: builtins.int
    publicKey: builtins.bytes
    def __init__(self,
        *,
        publicKey: builtins.bytes = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["publicKey",b"publicKey"]) -> None: ...
global___DeployerId = DeployerId

class GUnforgeable(google.protobuf.message.Message):
    """Unforgeable names resulting from `new x { ... }`
    These should only occur as the program is being evaluated. There is no way in
    the grammar to construct them.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    G_PRIVATE_BODY_FIELD_NUMBER: builtins.int
    G_DEPLOY_ID_BODY_FIELD_NUMBER: builtins.int
    G_DEPLOYER_ID_BODY_FIELD_NUMBER: builtins.int
    G_SYS_AUTH_TOKEN_BODY_FIELD_NUMBER: builtins.int
    @property
    def g_private_body(self) -> global___GPrivate: ...
    @property
    def g_deploy_id_body(self) -> global___GDeployId: ...
    @property
    def g_deployer_id_body(self) -> global___GDeployerId: ...
    @property
    def g_sys_auth_token_body(self) -> global___GSysAuthToken: ...
    def __init__(self,
        *,
        g_private_body: typing.Optional[global___GPrivate] = ...,
        g_deploy_id_body: typing.Optional[global___GDeployId] = ...,
        g_deployer_id_body: typing.Optional[global___GDeployerId] = ...,
        g_sys_auth_token_body: typing.Optional[global___GSysAuthToken] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["g_deploy_id_body",b"g_deploy_id_body","g_deployer_id_body",b"g_deployer_id_body","g_private_body",b"g_private_body","g_sys_auth_token_body",b"g_sys_auth_token_body","unf_instance",b"unf_instance"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["g_deploy_id_body",b"g_deploy_id_body","g_deployer_id_body",b"g_deployer_id_body","g_private_body",b"g_private_body","g_sys_auth_token_body",b"g_sys_auth_token_body","unf_instance",b"unf_instance"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["unf_instance",b"unf_instance"]) -> typing.Optional[typing_extensions.Literal["g_private_body","g_deploy_id_body","g_deployer_id_body","g_sys_auth_token_body"]]: ...
global___GUnforgeable = GUnforgeable

class GPrivate(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    ID_FIELD_NUMBER: builtins.int
    id: builtins.bytes
    def __init__(self,
        *,
        id: builtins.bytes = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["id",b"id"]) -> None: ...
global___GPrivate = GPrivate

class GDeployId(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    SIG_FIELD_NUMBER: builtins.int
    sig: builtins.bytes
    def __init__(self,
        *,
        sig: builtins.bytes = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["sig",b"sig"]) -> None: ...
global___GDeployId = GDeployId

class GDeployerId(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PUBLICKEY_FIELD_NUMBER: builtins.int
    publicKey: builtins.bytes
    def __init__(self,
        *,
        publicKey: builtins.bytes = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["publicKey",b"publicKey"]) -> None: ...
global___GDeployerId = GDeployerId

class GSysAuthToken(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    def __init__(self,
        ) -> None: ...
global___GSysAuthToken = GSysAuthToken
