// package: cosmos.streaming.abci.v1
// file: cosmos/streaming/abci/v1/grpc.proto

/* tslint:disable */
/* eslint-disable */

import * as grpc from "grpc";
import * as cosmos_streaming_abci_v1_grpc_pb from "../../../../cosmos/streaming/abci/v1/grpc_pb";
import * as tendermint_abci_types_pb from "../../../../tendermint/abci/types_pb";
import * as cosmos_base_store_v1beta1_listening_pb from "../../../../cosmos/base/store/v1beta1/listening_pb";

interface IABCIListenerServiceService extends grpc.ServiceDefinition<grpc.UntypedServiceImplementation> {
    listenBeginBlock: IABCIListenerServiceService_IListenBeginBlock;
    listenEndBlock: IABCIListenerServiceService_IListenEndBlock;
    listenDeliverTx: IABCIListenerServiceService_IListenDeliverTx;
    listenCommit: IABCIListenerServiceService_IListenCommit;
}

interface IABCIListenerServiceService_IListenBeginBlock extends grpc.MethodDefinition<cosmos_streaming_abci_v1_grpc_pb.ListenBeginBlockRequest, cosmos_streaming_abci_v1_grpc_pb.ListenBeginBlockResponse> {
    path: "/cosmos.streaming.abci.v1.ABCIListenerService/ListenBeginBlock";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<cosmos_streaming_abci_v1_grpc_pb.ListenBeginBlockRequest>;
    requestDeserialize: grpc.deserialize<cosmos_streaming_abci_v1_grpc_pb.ListenBeginBlockRequest>;
    responseSerialize: grpc.serialize<cosmos_streaming_abci_v1_grpc_pb.ListenBeginBlockResponse>;
    responseDeserialize: grpc.deserialize<cosmos_streaming_abci_v1_grpc_pb.ListenBeginBlockResponse>;
}
interface IABCIListenerServiceService_IListenEndBlock extends grpc.MethodDefinition<cosmos_streaming_abci_v1_grpc_pb.ListenEndBlockRequest, cosmos_streaming_abci_v1_grpc_pb.ListenEndBlockResponse> {
    path: "/cosmos.streaming.abci.v1.ABCIListenerService/ListenEndBlock";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<cosmos_streaming_abci_v1_grpc_pb.ListenEndBlockRequest>;
    requestDeserialize: grpc.deserialize<cosmos_streaming_abci_v1_grpc_pb.ListenEndBlockRequest>;
    responseSerialize: grpc.serialize<cosmos_streaming_abci_v1_grpc_pb.ListenEndBlockResponse>;
    responseDeserialize: grpc.deserialize<cosmos_streaming_abci_v1_grpc_pb.ListenEndBlockResponse>;
}
interface IABCIListenerServiceService_IListenDeliverTx extends grpc.MethodDefinition<cosmos_streaming_abci_v1_grpc_pb.ListenDeliverTxRequest, cosmos_streaming_abci_v1_grpc_pb.ListenDeliverTxResponse> {
    path: "/cosmos.streaming.abci.v1.ABCIListenerService/ListenDeliverTx";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<cosmos_streaming_abci_v1_grpc_pb.ListenDeliverTxRequest>;
    requestDeserialize: grpc.deserialize<cosmos_streaming_abci_v1_grpc_pb.ListenDeliverTxRequest>;
    responseSerialize: grpc.serialize<cosmos_streaming_abci_v1_grpc_pb.ListenDeliverTxResponse>;
    responseDeserialize: grpc.deserialize<cosmos_streaming_abci_v1_grpc_pb.ListenDeliverTxResponse>;
}
interface IABCIListenerServiceService_IListenCommit extends grpc.MethodDefinition<cosmos_streaming_abci_v1_grpc_pb.ListenCommitRequest, cosmos_streaming_abci_v1_grpc_pb.ListenCommitResponse> {
    path: "/cosmos.streaming.abci.v1.ABCIListenerService/ListenCommit";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<cosmos_streaming_abci_v1_grpc_pb.ListenCommitRequest>;
    requestDeserialize: grpc.deserialize<cosmos_streaming_abci_v1_grpc_pb.ListenCommitRequest>;
    responseSerialize: grpc.serialize<cosmos_streaming_abci_v1_grpc_pb.ListenCommitResponse>;
    responseDeserialize: grpc.deserialize<cosmos_streaming_abci_v1_grpc_pb.ListenCommitResponse>;
}

export const ABCIListenerServiceService: IABCIListenerServiceService;

export interface IABCIListenerServiceServer {
    listenBeginBlock: grpc.handleUnaryCall<cosmos_streaming_abci_v1_grpc_pb.ListenBeginBlockRequest, cosmos_streaming_abci_v1_grpc_pb.ListenBeginBlockResponse>;
    listenEndBlock: grpc.handleUnaryCall<cosmos_streaming_abci_v1_grpc_pb.ListenEndBlockRequest, cosmos_streaming_abci_v1_grpc_pb.ListenEndBlockResponse>;
    listenDeliverTx: grpc.handleUnaryCall<cosmos_streaming_abci_v1_grpc_pb.ListenDeliverTxRequest, cosmos_streaming_abci_v1_grpc_pb.ListenDeliverTxResponse>;
    listenCommit: grpc.handleUnaryCall<cosmos_streaming_abci_v1_grpc_pb.ListenCommitRequest, cosmos_streaming_abci_v1_grpc_pb.ListenCommitResponse>;
}

export interface IABCIListenerServiceClient {
    listenBeginBlock(request: cosmos_streaming_abci_v1_grpc_pb.ListenBeginBlockRequest, callback: (error: grpc.ServiceError | null, response: cosmos_streaming_abci_v1_grpc_pb.ListenBeginBlockResponse) => void): grpc.ClientUnaryCall;
    listenBeginBlock(request: cosmos_streaming_abci_v1_grpc_pb.ListenBeginBlockRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_streaming_abci_v1_grpc_pb.ListenBeginBlockResponse) => void): grpc.ClientUnaryCall;
    listenBeginBlock(request: cosmos_streaming_abci_v1_grpc_pb.ListenBeginBlockRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_streaming_abci_v1_grpc_pb.ListenBeginBlockResponse) => void): grpc.ClientUnaryCall;
    listenEndBlock(request: cosmos_streaming_abci_v1_grpc_pb.ListenEndBlockRequest, callback: (error: grpc.ServiceError | null, response: cosmos_streaming_abci_v1_grpc_pb.ListenEndBlockResponse) => void): grpc.ClientUnaryCall;
    listenEndBlock(request: cosmos_streaming_abci_v1_grpc_pb.ListenEndBlockRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_streaming_abci_v1_grpc_pb.ListenEndBlockResponse) => void): grpc.ClientUnaryCall;
    listenEndBlock(request: cosmos_streaming_abci_v1_grpc_pb.ListenEndBlockRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_streaming_abci_v1_grpc_pb.ListenEndBlockResponse) => void): grpc.ClientUnaryCall;
    listenDeliverTx(request: cosmos_streaming_abci_v1_grpc_pb.ListenDeliverTxRequest, callback: (error: grpc.ServiceError | null, response: cosmos_streaming_abci_v1_grpc_pb.ListenDeliverTxResponse) => void): grpc.ClientUnaryCall;
    listenDeliverTx(request: cosmos_streaming_abci_v1_grpc_pb.ListenDeliverTxRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_streaming_abci_v1_grpc_pb.ListenDeliverTxResponse) => void): grpc.ClientUnaryCall;
    listenDeliverTx(request: cosmos_streaming_abci_v1_grpc_pb.ListenDeliverTxRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_streaming_abci_v1_grpc_pb.ListenDeliverTxResponse) => void): grpc.ClientUnaryCall;
    listenCommit(request: cosmos_streaming_abci_v1_grpc_pb.ListenCommitRequest, callback: (error: grpc.ServiceError | null, response: cosmos_streaming_abci_v1_grpc_pb.ListenCommitResponse) => void): grpc.ClientUnaryCall;
    listenCommit(request: cosmos_streaming_abci_v1_grpc_pb.ListenCommitRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_streaming_abci_v1_grpc_pb.ListenCommitResponse) => void): grpc.ClientUnaryCall;
    listenCommit(request: cosmos_streaming_abci_v1_grpc_pb.ListenCommitRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_streaming_abci_v1_grpc_pb.ListenCommitResponse) => void): grpc.ClientUnaryCall;
}

export class ABCIListenerServiceClient extends grpc.Client implements IABCIListenerServiceClient {
    constructor(address: string, credentials: grpc.ChannelCredentials, options?: object);
    public listenBeginBlock(request: cosmos_streaming_abci_v1_grpc_pb.ListenBeginBlockRequest, callback: (error: grpc.ServiceError | null, response: cosmos_streaming_abci_v1_grpc_pb.ListenBeginBlockResponse) => void): grpc.ClientUnaryCall;
    public listenBeginBlock(request: cosmos_streaming_abci_v1_grpc_pb.ListenBeginBlockRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_streaming_abci_v1_grpc_pb.ListenBeginBlockResponse) => void): grpc.ClientUnaryCall;
    public listenBeginBlock(request: cosmos_streaming_abci_v1_grpc_pb.ListenBeginBlockRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_streaming_abci_v1_grpc_pb.ListenBeginBlockResponse) => void): grpc.ClientUnaryCall;
    public listenEndBlock(request: cosmos_streaming_abci_v1_grpc_pb.ListenEndBlockRequest, callback: (error: grpc.ServiceError | null, response: cosmos_streaming_abci_v1_grpc_pb.ListenEndBlockResponse) => void): grpc.ClientUnaryCall;
    public listenEndBlock(request: cosmos_streaming_abci_v1_grpc_pb.ListenEndBlockRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_streaming_abci_v1_grpc_pb.ListenEndBlockResponse) => void): grpc.ClientUnaryCall;
    public listenEndBlock(request: cosmos_streaming_abci_v1_grpc_pb.ListenEndBlockRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_streaming_abci_v1_grpc_pb.ListenEndBlockResponse) => void): grpc.ClientUnaryCall;
    public listenDeliverTx(request: cosmos_streaming_abci_v1_grpc_pb.ListenDeliverTxRequest, callback: (error: grpc.ServiceError | null, response: cosmos_streaming_abci_v1_grpc_pb.ListenDeliverTxResponse) => void): grpc.ClientUnaryCall;
    public listenDeliverTx(request: cosmos_streaming_abci_v1_grpc_pb.ListenDeliverTxRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_streaming_abci_v1_grpc_pb.ListenDeliverTxResponse) => void): grpc.ClientUnaryCall;
    public listenDeliverTx(request: cosmos_streaming_abci_v1_grpc_pb.ListenDeliverTxRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_streaming_abci_v1_grpc_pb.ListenDeliverTxResponse) => void): grpc.ClientUnaryCall;
    public listenCommit(request: cosmos_streaming_abci_v1_grpc_pb.ListenCommitRequest, callback: (error: grpc.ServiceError | null, response: cosmos_streaming_abci_v1_grpc_pb.ListenCommitResponse) => void): grpc.ClientUnaryCall;
    public listenCommit(request: cosmos_streaming_abci_v1_grpc_pb.ListenCommitRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_streaming_abci_v1_grpc_pb.ListenCommitResponse) => void): grpc.ClientUnaryCall;
    public listenCommit(request: cosmos_streaming_abci_v1_grpc_pb.ListenCommitRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_streaming_abci_v1_grpc_pb.ListenCommitResponse) => void): grpc.ClientUnaryCall;
}
