"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
Copyright 2025 Flower Labs GmbH. All Rights Reserved.

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 flwr.proto.fab_pb2
import flwr.proto.message_pb2
import flwr.proto.run_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import typing

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class ListAppsToLaunchRequest(google.protobuf.message.Message):
    """These messages are used by both ServerAppIo and ClientAppIo services

    ListAppsToLaunch messages
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___ListAppsToLaunchRequest = ListAppsToLaunchRequest

@typing.final
class ListAppsToLaunchResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RUN_IDS_FIELD_NUMBER: builtins.int
    @property
    def run_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]:
        """List of run IDs of the apps to launch"""

    def __init__(
        self,
        *,
        run_ids: collections.abc.Iterable[builtins.int] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["run_ids", b"run_ids"]) -> None: ...

global___ListAppsToLaunchResponse = ListAppsToLaunchResponse

@typing.final
class RequestTokenRequest(google.protobuf.message.Message):
    """RequestToken messages"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RUN_ID_FIELD_NUMBER: builtins.int
    run_id: builtins.int
    def __init__(
        self,
        *,
        run_id: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["run_id", b"run_id"]) -> None: ...

global___RequestTokenRequest = RequestTokenRequest

@typing.final
class RequestTokenResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TOKEN_FIELD_NUMBER: builtins.int
    token: builtins.str
    def __init__(
        self,
        *,
        token: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["token", b"token"]) -> None: ...

global___RequestTokenResponse = RequestTokenResponse

@typing.final
class PushAppMessagesRequest(google.protobuf.message.Message):
    """PushAppMessages messages"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TOKEN_FIELD_NUMBER: builtins.int
    MESSAGES_LIST_FIELD_NUMBER: builtins.int
    RUN_ID_FIELD_NUMBER: builtins.int
    MESSAGE_OBJECT_TREES_FIELD_NUMBER: builtins.int
    token: builtins.str
    run_id: builtins.int
    @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,
        *,
        token: builtins.str = ...,
        messages_list: collections.abc.Iterable[flwr.proto.message_pb2.Message] | None = ...,
        run_id: builtins.int = ...,
        message_object_trees: collections.abc.Iterable[flwr.proto.message_pb2.ObjectTree] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["message_object_trees", b"message_object_trees", "messages_list", b"messages_list", "run_id", b"run_id", "token", b"token"]) -> None: ...

global___PushAppMessagesRequest = PushAppMessagesRequest

@typing.final
class PushAppMessagesResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MESSAGE_IDS_FIELD_NUMBER: builtins.int
    OBJECTS_TO_PUSH_FIELD_NUMBER: builtins.int
    @property
    def message_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def objects_to_push(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        message_ids: collections.abc.Iterable[builtins.str] | None = ...,
        objects_to_push: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["message_ids", b"message_ids", "objects_to_push", b"objects_to_push"]) -> None: ...

global___PushAppMessagesResponse = PushAppMessagesResponse

@typing.final
class PullAppMessagesRequest(google.protobuf.message.Message):
    """PullAppMessages messages"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TOKEN_FIELD_NUMBER: builtins.int
    MESSAGE_IDS_FIELD_NUMBER: builtins.int
    RUN_ID_FIELD_NUMBER: builtins.int
    token: builtins.str
    run_id: builtins.int
    @property
    def message_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        token: builtins.str = ...,
        message_ids: collections.abc.Iterable[builtins.str] | None = ...,
        run_id: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["message_ids", b"message_ids", "run_id", b"run_id", "token", b"token"]) -> None: ...

global___PullAppMessagesRequest = PullAppMessagesRequest

@typing.final
class PullAppMessagesResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MESSAGES_LIST_FIELD_NUMBER: builtins.int
    MESSAGE_OBJECT_TREES_FIELD_NUMBER: builtins.int
    @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,
        *,
        messages_list: collections.abc.Iterable[flwr.proto.message_pb2.Message] | None = ...,
        message_object_trees: collections.abc.Iterable[flwr.proto.message_pb2.ObjectTree] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["message_object_trees", b"message_object_trees", "messages_list", b"messages_list"]) -> None: ...

global___PullAppMessagesResponse = PullAppMessagesResponse

@typing.final
class PullAppInputsRequest(google.protobuf.message.Message):
    """PullAppInputs messages"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TOKEN_FIELD_NUMBER: builtins.int
    token: builtins.str
    def __init__(
        self,
        *,
        token: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["token", b"token"]) -> None: ...

global___PullAppInputsRequest = PullAppInputsRequest

@typing.final
class PullAppInputsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CONTEXT_FIELD_NUMBER: builtins.int
    RUN_FIELD_NUMBER: builtins.int
    FAB_FIELD_NUMBER: builtins.int
    @property
    def context(self) -> flwr.proto.message_pb2.Context: ...
    @property
    def run(self) -> flwr.proto.run_pb2.Run: ...
    @property
    def fab(self) -> flwr.proto.fab_pb2.Fab: ...
    def __init__(
        self,
        *,
        context: flwr.proto.message_pb2.Context | None = ...,
        run: flwr.proto.run_pb2.Run | None = ...,
        fab: flwr.proto.fab_pb2.Fab | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["context", b"context", "fab", b"fab", "run", b"run"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["context", b"context", "fab", b"fab", "run", b"run"]) -> None: ...

global___PullAppInputsResponse = PullAppInputsResponse

@typing.final
class PushAppOutputsRequest(google.protobuf.message.Message):
    """PushAppInputs messages"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TOKEN_FIELD_NUMBER: builtins.int
    RUN_ID_FIELD_NUMBER: builtins.int
    CONTEXT_FIELD_NUMBER: builtins.int
    token: builtins.str
    run_id: builtins.int
    @property
    def context(self) -> flwr.proto.message_pb2.Context: ...
    def __init__(
        self,
        *,
        token: builtins.str = ...,
        run_id: builtins.int = ...,
        context: flwr.proto.message_pb2.Context | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["context", b"context"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["context", b"context", "run_id", b"run_id", "token", b"token"]) -> None: ...

global___PushAppOutputsRequest = PushAppOutputsRequest

@typing.final
class PushAppOutputsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___PushAppOutputsResponse = PushAppOutputsResponse
