"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import avikom.assistance.service_configuration_pb2
import avikom.generic.peer_pb2
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class ServiceRequest(google.protobuf.message.Message):
    """*
    A request passed to `ServiceProviderService`.
    @author Alexander McService Neumann <alneuman@techfak.uni-bielefeld.de>
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TASK_ID_FIELD_NUMBER: builtins.int
    CONFIGURATION_FIELD_NUMBER: builtins.int
    PEERS_FIELD_NUMBER: builtins.int
    task_id: builtins.str
    """/ represents the task that is related to the service request"""
    @property
    def configuration(self) -> avikom.assistance.service_configuration_pb2.ServiceConfiguration:
        """/ service type and configuration parameters"""
    @property
    def peers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[avikom.generic.peer_pb2.Peer]:
        """/ a list of available peers that can be used to resolve the service request"""
    def __init__(
        self,
        *,
        task_id: builtins.str = ...,
        configuration: avikom.assistance.service_configuration_pb2.ServiceConfiguration | None = ...,
        peers: collections.abc.Iterable[avikom.generic.peer_pb2.Peer] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["configuration", b"configuration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["configuration", b"configuration", "peers", b"peers", "task_id", b"task_id"]) -> None: ...

global___ServiceRequest = ServiceRequest
