"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import abc
import collections.abc
import grpc
import prodvana.proto.prodvana.deployment.manager_pb2

class DeploymentManagerStub:
    def __init__(self, channel: grpc.Channel) -> None: ...
    RecordDeployment: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.deployment.manager_pb2.RecordDeploymentReq,
        prodvana.proto.prodvana.deployment.manager_pb2.RecordDeploymentResp,
    ]
    UpdateDeploymentStatus: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.deployment.manager_pb2.UpdateDeploymentStatusReq,
        prodvana.proto.prodvana.deployment.manager_pb2.UpdateDeploymentStatusResp,
    ]
    ListDeployments: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.deployment.manager_pb2.ListDeploymentsReq,
        prodvana.proto.prodvana.deployment.manager_pb2.ListDeploymentsResp,
    ]
    ListDeploymentsStream: grpc.UnaryStreamMultiCallable[
        prodvana.proto.prodvana.deployment.manager_pb2.ListDeploymentsReq,
        prodvana.proto.prodvana.deployment.manager_pb2.ListDeploymentsResp,
    ]
    """page tokens arguments are ignored here"""
    CompareDeployment: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.deployment.manager_pb2.CompareDeploymentReq,
        prodvana.proto.prodvana.deployment.manager_pb2.CompareDeploymentResp,
    ]
    PreviewDeployment: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.deployment.manager_pb2.PreviewDeploymentReq,
        prodvana.proto.prodvana.deployment.manager_pb2.PreviewDeploymentResp,
    ]
    GetLatestDeployments: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.deployment.manager_pb2.GetLatestDeploymentsReq,
        prodvana.proto.prodvana.deployment.manager_pb2.GetLatestDeploymentsResp,
    ]
    """returns the latest deployments for each (application, service, deployment channel) tuple."""
    CheckCommitInDeployment: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.deployment.manager_pb2.CheckCommitInDeploymentReq,
        prodvana.proto.prodvana.deployment.manager_pb2.CheckCommitInDeploymentResp,
    ]

class DeploymentManagerServicer(metaclass=abc.ABCMeta):
    @abc.abstractmethod
    def RecordDeployment(
        self,
        request: prodvana.proto.prodvana.deployment.manager_pb2.RecordDeploymentReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.deployment.manager_pb2.RecordDeploymentResp: ...
    @abc.abstractmethod
    def UpdateDeploymentStatus(
        self,
        request: prodvana.proto.prodvana.deployment.manager_pb2.UpdateDeploymentStatusReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.deployment.manager_pb2.UpdateDeploymentStatusResp: ...
    @abc.abstractmethod
    def ListDeployments(
        self,
        request: prodvana.proto.prodvana.deployment.manager_pb2.ListDeploymentsReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.deployment.manager_pb2.ListDeploymentsResp: ...
    @abc.abstractmethod
    def ListDeploymentsStream(
        self,
        request: prodvana.proto.prodvana.deployment.manager_pb2.ListDeploymentsReq,
        context: grpc.ServicerContext,
    ) -> collections.abc.Iterator[prodvana.proto.prodvana.deployment.manager_pb2.ListDeploymentsResp]:
        """page tokens arguments are ignored here"""
    @abc.abstractmethod
    def CompareDeployment(
        self,
        request: prodvana.proto.prodvana.deployment.manager_pb2.CompareDeploymentReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.deployment.manager_pb2.CompareDeploymentResp: ...
    @abc.abstractmethod
    def PreviewDeployment(
        self,
        request: prodvana.proto.prodvana.deployment.manager_pb2.PreviewDeploymentReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.deployment.manager_pb2.PreviewDeploymentResp: ...
    @abc.abstractmethod
    def GetLatestDeployments(
        self,
        request: prodvana.proto.prodvana.deployment.manager_pb2.GetLatestDeploymentsReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.deployment.manager_pb2.GetLatestDeploymentsResp:
        """returns the latest deployments for each (application, service, deployment channel) tuple."""
    @abc.abstractmethod
    def CheckCommitInDeployment(
        self,
        request: prodvana.proto.prodvana.deployment.manager_pb2.CheckCommitInDeploymentReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.deployment.manager_pb2.CheckCommitInDeploymentResp: ...

def add_DeploymentManagerServicer_to_server(servicer: DeploymentManagerServicer, server: grpc.Server) -> None: ...
