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

from abc import (
    ABCMeta,
    abstractmethod,
)
from chalk._gen.chalk.server.v1.topicpush_pb2 import (
    CreateJobRequest,
    CreateJobResponse,
    DeleteJobRequest,
    DeleteJobResponse,
    GetJobByNameRequest,
    GetJobByNameResponse,
    ListJobsRequest,
    ListJobsResponse,
    UpdateJobRequest,
    UpdateJobResponse,
)
from grpc import (
    Channel,
    Server,
    ServicerContext,
    UnaryUnaryMultiCallable,
)

class TopicPushServiceStub:
    def __init__(self, channel: Channel) -> None: ...
    ListJobs: UnaryUnaryMultiCallable[
        ListJobsRequest,
        ListJobsResponse,
    ]
    CreateJob: UnaryUnaryMultiCallable[
        CreateJobRequest,
        CreateJobResponse,
    ]
    UpdateJob: UnaryUnaryMultiCallable[
        UpdateJobRequest,
        UpdateJobResponse,
    ]
    DeleteJob: UnaryUnaryMultiCallable[
        DeleteJobRequest,
        DeleteJobResponse,
    ]
    GetJobByName: UnaryUnaryMultiCallable[
        GetJobByNameRequest,
        GetJobByNameResponse,
    ]

class TopicPushServiceServicer(metaclass=ABCMeta):
    @abstractmethod
    def ListJobs(
        self,
        request: ListJobsRequest,
        context: ServicerContext,
    ) -> ListJobsResponse: ...
    @abstractmethod
    def CreateJob(
        self,
        request: CreateJobRequest,
        context: ServicerContext,
    ) -> CreateJobResponse: ...
    @abstractmethod
    def UpdateJob(
        self,
        request: UpdateJobRequest,
        context: ServicerContext,
    ) -> UpdateJobResponse: ...
    @abstractmethod
    def DeleteJob(
        self,
        request: DeleteJobRequest,
        context: ServicerContext,
    ) -> DeleteJobResponse: ...
    @abstractmethod
    def GetJobByName(
        self,
        request: GetJobByNameRequest,
        context: ServicerContext,
    ) -> GetJobByNameResponse: ...

def add_TopicPushServiceServicer_to_server(servicer: TopicPushServiceServicer, server: Server) -> None: ...
