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

from .types_pb2 import *
class ABCIApplicationStub:
    def __init__(self, channel: grpc.Channel) -> None: ...
    Echo:grpc.UnaryUnaryMultiCallable[
        global___RequestEcho,
        global___ResponseEcho] = ...

    Flush:grpc.UnaryUnaryMultiCallable[
        global___RequestFlush,
        global___ResponseFlush] = ...

    Info:grpc.UnaryUnaryMultiCallable[
        global___RequestInfo,
        global___ResponseInfo] = ...

    SetOption:grpc.UnaryUnaryMultiCallable[
        global___RequestSetOption,
        global___ResponseSetOption] = ...

    DeliverTx:grpc.UnaryUnaryMultiCallable[
        global___RequestDeliverTx,
        global___ResponseDeliverTx] = ...

    CheckTx:grpc.UnaryUnaryMultiCallable[
        global___RequestCheckTx,
        global___ResponseCheckTx] = ...

    Query:grpc.UnaryUnaryMultiCallable[
        global___RequestQuery,
        global___ResponseQuery] = ...

    Commit:grpc.UnaryUnaryMultiCallable[
        global___RequestCommit,
        global___ResponseCommit] = ...

    InitChain:grpc.UnaryUnaryMultiCallable[
        global___RequestInitChain,
        global___ResponseInitChain] = ...

    BeginBlock:grpc.UnaryUnaryMultiCallable[
        global___RequestBeginBlock,
        global___ResponseBeginBlock] = ...

    EndBlock:grpc.UnaryUnaryMultiCallable[
        global___RequestEndBlock,
        global___ResponseEndBlock] = ...

    ListSnapshots:grpc.UnaryUnaryMultiCallable[
        global___RequestListSnapshots,
        global___ResponseListSnapshots] = ...

    OfferSnapshot:grpc.UnaryUnaryMultiCallable[
        global___RequestOfferSnapshot,
        global___ResponseOfferSnapshot] = ...

    LoadSnapshotChunk:grpc.UnaryUnaryMultiCallable[
        global___RequestLoadSnapshotChunk,
        global___ResponseLoadSnapshotChunk] = ...

    ApplySnapshotChunk:grpc.UnaryUnaryMultiCallable[
        global___RequestApplySnapshotChunk,
        global___ResponseApplySnapshotChunk] = ...


class ABCIApplicationServicer(metaclass=abc.ABCMeta):
    @abc.abstractmethod
    def Echo(self,
        request: global___RequestEcho,
        context: grpc.ServicerContext,
    ) -> global___ResponseEcho: ...

    @abc.abstractmethod
    def Flush(self,
        request: global___RequestFlush,
        context: grpc.ServicerContext,
    ) -> global___ResponseFlush: ...

    @abc.abstractmethod
    def Info(self,
        request: global___RequestInfo,
        context: grpc.ServicerContext,
    ) -> global___ResponseInfo: ...

    @abc.abstractmethod
    def SetOption(self,
        request: global___RequestSetOption,
        context: grpc.ServicerContext,
    ) -> global___ResponseSetOption: ...

    @abc.abstractmethod
    def DeliverTx(self,
        request: global___RequestDeliverTx,
        context: grpc.ServicerContext,
    ) -> global___ResponseDeliverTx: ...

    @abc.abstractmethod
    def CheckTx(self,
        request: global___RequestCheckTx,
        context: grpc.ServicerContext,
    ) -> global___ResponseCheckTx: ...

    @abc.abstractmethod
    def Query(self,
        request: global___RequestQuery,
        context: grpc.ServicerContext,
    ) -> global___ResponseQuery: ...

    @abc.abstractmethod
    def Commit(self,
        request: global___RequestCommit,
        context: grpc.ServicerContext,
    ) -> global___ResponseCommit: ...

    @abc.abstractmethod
    def InitChain(self,
        request: global___RequestInitChain,
        context: grpc.ServicerContext,
    ) -> global___ResponseInitChain: ...

    @abc.abstractmethod
    def BeginBlock(self,
        request: global___RequestBeginBlock,
        context: grpc.ServicerContext,
    ) -> global___ResponseBeginBlock: ...

    @abc.abstractmethod
    def EndBlock(self,
        request: global___RequestEndBlock,
        context: grpc.ServicerContext,
    ) -> global___ResponseEndBlock: ...

    @abc.abstractmethod
    def ListSnapshots(self,
        request: global___RequestListSnapshots,
        context: grpc.ServicerContext,
    ) -> global___ResponseListSnapshots: ...

    @abc.abstractmethod
    def OfferSnapshot(self,
        request: global___RequestOfferSnapshot,
        context: grpc.ServicerContext,
    ) -> global___ResponseOfferSnapshot: ...

    @abc.abstractmethod
    def LoadSnapshotChunk(self,
        request: global___RequestLoadSnapshotChunk,
        context: grpc.ServicerContext,
    ) -> global___ResponseLoadSnapshotChunk: ...

    @abc.abstractmethod
    def ApplySnapshotChunk(self,
        request: global___RequestApplySnapshotChunk,
        context: grpc.ServicerContext,
    ) -> global___ResponseApplySnapshotChunk: ...


def add_ABCIApplicationServicer_to_server(servicer: ABCIApplicationServicer, server: grpc.Server) -> None: ...
