import { Resource } from "../../common";
import { APIRecommendationTraitCondition, ConditionType, StoreRecommendationTraitCondition } from "./interfaces";
export declare class RecommendationTraitCondition extends Resource {
    /**
     * ID of this condition's recommendation trait.
     */
    recommendationTraitId: string;
    /**
     * The condition type (SNP or TraitScore).
     */
    conditionType: ConditionType;
    /**
     * The recommendation trait conditional score.
     */
    conditionalScore: number;
    /**
     * The recommendation trait conditional text.
     */
    conditionalText: string;
    /**
     * The recommendation-trait-condition's priority.
     */
    priority: number;
    /**
     * The effect of the recommendation if the user has this genotype (for snp based rtc)
     */
    effect: number | null;
    /**
     * The evidence for the recommendation if the user has this genotype (for snp based rtc)
     */
    evidence: number | null;
    /**
     * User genotype.
     */
    genotype: string | null;
    /**
     * Rsid of the SNP.
     */
    rsid: string | null;
    /**
     * Scenario id
     */
    scenarioId: string | null;
    /**
     * Snp Trigger Evidence
     */
    snpTriggerEvidence: number | null;
    constructor(recommendationTraitId: string, conditionType: ConditionType, conditionalScore: number, conditionalText: string, priority: number, effect: number | null, evidence: number | null, genotype: string | null, rsid: string | null, scenarioId: string | null, snpTriggerEvidence: number | null);
    /**
     * The name of the recommendation-trait-condition resource on the API server.
     */
    static get resourceName(): string;
    /**
     * The name of the service containing the recommendation-trait-condition resource.
     */
    static get serviceName(): string;
    /**
     * Convert the recommendation-trait-condition into a JSON serializable object for the API server.
     */
    serializeAPI(): APIRecommendationTraitCondition;
    /**
     * Deserialize the data from the API server.
     *
     * @param data The recommendation-trait-condition data from the API server.
     */
    deserializeAPI(data: APIRecommendationTraitCondition): void;
    /**
     * Serialize the recommendation-trait-condition into a format for storing in the Redux store.
     */
    serializeRedux(): StoreRecommendationTraitCondition;
    /**
     * Create a recommendation-trait-condition from the API server data.
     *
     * @param data Data from the api server.
     *
     * @returns The recommendation-trait-condition object.
     */
    static apiFactory(data: APIRecommendationTraitCondition): RecommendationTraitCondition;
    /**
     * Create a recommendation-trait-condition from the Redux store data.
     *
     * @param data Data from the api server.
     *
     * @returns The recommendation-trait-condition object.
     */
    static reduxFactory(data: StoreRecommendationTraitCondition): RecommendationTraitCondition;
}
