import { RequestFinalizeBlock, RequestFinalizeBlockAmino, ResponseFinalizeBlock, ResponseFinalizeBlockAmino, ResponseCommit, ResponseCommitAmino } from "../../../../tendermint/abci/types";
import { StoreKVPair, StoreKVPairAmino } from "../../v1beta1/listening";
import { BinaryReader, BinaryWriter } from "../../../../binary";
import { DeepPartial } from "../../../../helpers";
/**
 * ListenEndBlockRequest is the request type for the ListenEndBlock RPC method
 * @name ListenFinalizeBlockRequest
 * @package cosmos.store.streaming.abci
 * @see proto type: cosmos.store.streaming.abci.ListenFinalizeBlockRequest
 */
export interface ListenFinalizeBlockRequest {
    req?: RequestFinalizeBlock;
    res?: ResponseFinalizeBlock;
}
export interface ListenFinalizeBlockRequestProtoMsg {
    typeUrl: "/cosmos.store.streaming.abci.ListenFinalizeBlockRequest";
    value: Uint8Array;
}
/**
 * ListenEndBlockRequest is the request type for the ListenEndBlock RPC method
 * @name ListenFinalizeBlockRequestAmino
 * @package cosmos.store.streaming.abci
 * @see proto type: cosmos.store.streaming.abci.ListenFinalizeBlockRequest
 */
export interface ListenFinalizeBlockRequestAmino {
    req?: RequestFinalizeBlockAmino;
    res?: ResponseFinalizeBlockAmino;
}
export interface ListenFinalizeBlockRequestAminoMsg {
    type: "cosmos-sdk/ListenFinalizeBlockRequest";
    value: ListenFinalizeBlockRequestAmino;
}
/**
 * ListenEndBlockResponse is the response type for the ListenEndBlock RPC method
 * @name ListenFinalizeBlockResponse
 * @package cosmos.store.streaming.abci
 * @see proto type: cosmos.store.streaming.abci.ListenFinalizeBlockResponse
 */
export interface ListenFinalizeBlockResponse {
}
export interface ListenFinalizeBlockResponseProtoMsg {
    typeUrl: "/cosmos.store.streaming.abci.ListenFinalizeBlockResponse";
    value: Uint8Array;
}
/**
 * ListenEndBlockResponse is the response type for the ListenEndBlock RPC method
 * @name ListenFinalizeBlockResponseAmino
 * @package cosmos.store.streaming.abci
 * @see proto type: cosmos.store.streaming.abci.ListenFinalizeBlockResponse
 */
export interface ListenFinalizeBlockResponseAmino {
}
export interface ListenFinalizeBlockResponseAminoMsg {
    type: "cosmos-sdk/ListenFinalizeBlockResponse";
    value: ListenFinalizeBlockResponseAmino;
}
/**
 * ListenCommitRequest is the request type for the ListenCommit RPC method
 * @name ListenCommitRequest
 * @package cosmos.store.streaming.abci
 * @see proto type: cosmos.store.streaming.abci.ListenCommitRequest
 */
export interface ListenCommitRequest {
    /**
     * explicitly pass in block height as ResponseCommit does not contain this info
     */
    blockHeight: bigint;
    res?: ResponseCommit;
    changeSet: StoreKVPair[];
}
export interface ListenCommitRequestProtoMsg {
    typeUrl: "/cosmos.store.streaming.abci.ListenCommitRequest";
    value: Uint8Array;
}
/**
 * ListenCommitRequest is the request type for the ListenCommit RPC method
 * @name ListenCommitRequestAmino
 * @package cosmos.store.streaming.abci
 * @see proto type: cosmos.store.streaming.abci.ListenCommitRequest
 */
export interface ListenCommitRequestAmino {
    /**
     * explicitly pass in block height as ResponseCommit does not contain this info
     */
    block_height: string;
    res?: ResponseCommitAmino;
    change_set: StoreKVPairAmino[];
}
export interface ListenCommitRequestAminoMsg {
    type: "cosmos-sdk/ListenCommitRequest";
    value: ListenCommitRequestAmino;
}
/**
 * ListenCommitResponse is the response type for the ListenCommit RPC method
 * @name ListenCommitResponse
 * @package cosmos.store.streaming.abci
 * @see proto type: cosmos.store.streaming.abci.ListenCommitResponse
 */
export interface ListenCommitResponse {
}
export interface ListenCommitResponseProtoMsg {
    typeUrl: "/cosmos.store.streaming.abci.ListenCommitResponse";
    value: Uint8Array;
}
/**
 * ListenCommitResponse is the response type for the ListenCommit RPC method
 * @name ListenCommitResponseAmino
 * @package cosmos.store.streaming.abci
 * @see proto type: cosmos.store.streaming.abci.ListenCommitResponse
 */
export interface ListenCommitResponseAmino {
}
export interface ListenCommitResponseAminoMsg {
    type: "cosmos-sdk/ListenCommitResponse";
    value: ListenCommitResponseAmino;
}
/**
 * ListenEndBlockRequest is the request type for the ListenEndBlock RPC method
 * @name ListenFinalizeBlockRequest
 * @package cosmos.store.streaming.abci
 * @see proto type: cosmos.store.streaming.abci.ListenFinalizeBlockRequest
 */
export declare const ListenFinalizeBlockRequest: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ListenFinalizeBlockRequest;
    isAmino(o: any): o is ListenFinalizeBlockRequestAmino;
    encode(message: ListenFinalizeBlockRequest, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ListenFinalizeBlockRequest;
    fromPartial(object: DeepPartial<ListenFinalizeBlockRequest>): ListenFinalizeBlockRequest;
    fromAmino(object: ListenFinalizeBlockRequestAmino): ListenFinalizeBlockRequest;
    toAmino(message: ListenFinalizeBlockRequest): ListenFinalizeBlockRequestAmino;
    fromAminoMsg(object: ListenFinalizeBlockRequestAminoMsg): ListenFinalizeBlockRequest;
    toAminoMsg(message: ListenFinalizeBlockRequest): ListenFinalizeBlockRequestAminoMsg;
    fromProtoMsg(message: ListenFinalizeBlockRequestProtoMsg): ListenFinalizeBlockRequest;
    toProto(message: ListenFinalizeBlockRequest): Uint8Array;
    toProtoMsg(message: ListenFinalizeBlockRequest): ListenFinalizeBlockRequestProtoMsg;
    registerTypeUrl(): void;
};
/**
 * ListenEndBlockResponse is the response type for the ListenEndBlock RPC method
 * @name ListenFinalizeBlockResponse
 * @package cosmos.store.streaming.abci
 * @see proto type: cosmos.store.streaming.abci.ListenFinalizeBlockResponse
 */
export declare const ListenFinalizeBlockResponse: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ListenFinalizeBlockResponse;
    isAmino(o: any): o is ListenFinalizeBlockResponseAmino;
    encode(_: ListenFinalizeBlockResponse, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ListenFinalizeBlockResponse;
    fromPartial(_: DeepPartial<ListenFinalizeBlockResponse>): ListenFinalizeBlockResponse;
    fromAmino(_: ListenFinalizeBlockResponseAmino): ListenFinalizeBlockResponse;
    toAmino(_: ListenFinalizeBlockResponse): ListenFinalizeBlockResponseAmino;
    fromAminoMsg(object: ListenFinalizeBlockResponseAminoMsg): ListenFinalizeBlockResponse;
    toAminoMsg(message: ListenFinalizeBlockResponse): ListenFinalizeBlockResponseAminoMsg;
    fromProtoMsg(message: ListenFinalizeBlockResponseProtoMsg): ListenFinalizeBlockResponse;
    toProto(message: ListenFinalizeBlockResponse): Uint8Array;
    toProtoMsg(message: ListenFinalizeBlockResponse): ListenFinalizeBlockResponseProtoMsg;
    registerTypeUrl(): void;
};
/**
 * ListenCommitRequest is the request type for the ListenCommit RPC method
 * @name ListenCommitRequest
 * @package cosmos.store.streaming.abci
 * @see proto type: cosmos.store.streaming.abci.ListenCommitRequest
 */
export declare const ListenCommitRequest: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ListenCommitRequest;
    isAmino(o: any): o is ListenCommitRequestAmino;
    encode(message: ListenCommitRequest, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ListenCommitRequest;
    fromPartial(object: DeepPartial<ListenCommitRequest>): ListenCommitRequest;
    fromAmino(object: ListenCommitRequestAmino): ListenCommitRequest;
    toAmino(message: ListenCommitRequest): ListenCommitRequestAmino;
    fromAminoMsg(object: ListenCommitRequestAminoMsg): ListenCommitRequest;
    toAminoMsg(message: ListenCommitRequest): ListenCommitRequestAminoMsg;
    fromProtoMsg(message: ListenCommitRequestProtoMsg): ListenCommitRequest;
    toProto(message: ListenCommitRequest): Uint8Array;
    toProtoMsg(message: ListenCommitRequest): ListenCommitRequestProtoMsg;
    registerTypeUrl(): void;
};
/**
 * ListenCommitResponse is the response type for the ListenCommit RPC method
 * @name ListenCommitResponse
 * @package cosmos.store.streaming.abci
 * @see proto type: cosmos.store.streaming.abci.ListenCommitResponse
 */
export declare const ListenCommitResponse: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ListenCommitResponse;
    isAmino(o: any): o is ListenCommitResponseAmino;
    encode(_: ListenCommitResponse, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ListenCommitResponse;
    fromPartial(_: DeepPartial<ListenCommitResponse>): ListenCommitResponse;
    fromAmino(_: ListenCommitResponseAmino): ListenCommitResponse;
    toAmino(_: ListenCommitResponse): ListenCommitResponseAmino;
    fromAminoMsg(object: ListenCommitResponseAminoMsg): ListenCommitResponse;
    toAminoMsg(message: ListenCommitResponse): ListenCommitResponseAminoMsg;
    fromProtoMsg(message: ListenCommitResponseProtoMsg): ListenCommitResponse;
    toProto(message: ListenCommitResponse): Uint8Array;
    toProtoMsg(message: ListenCommitResponse): ListenCommitResponseProtoMsg;
    registerTypeUrl(): void;
};
