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

from .tx_pb2 import *
class MsgStub:
    def __init__(self, channel: grpc.Channel) -> None: ...
    RequestData:grpc.UnaryUnaryMultiCallable[
        global___MsgRequestData,
        global___MsgRequestDataResponse] = ...

    ReportData:grpc.UnaryUnaryMultiCallable[
        global___MsgReportData,
        global___MsgReportDataResponse] = ...

    CreateDataSource:grpc.UnaryUnaryMultiCallable[
        global___MsgCreateDataSource,
        global___MsgCreateDataSourceResponse] = ...

    EditDataSource:grpc.UnaryUnaryMultiCallable[
        global___MsgEditDataSource,
        global___MsgEditDataSourceResponse] = ...

    CreateOracleScript:grpc.UnaryUnaryMultiCallable[
        global___MsgCreateOracleScript,
        global___MsgCreateOracleScriptResponse] = ...

    EditOracleScript:grpc.UnaryUnaryMultiCallable[
        global___MsgEditOracleScript,
        global___MsgEditOracleScriptResponse] = ...

    Activate:grpc.UnaryUnaryMultiCallable[
        global___MsgActivate,
        global___MsgActivateResponse] = ...

    AddReporter:grpc.UnaryUnaryMultiCallable[
        global___MsgAddReporter,
        global___MsgAddReporterResponse] = ...

    RemoveReporter:grpc.UnaryUnaryMultiCallable[
        global___MsgRemoveReporter,
        global___MsgRemoveReporterResponse] = ...


class MsgServicer(metaclass=abc.ABCMeta):
    @abc.abstractmethod
    def RequestData(self,
        request: global___MsgRequestData,
        context: grpc.ServicerContext,
    ) -> global___MsgRequestDataResponse: ...

    @abc.abstractmethod
    def ReportData(self,
        request: global___MsgReportData,
        context: grpc.ServicerContext,
    ) -> global___MsgReportDataResponse: ...

    @abc.abstractmethod
    def CreateDataSource(self,
        request: global___MsgCreateDataSource,
        context: grpc.ServicerContext,
    ) -> global___MsgCreateDataSourceResponse: ...

    @abc.abstractmethod
    def EditDataSource(self,
        request: global___MsgEditDataSource,
        context: grpc.ServicerContext,
    ) -> global___MsgEditDataSourceResponse: ...

    @abc.abstractmethod
    def CreateOracleScript(self,
        request: global___MsgCreateOracleScript,
        context: grpc.ServicerContext,
    ) -> global___MsgCreateOracleScriptResponse: ...

    @abc.abstractmethod
    def EditOracleScript(self,
        request: global___MsgEditOracleScript,
        context: grpc.ServicerContext,
    ) -> global___MsgEditOracleScriptResponse: ...

    @abc.abstractmethod
    def Activate(self,
        request: global___MsgActivate,
        context: grpc.ServicerContext,
    ) -> global___MsgActivateResponse: ...

    @abc.abstractmethod
    def AddReporter(self,
        request: global___MsgAddReporter,
        context: grpc.ServicerContext,
    ) -> global___MsgAddReporterResponse: ...

    @abc.abstractmethod
    def RemoveReporter(self,
        request: global___MsgRemoveReporter,
        context: grpc.ServicerContext,
    ) -> global___MsgRemoveReporterResponse: ...


def add_MsgServicer_to_server(servicer: MsgServicer, server: grpc.Server) -> None: ...
