/// <reference types="node" />
import { Hex, TxProof } from "../..";
import { ResponseDeliverTx } from "./response-deliver-tx";
/**
 *
 *
 * @class ResultTx
 */
export declare class ResultTx {
    /**
     *
     * Creates a ResultTx object using a JSON string
     * @param {String} json - JSON string.
     * @returns {ResultTx} - ResultTx object.
     * @memberof ResultTx
     */
    static fromJSON(json: string): ResultTx;
    readonly hash: string;
    readonly height: BigInt;
    readonly index: number;
    readonly txResult: ResponseDeliverTx;
    readonly tx: Buffer;
    readonly txProof: TxProof;
    /**
     * Creates a ResultTx.
     * @constructor
     * @param {string} hash -
     * @param {BigInt} height -
     * @param {number} index -
     * @param {ResponseDeliverTx} txResult -
     * @param {Transaction} tx -
     * @param {TxProof} txProof -
     */
    constructor(hash: string, height: BigInt, index: number, txResult: ResponseDeliverTx, tx: Buffer, txProof: TxProof);
    /**
     *
     * Creates a JSON object with the ResultTx properties
     * @returns {JSON} - JSON Object.
     * @memberof ResultTx
     */
    toJSON(): {
        hash: string;
        height: number;
        index: number;
        tx_result: {
            code: number;
            codespace: string;
            data: string[];
            log: string;
            info: string;
            recipient: string;
            signer: string;
            messageType: string;
            events: object[];
        };
        tx: string;
        proof: {
            data: string | null;
            proof: {
                aunts: Hex[] | null;
                index: number;
                leaf_hash: Hex | null;
                total: number;
            };
            root_hash: string;
        };
    };
    /**
     *
     * Verify if all properties are valid
     * @returns {boolean} - True or false.
     * @memberof ResultTx
     */
    isValid(): boolean;
}
