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

from abc import (
    ABCMeta,
    abstractmethod,
)
from chalk._gen.chalk.server.v1.webhook_pb2 import (
    CreateWebhookRequest,
    CreateWebhookResponse,
    DeleteWebhookRequest,
    DeleteWebhookResponse,
    GetWebhookRequest,
    GetWebhookResponse,
    ListWebhooksRequest,
    ListWebhooksResponse,
    UpdateWebhookRequest,
    UpdateWebhookResponse,
)
from grpc import (
    Channel,
    Server,
    ServicerContext,
    UnaryUnaryMultiCallable,
)

class WebhookServiceStub:
    def __init__(self, channel: Channel) -> None: ...
    CreateWebhook: UnaryUnaryMultiCallable[
        CreateWebhookRequest,
        CreateWebhookResponse,
    ]
    UpdateWebhook: UnaryUnaryMultiCallable[
        UpdateWebhookRequest,
        UpdateWebhookResponse,
    ]
    DeleteWebhook: UnaryUnaryMultiCallable[
        DeleteWebhookRequest,
        DeleteWebhookResponse,
    ]
    GetWebhook: UnaryUnaryMultiCallable[
        GetWebhookRequest,
        GetWebhookResponse,
    ]
    ListWebhooks: UnaryUnaryMultiCallable[
        ListWebhooksRequest,
        ListWebhooksResponse,
    ]

class WebhookServiceServicer(metaclass=ABCMeta):
    @abstractmethod
    def CreateWebhook(
        self,
        request: CreateWebhookRequest,
        context: ServicerContext,
    ) -> CreateWebhookResponse: ...
    @abstractmethod
    def UpdateWebhook(
        self,
        request: UpdateWebhookRequest,
        context: ServicerContext,
    ) -> UpdateWebhookResponse: ...
    @abstractmethod
    def DeleteWebhook(
        self,
        request: DeleteWebhookRequest,
        context: ServicerContext,
    ) -> DeleteWebhookResponse: ...
    @abstractmethod
    def GetWebhook(
        self,
        request: GetWebhookRequest,
        context: ServicerContext,
    ) -> GetWebhookResponse: ...
    @abstractmethod
    def ListWebhooks(
        self,
        request: ListWebhooksRequest,
        context: ServicerContext,
    ) -> ListWebhooksResponse: ...

def add_WebhookServiceServicer_to_server(servicer: WebhookServiceServicer, server: Server) -> None: ...
