import { RelayProofResponse } from "./relay-proof-response";
import { RelayRequest } from "../input";
/**
 *
 *
 * @class RelayResponse
 */
export declare class RelayResponse {
    /**
     *
     * Creates a RelayResponse object using a JSON string
     * @param {String} json - JSON string.
     * @returns {RelayResponse} - RelayResponse object.
     * @memberof RelayResponse
     */
    static fromJSON(json: string): RelayResponse;
    readonly signature: string;
    readonly payload: string;
    readonly proof: RelayProofResponse;
    readonly relayRequest: RelayRequest;
    /**
     * Relay Response.
     * @constructor
     * @param {string} signature - Signature.
     * @param {string} payload - Payload string.
     */
    constructor(signature: string, payload: string, proof: RelayProofResponse, relayRequest: RelayRequest);
    /**
     *
     * Creates a JSON object with the RelayResponse properties
     * @returns {JSON} - JSON Object.
     * @memberof RelayResponse
     */
    toJSON(): {
        response: {
            payload: string;
            signature: string;
            proof: {
                entropy: number;
                session_block_height: number;
                servicer_pub_key: string;
                blockchain: string;
                aat: {
                    version: string;
                    app_pub_key: string;
                    client_pub_key: string;
                    signature: string;
                };
                signature: string;
                request_hash: string;
            };
        };
        request: {
            payload: {
                data: string;
                method: string; /**
                 *
                 * Creates a JSON object with the RelayResponse properties
                 * @returns {JSON} - JSON Object.
                 * @memberof RelayResponse
                 */
                path: string;
                headers: Record<string, string> | null | undefined;
            };
            meta: {
                block_height: number;
            };
            proof: {
                entropy: number;
                session_block_height: number;
                servicer_pub_key: string;
                blockchain: string;
                aat: {
                    version: string;
                    app_pub_key: string;
                    client_pub_key: string;
                    signature: string;
                };
                signature: string;
                request_hash: string;
            };
        };
    };
    /**
     *
     * Check if the RelayResponse object is valid
     * @returns {boolean} - True or false.
     * @memberof RelayResponse
     */
    isValid(): boolean;
}
