import { BlockID } from "./block-id";
import { CommitSignature } from "./commit-signature";
/**
 *
 *
 * @class Commit
 */
export declare class Commit {
    /**
     *
     * Creates a Commit object using a JSON string
     * @param {String} json - JSON string.
     * @returns {Commit} - Commit object.
     * @memberof Commit
     */
    static fromJSON(json: string): Commit;
    readonly blockID: BlockID;
    readonly precommits: CommitSignature[];
    /**
     * Commit.
     * @constructor
     * @param {BlockID} blockID - Commit blockID.
     * @param {CommitSignature} precommits - Commits signature.
     */
    constructor(blockID: BlockID, precommits: CommitSignature[]);
    /**
     *
     * Creates a JSON object with the Commit properties
     * @returns {JSON} - JSON Object.
     * @memberof Commit
     */
    toJSON(): {
        block_id: {
            hash: string;
            parts: {
                hash: string;
                total: number;
            };
        };
        precommits: object[];
    };
    /**
     *
     * Check if the Commit object is valid
     * @returns {boolean} - True or false.
     * @memberof Commit
     */
    isValid(): boolean;
}
