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

from abc import (
    ABCMeta,
    abstractmethod,
)
from chalk._gen.chalk.server.v1.monitoring_pb2 import (
    AddIncidentIoIntegrationRequest,
    AddIncidentIoIntegrationResponse,
    AddPagerDutyIntegrationRequest,
    AddPagerDutyIntegrationResponse,
    DeleteIncidentIoIntegrationRequest,
    DeleteIncidentIoIntegrationResponse,
    DeletePagerDutyIntegrationRequest,
    DeletePagerDutyIntegrationResponse,
    GetAllIncidentIoIntegrationsRequest,
    GetAllIncidentIoIntegrationsResponse,
    GetAllPagerDutyIntegrationsRequest,
    GetAllPagerDutyIntegrationsResponse,
    GetIncidentIoIntegrationRequest,
    GetIncidentIoIntegrationResponse,
    GetPagerDutyIntegrationRequest,
    GetPagerDutyIntegrationResponse,
    SetDefaultPagerDutyIntegrationRequest,
    SetDefaultPagerDutyIntegrationResponse,
    TestIncidentIoIntegrationRequest,
    TestIncidentIoIntegrationResponse,
    TestPagerDutyIntegrationRequest,
    TestPagerDutyIntegrationResponse,
    UpdateIncidentIoIntegrationRequest,
    UpdateIncidentIoIntegrationResponse,
    UpdatePagerDutyIntegrationRequest,
    UpdatePagerDutyIntegrationResponse,
)
from grpc import (
    Channel,
    Server,
    ServicerContext,
    UnaryUnaryMultiCallable,
)

class MonitoringServiceStub:
    def __init__(self, channel: Channel) -> None: ...
    TestPagerDutyIntegration: UnaryUnaryMultiCallable[
        TestPagerDutyIntegrationRequest,
        TestPagerDutyIntegrationResponse,
    ]
    AddPagerDutyIntegration: UnaryUnaryMultiCallable[
        AddPagerDutyIntegrationRequest,
        AddPagerDutyIntegrationResponse,
    ]
    DeletePagerDutyIntegration: UnaryUnaryMultiCallable[
        DeletePagerDutyIntegrationRequest,
        DeletePagerDutyIntegrationResponse,
    ]
    SetDefaultPagerDutyIntegration: UnaryUnaryMultiCallable[
        SetDefaultPagerDutyIntegrationRequest,
        SetDefaultPagerDutyIntegrationResponse,
    ]
    UpdatePagerDutyIntegration: UnaryUnaryMultiCallable[
        UpdatePagerDutyIntegrationRequest,
        UpdatePagerDutyIntegrationResponse,
    ]
    GetAllPagerDutyIntegrations: UnaryUnaryMultiCallable[
        GetAllPagerDutyIntegrationsRequest,
        GetAllPagerDutyIntegrationsResponse,
    ]
    GetPagerDutyIntegration: UnaryUnaryMultiCallable[
        GetPagerDutyIntegrationRequest,
        GetPagerDutyIntegrationResponse,
    ]
    TestIncidentIoIntegration: UnaryUnaryMultiCallable[
        TestIncidentIoIntegrationRequest,
        TestIncidentIoIntegrationResponse,
    ]
    AddIncidentIoIntegration: UnaryUnaryMultiCallable[
        AddIncidentIoIntegrationRequest,
        AddIncidentIoIntegrationResponse,
    ]
    DeleteIncidentIoIntegration: UnaryUnaryMultiCallable[
        DeleteIncidentIoIntegrationRequest,
        DeleteIncidentIoIntegrationResponse,
    ]
    UpdateIncidentIoIntegration: UnaryUnaryMultiCallable[
        UpdateIncidentIoIntegrationRequest,
        UpdateIncidentIoIntegrationResponse,
    ]
    GetAllIncidentIoIntegrations: UnaryUnaryMultiCallable[
        GetAllIncidentIoIntegrationsRequest,
        GetAllIncidentIoIntegrationsResponse,
    ]
    GetIncidentIoIntegration: UnaryUnaryMultiCallable[
        GetIncidentIoIntegrationRequest,
        GetIncidentIoIntegrationResponse,
    ]

class MonitoringServiceServicer(metaclass=ABCMeta):
    @abstractmethod
    def TestPagerDutyIntegration(
        self,
        request: TestPagerDutyIntegrationRequest,
        context: ServicerContext,
    ) -> TestPagerDutyIntegrationResponse: ...
    @abstractmethod
    def AddPagerDutyIntegration(
        self,
        request: AddPagerDutyIntegrationRequest,
        context: ServicerContext,
    ) -> AddPagerDutyIntegrationResponse: ...
    @abstractmethod
    def DeletePagerDutyIntegration(
        self,
        request: DeletePagerDutyIntegrationRequest,
        context: ServicerContext,
    ) -> DeletePagerDutyIntegrationResponse: ...
    @abstractmethod
    def SetDefaultPagerDutyIntegration(
        self,
        request: SetDefaultPagerDutyIntegrationRequest,
        context: ServicerContext,
    ) -> SetDefaultPagerDutyIntegrationResponse: ...
    @abstractmethod
    def UpdatePagerDutyIntegration(
        self,
        request: UpdatePagerDutyIntegrationRequest,
        context: ServicerContext,
    ) -> UpdatePagerDutyIntegrationResponse: ...
    @abstractmethod
    def GetAllPagerDutyIntegrations(
        self,
        request: GetAllPagerDutyIntegrationsRequest,
        context: ServicerContext,
    ) -> GetAllPagerDutyIntegrationsResponse: ...
    @abstractmethod
    def GetPagerDutyIntegration(
        self,
        request: GetPagerDutyIntegrationRequest,
        context: ServicerContext,
    ) -> GetPagerDutyIntegrationResponse: ...
    @abstractmethod
    def TestIncidentIoIntegration(
        self,
        request: TestIncidentIoIntegrationRequest,
        context: ServicerContext,
    ) -> TestIncidentIoIntegrationResponse: ...
    @abstractmethod
    def AddIncidentIoIntegration(
        self,
        request: AddIncidentIoIntegrationRequest,
        context: ServicerContext,
    ) -> AddIncidentIoIntegrationResponse: ...
    @abstractmethod
    def DeleteIncidentIoIntegration(
        self,
        request: DeleteIncidentIoIntegrationRequest,
        context: ServicerContext,
    ) -> DeleteIncidentIoIntegrationResponse: ...
    @abstractmethod
    def UpdateIncidentIoIntegration(
        self,
        request: UpdateIncidentIoIntegrationRequest,
        context: ServicerContext,
    ) -> UpdateIncidentIoIntegrationResponse: ...
    @abstractmethod
    def GetAllIncidentIoIntegrations(
        self,
        request: GetAllIncidentIoIntegrationsRequest,
        context: ServicerContext,
    ) -> GetAllIncidentIoIntegrationsResponse: ...
    @abstractmethod
    def GetIncidentIoIntegration(
        self,
        request: GetIncidentIoIntegrationRequest,
        context: ServicerContext,
    ) -> GetIncidentIoIntegrationResponse: ...

def add_MonitoringServiceServicer_to_server(servicer: MonitoringServiceServicer, server: Server) -> None: ...
