/**
 * @class ChallengeRequest
 */
import { MajorityResponse } from "./majority-response";
import { MinorityResponse } from "./minority-response";
export declare class ChallengeRequest {
    /**
     *
     * Creates a ChallengeRequest object using a JSON string
     * @param {String} json - JSON string.
     * @returns {ChallengeRequest} - ChallengeRequest object.
     * @memberof ChallengeRequest
     */
    static fromJSON(json: string): ChallengeRequest;
    readonly majorityResponse: MajorityResponse;
    readonly minorityResponse: MinorityResponse;
    /**
     * Challenge Request.
     * @constructor
     * @param {MajorityResponse} majorityResponse - MajorityResponse object.
     * @param {MinorityResponse} minorityResponse - MinorityResponse object.
     */
    constructor(majorityResponse: MajorityResponse, minorityResponse: MinorityResponse);
    /**
     *
     * Creates a JSON object with the ChallengeRequest properties
     * @returns {JSON} - JSON Object.
     * @memberof ChallengeRequest
     */
    toJSON(): {
        majority_responses: import("..").RelayResponse[];
        minority_response: {
            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;
                    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 ChallengeRequest object is valid
     * @returns {boolean} - True or false.
     * @memberof ChallengeRequest
     */
    isValid(): boolean;
}
