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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class CreateNodeRequest(google.protobuf.message.Message):
    """CreateNode messages"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    HEARTBEAT_INTERVAL_FIELD_NUMBER: builtins.int
    heartbeat_interval: builtins.float
    def __init__(self,
        *,
        heartbeat_interval: builtins.float = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["heartbeat_interval",b"heartbeat_interval"]) -> None: ...
global___CreateNodeRequest = CreateNodeRequest

class CreateNodeResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    NODE_FIELD_NUMBER: builtins.int
    @property
    def node(self) -> flwr.proto.node_pb2.Node: ...
    def __init__(self,
        *,
        node: typing.Optional[flwr.proto.node_pb2.Node] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["node",b"node"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["node",b"node"]) -> None: ...
global___CreateNodeResponse = CreateNodeResponse

class DeleteNodeRequest(google.protobuf.message.Message):
    """DeleteNode messages"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    NODE_FIELD_NUMBER: builtins.int
    @property
    def node(self) -> flwr.proto.node_pb2.Node: ...
    def __init__(self,
        *,
        node: typing.Optional[flwr.proto.node_pb2.Node] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["node",b"node"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["node",b"node"]) -> None: ...
global___DeleteNodeRequest = DeleteNodeRequest

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

class PullMessagesRequest(google.protobuf.message.Message):
    """PullMessages messages"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    NODE_FIELD_NUMBER: builtins.int
    MESSAGE_IDS_FIELD_NUMBER: builtins.int
    @property
    def node(self) -> flwr.proto.node_pb2.Node: ...
    @property
    def message_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
    def __init__(self,
        *,
        node: typing.Optional[flwr.proto.node_pb2.Node] = ...,
        message_ids: typing.Optional[typing.Iterable[typing.Text]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["node",b"node"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["message_ids",b"message_ids","node",b"node"]) -> None: ...
global___PullMessagesRequest = PullMessagesRequest

class PullMessagesResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    RECONNECT_FIELD_NUMBER: builtins.int
    MESSAGES_LIST_FIELD_NUMBER: builtins.int
    MESSAGE_OBJECT_TREES_FIELD_NUMBER: builtins.int
    @property
    def reconnect(self) -> global___Reconnect: ...
    @property
    def messages_list(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[flwr.proto.message_pb2.Message]: ...
    @property
    def message_object_trees(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[flwr.proto.message_pb2.ObjectTree]: ...
    def __init__(self,
        *,
        reconnect: typing.Optional[global___Reconnect] = ...,
        messages_list: typing.Optional[typing.Iterable[flwr.proto.message_pb2.Message]] = ...,
        message_object_trees: typing.Optional[typing.Iterable[flwr.proto.message_pb2.ObjectTree]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["reconnect",b"reconnect"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["message_object_trees",b"message_object_trees","messages_list",b"messages_list","reconnect",b"reconnect"]) -> None: ...
global___PullMessagesResponse = PullMessagesResponse

class PushMessagesRequest(google.protobuf.message.Message):
    """PushMessages messages"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    NODE_FIELD_NUMBER: builtins.int
    MESSAGES_LIST_FIELD_NUMBER: builtins.int
    MESSAGE_OBJECT_TREES_FIELD_NUMBER: builtins.int
    @property
    def node(self) -> flwr.proto.node_pb2.Node: ...
    @property
    def messages_list(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[flwr.proto.message_pb2.Message]: ...
    @property
    def message_object_trees(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[flwr.proto.message_pb2.ObjectTree]: ...
    def __init__(self,
        *,
        node: typing.Optional[flwr.proto.node_pb2.Node] = ...,
        messages_list: typing.Optional[typing.Iterable[flwr.proto.message_pb2.Message]] = ...,
        message_object_trees: typing.Optional[typing.Iterable[flwr.proto.message_pb2.ObjectTree]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["node",b"node"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["message_object_trees",b"message_object_trees","messages_list",b"messages_list","node",b"node"]) -> None: ...
global___PushMessagesRequest = PushMessagesRequest

class PushMessagesResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    class ResultsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor
        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: typing.Text
        value: builtins.int
        def __init__(self,
            *,
            key: typing.Text = ...,
            value: builtins.int = ...,
            ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...

    RECONNECT_FIELD_NUMBER: builtins.int
    RESULTS_FIELD_NUMBER: builtins.int
    OBJECTS_TO_PUSH_FIELD_NUMBER: builtins.int
    @property
    def reconnect(self) -> global___Reconnect: ...
    @property
    def results(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, builtins.int]: ...
    @property
    def objects_to_push(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
    def __init__(self,
        *,
        reconnect: typing.Optional[global___Reconnect] = ...,
        results: typing.Optional[typing.Mapping[typing.Text, builtins.int]] = ...,
        objects_to_push: typing.Optional[typing.Iterable[typing.Text]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["reconnect",b"reconnect"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["objects_to_push",b"objects_to_push","reconnect",b"reconnect","results",b"results"]) -> None: ...
global___PushMessagesResponse = PushMessagesResponse

class Reconnect(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    RECONNECT_FIELD_NUMBER: builtins.int
    reconnect: builtins.int
    def __init__(self,
        *,
        reconnect: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["reconnect",b"reconnect"]) -> None: ...
global___Reconnect = Reconnect
