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

from .query_pb2 import *
# Query provides defines the gRPC querier service
class QueryStub:
    def __init__(self, channel: grpc.Channel) -> None: ...
    # Channel queries an IBC Channel.
    Channel:grpc.UnaryUnaryMultiCallable[
        global___QueryChannelRequest,
        global___QueryChannelResponse] = ...

    # Channels queries all the IBC channels of a chain.
    Channels:grpc.UnaryUnaryMultiCallable[
        global___QueryChannelsRequest,
        global___QueryChannelsResponse] = ...

    # ConnectionChannels queries all the channels associated with a connection
    # end.
    ConnectionChannels:grpc.UnaryUnaryMultiCallable[
        global___QueryConnectionChannelsRequest,
        global___QueryConnectionChannelsResponse] = ...

    # ChannelClientState queries for the client state for the channel associated
    # with the provided channel identifiers.
    ChannelClientState:grpc.UnaryUnaryMultiCallable[
        global___QueryChannelClientStateRequest,
        global___QueryChannelClientStateResponse] = ...

    # ChannelConsensusState queries for the consensus state for the channel
    # associated with the provided channel identifiers.
    ChannelConsensusState:grpc.UnaryUnaryMultiCallable[
        global___QueryChannelConsensusStateRequest,
        global___QueryChannelConsensusStateResponse] = ...

    # PacketCommitment queries a stored packet commitment hash.
    PacketCommitment:grpc.UnaryUnaryMultiCallable[
        global___QueryPacketCommitmentRequest,
        global___QueryPacketCommitmentResponse] = ...

    # PacketCommitments returns all the packet commitments hashes associated
    # with a channel.
    PacketCommitments:grpc.UnaryUnaryMultiCallable[
        global___QueryPacketCommitmentsRequest,
        global___QueryPacketCommitmentsResponse] = ...

    # PacketReceipt queries if a given packet sequence has been received on the
    # queried chain
    PacketReceipt:grpc.UnaryUnaryMultiCallable[
        global___QueryPacketReceiptRequest,
        global___QueryPacketReceiptResponse] = ...

    # PacketAcknowledgement queries a stored packet acknowledgement hash.
    PacketAcknowledgement:grpc.UnaryUnaryMultiCallable[
        global___QueryPacketAcknowledgementRequest,
        global___QueryPacketAcknowledgementResponse] = ...

    # PacketAcknowledgements returns all the packet acknowledgements associated
    # with a channel.
    PacketAcknowledgements:grpc.UnaryUnaryMultiCallable[
        global___QueryPacketAcknowledgementsRequest,
        global___QueryPacketAcknowledgementsResponse] = ...

    # UnreceivedPackets returns all the unreceived IBC packets associated with a
    # channel and sequences.
    UnreceivedPackets:grpc.UnaryUnaryMultiCallable[
        global___QueryUnreceivedPacketsRequest,
        global___QueryUnreceivedPacketsResponse] = ...

    # UnreceivedAcks returns all the unreceived IBC acknowledgements associated
    # with a channel and sequences.
    UnreceivedAcks:grpc.UnaryUnaryMultiCallable[
        global___QueryUnreceivedAcksRequest,
        global___QueryUnreceivedAcksResponse] = ...

    # NextSequenceReceive returns the next receive sequence for a given channel.
    NextSequenceReceive:grpc.UnaryUnaryMultiCallable[
        global___QueryNextSequenceReceiveRequest,
        global___QueryNextSequenceReceiveResponse] = ...


# Query provides defines the gRPC querier service
class QueryServicer(metaclass=abc.ABCMeta):
    # Channel queries an IBC Channel.
    @abc.abstractmethod
    def Channel(self,
        request: global___QueryChannelRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryChannelResponse: ...

    # Channels queries all the IBC channels of a chain.
    @abc.abstractmethod
    def Channels(self,
        request: global___QueryChannelsRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryChannelsResponse: ...

    # ConnectionChannels queries all the channels associated with a connection
    # end.
    @abc.abstractmethod
    def ConnectionChannels(self,
        request: global___QueryConnectionChannelsRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryConnectionChannelsResponse: ...

    # ChannelClientState queries for the client state for the channel associated
    # with the provided channel identifiers.
    @abc.abstractmethod
    def ChannelClientState(self,
        request: global___QueryChannelClientStateRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryChannelClientStateResponse: ...

    # ChannelConsensusState queries for the consensus state for the channel
    # associated with the provided channel identifiers.
    @abc.abstractmethod
    def ChannelConsensusState(self,
        request: global___QueryChannelConsensusStateRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryChannelConsensusStateResponse: ...

    # PacketCommitment queries a stored packet commitment hash.
    @abc.abstractmethod
    def PacketCommitment(self,
        request: global___QueryPacketCommitmentRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryPacketCommitmentResponse: ...

    # PacketCommitments returns all the packet commitments hashes associated
    # with a channel.
    @abc.abstractmethod
    def PacketCommitments(self,
        request: global___QueryPacketCommitmentsRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryPacketCommitmentsResponse: ...

    # PacketReceipt queries if a given packet sequence has been received on the
    # queried chain
    @abc.abstractmethod
    def PacketReceipt(self,
        request: global___QueryPacketReceiptRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryPacketReceiptResponse: ...

    # PacketAcknowledgement queries a stored packet acknowledgement hash.
    @abc.abstractmethod
    def PacketAcknowledgement(self,
        request: global___QueryPacketAcknowledgementRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryPacketAcknowledgementResponse: ...

    # PacketAcknowledgements returns all the packet acknowledgements associated
    # with a channel.
    @abc.abstractmethod
    def PacketAcknowledgements(self,
        request: global___QueryPacketAcknowledgementsRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryPacketAcknowledgementsResponse: ...

    # UnreceivedPackets returns all the unreceived IBC packets associated with a
    # channel and sequences.
    @abc.abstractmethod
    def UnreceivedPackets(self,
        request: global___QueryUnreceivedPacketsRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryUnreceivedPacketsResponse: ...

    # UnreceivedAcks returns all the unreceived IBC acknowledgements associated
    # with a channel and sequences.
    @abc.abstractmethod
    def UnreceivedAcks(self,
        request: global___QueryUnreceivedAcksRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryUnreceivedAcksResponse: ...

    # NextSequenceReceive returns the next receive sequence for a given channel.
    @abc.abstractmethod
    def NextSequenceReceive(self,
        request: global___QueryNextSequenceReceiveRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryNextSequenceReceiveResponse: ...


def add_QueryServicer_to_server(servicer: QueryServicer, server: grpc.Server) -> None: ...
