import { ResponseCommit, ResponseCommitAmino, RequestFinalizeBlock, RequestFinalizeBlockAmino, ResponseFinalizeBlock, ResponseFinalizeBlockAmino } from "../../../tendermint/abci/types";
import { BinaryReader, BinaryWriter } from "../../../binary";
import { DeepPartial } from "../../../helpers";
/**
 * StoreKVPair is a KVStore KVPair used for listening to state changes (Sets and Deletes)
 * It optionally includes the StoreKey for the originating KVStore and a Boolean flag to distinguish between Sets and
 * Deletes
 * @name StoreKVPair
 * @package cosmos.store.v1beta1
 * @see proto type: cosmos.store.v1beta1.StoreKVPair
 */
export interface StoreKVPair {
    /**
     * the store key for the KVStore this pair originates from
     */
    storeKey: string;
    /**
     * true indicates a delete operation, false indicates a set operation
     */
    delete: boolean;
    key: Uint8Array;
    value: Uint8Array;
}
export interface StoreKVPairProtoMsg {
    typeUrl: "/cosmos.store.v1beta1.StoreKVPair";
    value: Uint8Array;
}
/**
 * StoreKVPair is a KVStore KVPair used for listening to state changes (Sets and Deletes)
 * It optionally includes the StoreKey for the originating KVStore and a Boolean flag to distinguish between Sets and
 * Deletes
 * @name StoreKVPairAmino
 * @package cosmos.store.v1beta1
 * @see proto type: cosmos.store.v1beta1.StoreKVPair
 */
export interface StoreKVPairAmino {
    /**
     * the store key for the KVStore this pair originates from
     */
    store_key: string;
    /**
     * true indicates a delete operation, false indicates a set operation
     */
    delete: boolean;
    key: string;
    value: string;
}
export interface StoreKVPairAminoMsg {
    type: "cosmos-sdk/StoreKVPair";
    value: StoreKVPairAmino;
}
/**
 * BlockMetadata contains all the abci event data of a block
 * the file streamer dump them into files together with the state changes.
 * @name BlockMetadata
 * @package cosmos.store.v1beta1
 * @see proto type: cosmos.store.v1beta1.BlockMetadata
 */
export interface BlockMetadata {
    responseCommit?: ResponseCommit;
    requestFinalizeBlock?: RequestFinalizeBlock;
    /**
     * TODO: should we renumber this?
     */
    responseFinalizeBlock?: ResponseFinalizeBlock;
}
export interface BlockMetadataProtoMsg {
    typeUrl: "/cosmos.store.v1beta1.BlockMetadata";
    value: Uint8Array;
}
/**
 * BlockMetadata contains all the abci event data of a block
 * the file streamer dump them into files together with the state changes.
 * @name BlockMetadataAmino
 * @package cosmos.store.v1beta1
 * @see proto type: cosmos.store.v1beta1.BlockMetadata
 */
export interface BlockMetadataAmino {
    response_commit?: ResponseCommitAmino;
    request_finalize_block?: RequestFinalizeBlockAmino;
    /**
     * TODO: should we renumber this?
     */
    response_finalize_block?: ResponseFinalizeBlockAmino;
}
export interface BlockMetadataAminoMsg {
    type: "cosmos-sdk/BlockMetadata";
    value: BlockMetadataAmino;
}
/**
 * StoreKVPair is a KVStore KVPair used for listening to state changes (Sets and Deletes)
 * It optionally includes the StoreKey for the originating KVStore and a Boolean flag to distinguish between Sets and
 * Deletes
 * @name StoreKVPair
 * @package cosmos.store.v1beta1
 * @see proto type: cosmos.store.v1beta1.StoreKVPair
 */
export declare const StoreKVPair: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is StoreKVPair;
    isAmino(o: any): o is StoreKVPairAmino;
    encode(message: StoreKVPair, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): StoreKVPair;
    fromPartial(object: DeepPartial<StoreKVPair>): StoreKVPair;
    fromAmino(object: StoreKVPairAmino): StoreKVPair;
    toAmino(message: StoreKVPair): StoreKVPairAmino;
    fromAminoMsg(object: StoreKVPairAminoMsg): StoreKVPair;
    toAminoMsg(message: StoreKVPair): StoreKVPairAminoMsg;
    fromProtoMsg(message: StoreKVPairProtoMsg): StoreKVPair;
    toProto(message: StoreKVPair): Uint8Array;
    toProtoMsg(message: StoreKVPair): StoreKVPairProtoMsg;
    registerTypeUrl(): void;
};
/**
 * BlockMetadata contains all the abci event data of a block
 * the file streamer dump them into files together with the state changes.
 * @name BlockMetadata
 * @package cosmos.store.v1beta1
 * @see proto type: cosmos.store.v1beta1.BlockMetadata
 */
export declare const BlockMetadata: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is BlockMetadata;
    isAmino(o: any): o is BlockMetadataAmino;
    encode(message: BlockMetadata, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): BlockMetadata;
    fromPartial(object: DeepPartial<BlockMetadata>): BlockMetadata;
    fromAmino(object: BlockMetadataAmino): BlockMetadata;
    toAmino(message: BlockMetadata): BlockMetadataAmino;
    fromAminoMsg(object: BlockMetadataAminoMsg): BlockMetadata;
    toAminoMsg(message: BlockMetadata): BlockMetadataAminoMsg;
    fromProtoMsg(message: BlockMetadataProtoMsg): BlockMetadata;
    toProto(message: BlockMetadata): Uint8Array;
    toProtoMsg(message: BlockMetadata): BlockMetadataProtoMsg;
    registerTypeUrl(): void;
};
