"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file

Copyright 2020-2021 Exactpro (Exactpro Systems Limited)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
"""
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import google.protobuf.wrappers_pb2
import sys
import th2_grpc_common.common_pb2

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class CheckpointRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DESCRIPTION_FIELD_NUMBER: builtins.int
    PARENT_EVENT_ID_FIELD_NUMBER: builtins.int
    description: builtins.str
    @property
    def parent_event_id(self) -> th2_grpc_common.common_pb2.EventID: ...
    def __init__(
        self,
        *,
        description: builtins.str = ...,
        parent_event_id: th2_grpc_common.common_pb2.EventID | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["parent_event_id", b"parent_event_id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "parent_event_id", b"parent_event_id"]) -> None: ...

global___CheckpointRequest = CheckpointRequest

@typing_extensions.final
class CheckpointResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CHECKPOINT_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    @property
    def checkpoint(self) -> th2_grpc_common.common_pb2.Checkpoint: ...
    @property
    def status(self) -> th2_grpc_common.common_pb2.RequestStatus: ...
    def __init__(
        self,
        *,
        checkpoint: th2_grpc_common.common_pb2.Checkpoint | None = ...,
        status: th2_grpc_common.common_pb2.RequestStatus | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["checkpoint", b"checkpoint", "status", b"status"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["checkpoint", b"checkpoint", "status", b"status"]) -> None: ...

global___CheckpointResponse = CheckpointResponse

@typing_extensions.final
class ChainID(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    id: builtins.str
    def __init__(
        self,
        *,
        id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["id", b"id"]) -> None: ...

global___ChainID = ChainID

@typing_extensions.final
class CheckRuleRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CONNECTIVITY_ID_FIELD_NUMBER: builtins.int
    ROOT_FILTER_FIELD_NUMBER: builtins.int
    CHECKPOINT_FIELD_NUMBER: builtins.int
    MESSAGE_TIMEOUT_FIELD_NUMBER: builtins.int
    TIMEOUT_FIELD_NUMBER: builtins.int
    PARENT_EVENT_ID_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    DIRECTION_FIELD_NUMBER: builtins.int
    CHAIN_ID_FIELD_NUMBER: builtins.int
    BOOK_NAME_FIELD_NUMBER: builtins.int
    @property
    def connectivity_id(self) -> th2_grpc_common.common_pb2.ConnectionID: ...
    @property
    def root_filter(self) -> th2_grpc_common.common_pb2.RootMessageFilter: ...
    @property
    def checkpoint(self) -> th2_grpc_common.common_pb2.Checkpoint:
        """Registered Checkpoint. If the chain_id is also set in the request the checkpoint will be ignored"""
    message_timeout: builtins.int
    """Timeout to wait for messages after checkpoint. The message's timestamp will be used to compute the timeout"""
    timeout: builtins.int
    """Timeout for rule execution. Uses the real time to limit the execution of the rule"""
    @property
    def parent_event_id(self) -> th2_grpc_common.common_pb2.EventID: ...
    description: builtins.str
    direction: th2_grpc_common.common_pb2.Direction.ValueType
    @property
    def chain_id(self) -> global___ChainID:
        """The chain id to continue checking."""
    book_name: builtins.str
    """If it's not set the check will be started from the specified checkpoint otherwise checkpoint will be ignored"""
    def __init__(
        self,
        *,
        connectivity_id: th2_grpc_common.common_pb2.ConnectionID | None = ...,
        root_filter: th2_grpc_common.common_pb2.RootMessageFilter | None = ...,
        checkpoint: th2_grpc_common.common_pb2.Checkpoint | None = ...,
        message_timeout: builtins.int = ...,
        timeout: builtins.int = ...,
        parent_event_id: th2_grpc_common.common_pb2.EventID | None = ...,
        description: builtins.str = ...,
        direction: th2_grpc_common.common_pb2.Direction.ValueType = ...,
        chain_id: global___ChainID | None = ...,
        book_name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["chain_id", b"chain_id", "checkpoint", b"checkpoint", "connectivity_id", b"connectivity_id", "parent_event_id", b"parent_event_id", "root_filter", b"root_filter"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["book_name", b"book_name", "chain_id", b"chain_id", "checkpoint", b"checkpoint", "connectivity_id", b"connectivity_id", "description", b"description", "direction", b"direction", "message_timeout", b"message_timeout", "parent_event_id", b"parent_event_id", "root_filter", b"root_filter", "timeout", b"timeout"]) -> None: ...

global___CheckRuleRequest = CheckRuleRequest

@typing_extensions.final
class CheckRuleResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    STATUS_FIELD_NUMBER: builtins.int
    CHAIN_ID_FIELD_NUMBER: builtins.int
    @property
    def status(self) -> th2_grpc_common.common_pb2.RequestStatus: ...
    @property
    def chain_id(self) -> global___ChainID:
        """You can use it to unite the next rule to the chain with currently submitted one"""
    def __init__(
        self,
        *,
        status: th2_grpc_common.common_pb2.RequestStatus | None = ...,
        chain_id: global___ChainID | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["chain_id", b"chain_id", "status", b"status"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["chain_id", b"chain_id", "status", b"status"]) -> None: ...

global___CheckRuleResponse = CheckRuleResponse

@typing_extensions.final
class CheckSequenceRuleRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PRE_FILTER_FIELD_NUMBER: builtins.int
    ROOT_MESSAGE_FILTERS_FIELD_NUMBER: builtins.int
    CHECKPOINT_FIELD_NUMBER: builtins.int
    MESSAGE_TIMEOUT_FIELD_NUMBER: builtins.int
    TIMEOUT_FIELD_NUMBER: builtins.int
    CONNECTIVITY_ID_FIELD_NUMBER: builtins.int
    PARENT_EVENT_ID_FIELD_NUMBER: builtins.int
    CHECK_ORDER_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    DIRECTION_FIELD_NUMBER: builtins.int
    CHAIN_ID_FIELD_NUMBER: builtins.int
    SILENCE_CHECK_FIELD_NUMBER: builtins.int
    BOOK_NAME_FIELD_NUMBER: builtins.int
    @property
    def pre_filter(self) -> global___PreFilter: ...
    @property
    def root_message_filters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[th2_grpc_common.common_pb2.RootMessageFilter]:
        """
        Either this field or message_filters must be set. If both are set the error response will be received from check1
        """
    @property
    def checkpoint(self) -> th2_grpc_common.common_pb2.Checkpoint:
        """Registered Checkpoint. If the chain_id is also set in the request the checkpoint will be ignored"""
    message_timeout: builtins.int
    """Timeout to wait for messages after checkpoint. The message's timestamp will be used to compute the timeout"""
    timeout: builtins.int
    """Timeout for rule execution. Uses the real time to limit the execution of the rule"""
    @property
    def connectivity_id(self) -> th2_grpc_common.common_pb2.ConnectionID: ...
    @property
    def parent_event_id(self) -> th2_grpc_common.common_pb2.EventID: ...
    check_order: builtins.bool
    description: builtins.str
    direction: th2_grpc_common.common_pb2.Direction.ValueType
    @property
    def chain_id(self) -> global___ChainID:
        """The chain id to continue checking."""
    @property
    def silence_check(self) -> google.protobuf.wrappers_pb2.BoolValue:
        """If it's not set the check will be started from the specified checkpoint otherwise checkpoint will be ignored"""
    book_name: builtins.str
    def __init__(
        self,
        *,
        pre_filter: global___PreFilter | None = ...,
        root_message_filters: collections.abc.Iterable[th2_grpc_common.common_pb2.RootMessageFilter] | None = ...,
        checkpoint: th2_grpc_common.common_pb2.Checkpoint | None = ...,
        message_timeout: builtins.int = ...,
        timeout: builtins.int = ...,
        connectivity_id: th2_grpc_common.common_pb2.ConnectionID | None = ...,
        parent_event_id: th2_grpc_common.common_pb2.EventID | None = ...,
        check_order: builtins.bool = ...,
        description: builtins.str = ...,
        direction: th2_grpc_common.common_pb2.Direction.ValueType = ...,
        chain_id: global___ChainID | None = ...,
        silence_check: google.protobuf.wrappers_pb2.BoolValue | None = ...,
        book_name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["chain_id", b"chain_id", "checkpoint", b"checkpoint", "connectivity_id", b"connectivity_id", "parent_event_id", b"parent_event_id", "pre_filter", b"pre_filter", "silence_check", b"silence_check"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["book_name", b"book_name", "chain_id", b"chain_id", "check_order", b"check_order", "checkpoint", b"checkpoint", "connectivity_id", b"connectivity_id", "description", b"description", "direction", b"direction", "message_timeout", b"message_timeout", "parent_event_id", b"parent_event_id", "pre_filter", b"pre_filter", "root_message_filters", b"root_message_filters", "silence_check", b"silence_check", "timeout", b"timeout"]) -> None: ...

global___CheckSequenceRuleRequest = CheckSequenceRuleRequest

@typing_extensions.final
class CheckSequenceRuleResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    STATUS_FIELD_NUMBER: builtins.int
    CHAIN_ID_FIELD_NUMBER: builtins.int
    @property
    def status(self) -> th2_grpc_common.common_pb2.RequestStatus: ...
    @property
    def chain_id(self) -> global___ChainID:
        """You can use it to unite the next rule to the chain with currently submitted one"""
    def __init__(
        self,
        *,
        status: th2_grpc_common.common_pb2.RequestStatus | None = ...,
        chain_id: global___ChainID | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["chain_id", b"chain_id", "status", b"status"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["chain_id", b"chain_id", "status", b"status"]) -> None: ...

global___CheckSequenceRuleResponse = CheckSequenceRuleResponse

@typing_extensions.final
class PreFilter(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing_extensions.final
    class FieldsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        @property
        def value(self) -> th2_grpc_common.common_pb2.ValueFilter: ...
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: th2_grpc_common.common_pb2.ValueFilter | None = ...,
        ) -> 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: ...

    FIELDS_FIELD_NUMBER: builtins.int
    METADATA_FILTER_FIELD_NUMBER: builtins.int
    @property
    def fields(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, th2_grpc_common.common_pb2.ValueFilter]: ...
    @property
    def metadata_filter(self) -> th2_grpc_common.common_pb2.MetadataFilter: ...
    def __init__(
        self,
        *,
        fields: collections.abc.Mapping[builtins.str, th2_grpc_common.common_pb2.ValueFilter] | None = ...,
        metadata_filter: th2_grpc_common.common_pb2.MetadataFilter | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["metadata_filter", b"metadata_filter"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["fields", b"fields", "metadata_filter", b"metadata_filter"]) -> None: ...

global___PreFilter = PreFilter

@typing_extensions.final
class NoMessageCheckRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PRE_FILTER_FIELD_NUMBER: builtins.int
    MESSAGE_TIMEOUT_FIELD_NUMBER: builtins.int
    TIMEOUT_FIELD_NUMBER: builtins.int
    CHECKPOINT_FIELD_NUMBER: builtins.int
    CHAIN_ID_FIELD_NUMBER: builtins.int
    CONNECTIVITY_ID_FIELD_NUMBER: builtins.int
    PARENT_EVENT_ID_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    DIRECTION_FIELD_NUMBER: builtins.int
    BOOK_NAME_FIELD_NUMBER: builtins.int
    @property
    def pre_filter(self) -> global___PreFilter: ...
    message_timeout: builtins.int
    """Timeout to wait for messages after checkpoint. The message's timestamp will be used to compute the timeout"""
    timeout: builtins.int
    """Timeout for rule execution. Uses the real time to limit the execution of the rule"""
    @property
    def checkpoint(self) -> th2_grpc_common.common_pb2.Checkpoint:
        """Registered Checkpoint. If the chain_id is also set in the request the checkpoint will be ignored"""
    @property
    def chain_id(self) -> global___ChainID:
        """You can use it to unite the next rule to the chain with currently submitted one"""
    @property
    def connectivity_id(self) -> th2_grpc_common.common_pb2.ConnectionID: ...
    @property
    def parent_event_id(self) -> th2_grpc_common.common_pb2.EventID: ...
    description: builtins.str
    direction: th2_grpc_common.common_pb2.Direction.ValueType
    book_name: builtins.str
    def __init__(
        self,
        *,
        pre_filter: global___PreFilter | None = ...,
        message_timeout: builtins.int = ...,
        timeout: builtins.int = ...,
        checkpoint: th2_grpc_common.common_pb2.Checkpoint | None = ...,
        chain_id: global___ChainID | None = ...,
        connectivity_id: th2_grpc_common.common_pb2.ConnectionID | None = ...,
        parent_event_id: th2_grpc_common.common_pb2.EventID | None = ...,
        description: builtins.str = ...,
        direction: th2_grpc_common.common_pb2.Direction.ValueType = ...,
        book_name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["chain_id", b"chain_id", "checkpoint", b"checkpoint", "connectivity_id", b"connectivity_id", "parent_event_id", b"parent_event_id", "pre_filter", b"pre_filter"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["book_name", b"book_name", "chain_id", b"chain_id", "checkpoint", b"checkpoint", "connectivity_id", b"connectivity_id", "description", b"description", "direction", b"direction", "message_timeout", b"message_timeout", "parent_event_id", b"parent_event_id", "pre_filter", b"pre_filter", "timeout", b"timeout"]) -> None: ...

global___NoMessageCheckRequest = NoMessageCheckRequest

@typing_extensions.final
class NoMessageCheckResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    STATUS_FIELD_NUMBER: builtins.int
    CHAIN_ID_FIELD_NUMBER: builtins.int
    @property
    def status(self) -> th2_grpc_common.common_pb2.RequestStatus: ...
    @property
    def chain_id(self) -> global___ChainID:
        """You can use it to unite the next rule to the chain with currently submitted one"""
    def __init__(
        self,
        *,
        status: th2_grpc_common.common_pb2.RequestStatus | None = ...,
        chain_id: global___ChainID | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["chain_id", b"chain_id", "status", b"status"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["chain_id", b"chain_id", "status", b"status"]) -> None: ...

global___NoMessageCheckResponse = NoMessageCheckResponse
