import { BinaryReader, BinaryWriter } from "../../../binary";
import { DeepPartial } from "../../../helpers";
/**
 * CommitInfo defines commit information used by the multi-store when committing
 * a version/height.
 * @name CommitInfo
 * @package cosmos.store.v1beta1
 * @see proto type: cosmos.store.v1beta1.CommitInfo
 */
export interface CommitInfo {
    version: bigint;
    storeInfos: StoreInfo[];
    timestamp: Date;
}
export interface CommitInfoProtoMsg {
    typeUrl: "/cosmos.store.v1beta1.CommitInfo";
    value: Uint8Array;
}
/**
 * CommitInfo defines commit information used by the multi-store when committing
 * a version/height.
 * @name CommitInfoAmino
 * @package cosmos.store.v1beta1
 * @see proto type: cosmos.store.v1beta1.CommitInfo
 */
export interface CommitInfoAmino {
    version: string;
    store_infos: StoreInfoAmino[];
    timestamp: string;
}
export interface CommitInfoAminoMsg {
    type: "cosmos-sdk/CommitInfo";
    value: CommitInfoAmino;
}
/**
 * StoreInfo defines store-specific commit information. It contains a reference
 * between a store name and the commit ID.
 * @name StoreInfo
 * @package cosmos.store.v1beta1
 * @see proto type: cosmos.store.v1beta1.StoreInfo
 */
export interface StoreInfo {
    name: string;
    commitId: CommitID;
}
export interface StoreInfoProtoMsg {
    typeUrl: "/cosmos.store.v1beta1.StoreInfo";
    value: Uint8Array;
}
/**
 * StoreInfo defines store-specific commit information. It contains a reference
 * between a store name and the commit ID.
 * @name StoreInfoAmino
 * @package cosmos.store.v1beta1
 * @see proto type: cosmos.store.v1beta1.StoreInfo
 */
export interface StoreInfoAmino {
    name: string;
    commit_id: CommitIDAmino;
}
export interface StoreInfoAminoMsg {
    type: "cosmos-sdk/StoreInfo";
    value: StoreInfoAmino;
}
/**
 * CommitID defines the commitment information when a specific store is
 * committed.
 * @name CommitID
 * @package cosmos.store.v1beta1
 * @see proto type: cosmos.store.v1beta1.CommitID
 */
export interface CommitID {
    version: bigint;
    hash: Uint8Array;
}
export interface CommitIDProtoMsg {
    typeUrl: "/cosmos.store.v1beta1.CommitID";
    value: Uint8Array;
}
/**
 * CommitID defines the commitment information when a specific store is
 * committed.
 * @name CommitIDAmino
 * @package cosmos.store.v1beta1
 * @see proto type: cosmos.store.v1beta1.CommitID
 */
export interface CommitIDAmino {
    version: string;
    hash: string;
}
export interface CommitIDAminoMsg {
    type: "cosmos-sdk/CommitID";
    value: CommitIDAmino;
}
/**
 * CommitInfo defines commit information used by the multi-store when committing
 * a version/height.
 * @name CommitInfo
 * @package cosmos.store.v1beta1
 * @see proto type: cosmos.store.v1beta1.CommitInfo
 */
export declare const CommitInfo: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is CommitInfo;
    isAmino(o: any): o is CommitInfoAmino;
    encode(message: CommitInfo, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): CommitInfo;
    fromPartial(object: DeepPartial<CommitInfo>): CommitInfo;
    fromAmino(object: CommitInfoAmino): CommitInfo;
    toAmino(message: CommitInfo): CommitInfoAmino;
    fromAminoMsg(object: CommitInfoAminoMsg): CommitInfo;
    toAminoMsg(message: CommitInfo): CommitInfoAminoMsg;
    fromProtoMsg(message: CommitInfoProtoMsg): CommitInfo;
    toProto(message: CommitInfo): Uint8Array;
    toProtoMsg(message: CommitInfo): CommitInfoProtoMsg;
    registerTypeUrl(): void;
};
/**
 * StoreInfo defines store-specific commit information. It contains a reference
 * between a store name and the commit ID.
 * @name StoreInfo
 * @package cosmos.store.v1beta1
 * @see proto type: cosmos.store.v1beta1.StoreInfo
 */
export declare const StoreInfo: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is StoreInfo;
    isAmino(o: any): o is StoreInfoAmino;
    encode(message: StoreInfo, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): StoreInfo;
    fromPartial(object: DeepPartial<StoreInfo>): StoreInfo;
    fromAmino(object: StoreInfoAmino): StoreInfo;
    toAmino(message: StoreInfo): StoreInfoAmino;
    fromAminoMsg(object: StoreInfoAminoMsg): StoreInfo;
    toAminoMsg(message: StoreInfo): StoreInfoAminoMsg;
    fromProtoMsg(message: StoreInfoProtoMsg): StoreInfo;
    toProto(message: StoreInfo): Uint8Array;
    toProtoMsg(message: StoreInfo): StoreInfoProtoMsg;
    registerTypeUrl(): void;
};
/**
 * CommitID defines the commitment information when a specific store is
 * committed.
 * @name CommitID
 * @package cosmos.store.v1beta1
 * @see proto type: cosmos.store.v1beta1.CommitID
 */
export declare const CommitID: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is CommitID;
    isAmino(o: any): o is CommitIDAmino;
    encode(message: CommitID, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): CommitID;
    fromPartial(object: DeepPartial<CommitID>): CommitID;
    fromAmino(object: CommitIDAmino): CommitID;
    toAmino(message: CommitID): CommitIDAmino;
    fromAminoMsg(object: CommitIDAminoMsg): CommitID;
    toAminoMsg(message: CommitID): CommitIDAminoMsg;
    fromProtoMsg(message: CommitIDProtoMsg): CommitID;
    toProto(message: CommitID): Uint8Array;
    toProtoMsg(message: CommitID): CommitIDProtoMsg;
    registerTypeUrl(): void;
};
