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

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import google.protobuf.wrappers_pb2
import protos.v1.models.HostModels_pb2
import protos.v1.models.OrcModels_pb2
import sys
import typing

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

    MODELNAME_FIELD_NUMBER: builtins.int
    DIRECTCONNECTREQUIRED_FIELD_NUMBER: builtins.int
    PREFERREDHOSTNAMES_FIELD_NUMBER: builtins.int
    PREFERREDREGION_FIELD_NUMBER: builtins.int
    NETWORKNAME_FIELD_NUMBER: builtins.int
    HOSTID_FIELD_NUMBER: builtins.int
    ModelName: builtins.str
    DirectConnectRequired: builtins.bool
    @property
    def PreferredHostNames(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.protobuf.wrappers_pb2.StringValue
    ]: ...
    @property
    def PreferredRegion(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def NetworkName(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def HostId(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    def __init__(
        self,
        *,
        ModelName: builtins.str = ...,
        DirectConnectRequired: builtins.bool = ...,
        PreferredHostNames: (
            collections.abc.Iterable[google.protobuf.wrappers_pb2.StringValue] | None
        ) = ...,
        PreferredRegion: google.protobuf.wrappers_pb2.StringValue | None = ...,
        NetworkName: google.protobuf.wrappers_pb2.StringValue | None = ...,
        HostId: google.protobuf.wrappers_pb2.StringValue | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing.Literal[
            "HostId",
            b"HostId",
            "NetworkName",
            b"NetworkName",
            "PreferredRegion",
            b"PreferredRegion",
            "_HostId",
            b"_HostId",
            "_NetworkName",
            b"_NetworkName",
            "_PreferredRegion",
            b"_PreferredRegion",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing.Literal[
            "DirectConnectRequired",
            b"DirectConnectRequired",
            "HostId",
            b"HostId",
            "ModelName",
            b"ModelName",
            "NetworkName",
            b"NetworkName",
            "PreferredHostNames",
            b"PreferredHostNames",
            "PreferredRegion",
            b"PreferredRegion",
            "_HostId",
            b"_HostId",
            "_NetworkName",
            b"_NetworkName",
            "_PreferredRegion",
            b"_PreferredRegion",
        ],
    ) -> None: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing.Literal["_HostId", b"_HostId"]
    ) -> typing.Literal["HostId"] | None: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing.Literal["_NetworkName", b"_NetworkName"]
    ) -> typing.Literal["NetworkName"] | None: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing.Literal["_PreferredRegion", b"_PreferredRegion"]
    ) -> typing.Literal["PreferredRegion"] | None: ...

Global___CreateSessionRequest: typing_extensions.TypeAlias = CreateSessionRequest

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

    ID_FIELD_NUMBER: builtins.int
    SUCCESS_FIELD_NUMBER: builtins.int
    HOST_FIELD_NUMBER: builtins.int
    MOVETOORC_FIELD_NUMBER: builtins.int
    Id: builtins.str
    Success: builtins.bool
    @property
    def Host(self) -> protos.v1.models.HostModels_pb2.Host: ...
    @property
    def MoveToOrc(self) -> protos.v1.models.OrcModels_pb2.Orchestrator: ...
    def __init__(
        self,
        *,
        Id: builtins.str = ...,
        Success: builtins.bool = ...,
        Host: protos.v1.models.HostModels_pb2.Host | None = ...,
        MoveToOrc: protos.v1.models.OrcModels_pb2.Orchestrator | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing.Literal[
            "Host",
            b"Host",
            "MoveToOrc",
            b"MoveToOrc",
            "_Host",
            b"_Host",
            "_MoveToOrc",
            b"_MoveToOrc",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing.Literal[
            "Host",
            b"Host",
            "Id",
            b"Id",
            "MoveToOrc",
            b"MoveToOrc",
            "Success",
            b"Success",
            "_Host",
            b"_Host",
            "_MoveToOrc",
            b"_MoveToOrc",
        ],
    ) -> None: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing.Literal["_Host", b"_Host"]
    ) -> typing.Literal["Host"] | None: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing.Literal["_MoveToOrc", b"_MoveToOrc"]
    ) -> typing.Literal["MoveToOrc"] | None: ...

Global___CreateSessionResponse: typing_extensions.TypeAlias = CreateSessionResponse

@typing.final
class ClaimSessionRequest(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.Literal["Id", b"Id"]) -> None: ...

Global___ClaimSessionRequest: typing_extensions.TypeAlias = ClaimSessionRequest

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

    SUCCESS_FIELD_NUMBER: builtins.int
    MODELNAME_FIELD_NUMBER: builtins.int
    Success: builtins.bool
    @property
    def ModelName(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    def __init__(
        self,
        *,
        Success: builtins.bool = ...,
        ModelName: google.protobuf.wrappers_pb2.StringValue | None = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing.Literal["ModelName", b"ModelName"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing.Literal["ModelName", b"ModelName", "Success", b"Success"],
    ) -> None: ...

Global___ClaimSessionResponse: typing_extensions.TypeAlias = ClaimSessionResponse

@typing.final
class CloseSessionRequest(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.Literal["Id", b"Id"]) -> None: ...

Global___CloseSessionRequest: typing_extensions.TypeAlias = CloseSessionRequest

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

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

Global___CloseSessionResponse: typing_extensions.TypeAlias = CloseSessionResponse

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

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

Global___ConnectRequest: typing_extensions.TypeAlias = ConnectRequest

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

    ID_FIELD_NUMBER: builtins.int
    HASCAPACITY_FIELD_NUMBER: builtins.int
    ALREADYCONNECTED_FIELD_NUMBER: builtins.int
    Id: builtins.str
    HasCapacity: builtins.bool
    AlreadyConnected: builtins.bool
    def __init__(
        self,
        *,
        Id: builtins.str = ...,
        HasCapacity: builtins.bool = ...,
        AlreadyConnected: builtins.bool = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing.Literal[
            "AlreadyConnected",
            b"AlreadyConnected",
            "HasCapacity",
            b"HasCapacity",
            "Id",
            b"Id",
        ],
    ) -> None: ...

Global___ConnectResponse: typing_extensions.TypeAlias = ConnectResponse
