import { Timestamp, type TimestampSDKType } from '../../../google/protobuf/timestamp.js';
import { BinaryReader, BinaryWriter } from '../../../binary.js';
import { type JsonSafe } from '../../../json-safe.js';
/**
 * CommitInfo defines commit information used by the multi-store when committing
 * a version/height.
 */
export interface CommitInfo {
    version: bigint;
    storeInfos: StoreInfo[];
    timestamp: Timestamp;
}
export interface CommitInfoProtoMsg {
    typeUrl: '/cosmos.store.v1beta1.CommitInfo';
    value: Uint8Array;
}
/**
 * CommitInfo defines commit information used by the multi-store when committing
 * a version/height.
 */
export interface CommitInfoSDKType {
    version: bigint;
    store_infos: StoreInfoSDKType[];
    timestamp: TimestampSDKType;
}
/**
 * StoreInfo defines store-specific commit information. It contains a reference
 * between a store name and the commit ID.
 */
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.
 */
export interface StoreInfoSDKType {
    name: string;
    commit_id: CommitIDSDKType;
}
/**
 * CommitID defines the commitment information when a specific store is
 * committed.
 */
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.
 */
export interface CommitIDSDKType {
    version: bigint;
    hash: Uint8Array;
}
export declare const CommitInfo: {
    typeUrl: "/cosmos.store.v1beta1.CommitInfo";
    encode(message: CommitInfo, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): CommitInfo;
    fromJSON(object: any): CommitInfo;
    toJSON(message: CommitInfo): JsonSafe<CommitInfo>;
    fromPartial(object: Partial<CommitInfo>): CommitInfo;
    fromProtoMsg(message: CommitInfoProtoMsg): CommitInfo;
    toProto(message: CommitInfo): Uint8Array;
    toProtoMsg(message: CommitInfo): CommitInfoProtoMsg;
};
export declare const StoreInfo: {
    typeUrl: "/cosmos.store.v1beta1.StoreInfo";
    encode(message: StoreInfo, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): StoreInfo;
    fromJSON(object: any): StoreInfo;
    toJSON(message: StoreInfo): JsonSafe<StoreInfo>;
    fromPartial(object: Partial<StoreInfo>): StoreInfo;
    fromProtoMsg(message: StoreInfoProtoMsg): StoreInfo;
    toProto(message: StoreInfo): Uint8Array;
    toProtoMsg(message: StoreInfo): StoreInfoProtoMsg;
};
export declare const CommitID: {
    typeUrl: "/cosmos.store.v1beta1.CommitID";
    encode(message: CommitID, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): CommitID;
    fromJSON(object: any): CommitID;
    toJSON(message: CommitID): JsonSafe<CommitID>;
    fromPartial(object: Partial<CommitID>): CommitID;
    fromProtoMsg(message: CommitIDProtoMsg): CommitID;
    toProto(message: CommitID): Uint8Array;
    toProtoMsg(message: CommitID): CommitIDProtoMsg;
};
//# sourceMappingURL=commit_info.d.ts.map