import { Optional, Resource } from "../../common";
import { RecommendationTrait } from "../recommendation-trait";
import { RecommendationTraitCondition } from "../recommendation-trait-condition";
import { APIProfileRecommendationTrait, StoreProfileRecommendationTrait } from "./interfaces";
export declare class ProfileRecommendationTrait extends Resource {
    profileReportId: string;
    profileRecommendationId: string;
    recommendationTraitId: string;
    recommendationTrait: RecommendationTrait;
    isRelevant: boolean;
    totalScore: number;
    satisfiedConditions: RecommendationTraitCondition[];
    constructor(profileReportId: string, profileRecommendationId: string, recommendationTraitId: string, recommendationTrait: RecommendationTrait, isRelevant: boolean, totalScore: number, satisfiedConditions: RecommendationTraitCondition[]);
    /**
     * The name of the profile-recommendation-trait resource on the API server.
     */
    static get resourceName(): string;
    /**
     * The name of the service containing the profile-recommendation-trait resource.
     */
    static get serviceName(): string;
    /**
     * Convert the profile-recommendation-trait into a JSON serializable object for the API server.
     */
    serializeAPI(): Optional<APIProfileRecommendationTrait, "id">;
    /**
     * Deserialize the data from the API server.
     *
     * @param data The profile-recommendation-trait data from the API server.
     */
    deserializeAPI(data: APIProfileRecommendationTrait): void;
    /**
     * Serialize the profile-recommendation-trait into a format for storing in the Redux store.
     */
    serializeRedux(): StoreProfileRecommendationTrait;
    /**
     * Create a profile-recommendation-trait from the API server data.
     *
     * @param data Data from the api server.
     *
     * @returns The profile-recommendation-trait object.
     */
    static apiFactory(data: APIProfileRecommendationTrait): ProfileRecommendationTrait;
    /**
     * Create a profile-recommendation-trait from the Redux store data.
     *
     * @param data Data from the api server.
     *
     * @returns The profile-recommendation-trait object.
     */
    static reduxFactory(data: StoreProfileRecommendationTrait): ProfileRecommendationTrait;
}
