import { BlockMeta } from "../block-meta";
import { Block } from "../block";
/**
 *
 *
 * @class QueryBlockResponse
 */
export declare class QueryBlockResponse {
    /**
     *
     * Creates a QueryBlockResponse object using a JSON string
     * @param {String} json - JSON string.
     * @returns {QueryBlockResponse} - QueryBlockResponse object.
     * @memberof QueryBlockResponse
     */
    static fromJSON(json: string): QueryBlockResponse;
    readonly blockMeta: BlockMeta;
    readonly block: Block;
    /**
     * Query Block Response.
     * @constructor
     * @param {Block} block - Block object.
     */
    constructor(blockMeta: BlockMeta, block: Block);
    /**
     *
     * Creates a JSON object with the QueryBlockResponse properties
     * @returns {JSON} - JSON Object.
     * @memberof QueryBlockResponse
     */
    toJSON(): {
        block: {
            data: string;
            evidence: string;
            header: {
                app_hash: string;
                chain_id: string;
                consensus_hash: string;
                data_hash: string;
                evidence_hash: string;
                height: number;
                last_block_id: {
                    hash: string;
                    parts: {
                        hash: string;
                        total: number;
                    };
                };
                last_commit_hash: string;
                last_results_hash: string;
                next_validators_hash: string;
                num_txs: number;
                proposer_address: string;
                time: string;
                total_txs: number;
                validators_hash: string;
            };
            last_commit: {
                block_id: {
                    hash: string;
                    parts: {
                        hash: string;
                        total: number;
                    };
                };
                precommits: object[];
            };
        };
        block_meta: {
            block_id: {
                hash: string;
                parts: {
                    hash: string;
                    total: number;
                };
            };
            header: {
                app_hash: string;
                chain_id: string;
                consensus_hash: string;
                data_hash: string;
                evidence_hash: string;
                height: number;
                last_block_id: {
                    hash: string;
                    parts: {
                        hash: string;
                        total: number;
                    };
                };
                last_commit_hash: string;
                last_results_hash: string;
                next_validators_hash: string;
                num_txs: number;
                proposer_address: string;
                time: string;
                total_txs: number;
                validators_hash: string;
            };
        };
    };
    /**
     *
     * Check if the QueryBlockResponse object is valid
     * @returns {boolean} - True or false.
     * @memberof QueryBlockResponse
     */
    isValid(): boolean;
}
