import { Ethnicity } from "../../profiles";
import { APIYourSummary, StoreYourSummary } from "./interfaces";
export declare class YourSummary {
    /**
     * Rsid of the snp.
     */
    rsid: string;
    /**
     * Client's genotype.
     */
    genotype: string;
    genotypeColor: string;
    /**
     * Client's ethnicity group.
     */
    ethnicity: Ethnicity;
    /**
     * Snp overview in client's genotype.
     */
    overview: string;
    /**
     * Suggestions for the client.
     */
    suggestions: string;
    /**
     * Presence of the snp among client's ethnicity group.
     */
    ethnicityPopulation: number;
    /**
     * Presence of the snp among whole population.
     */
    generalPopulation: number;
    constructor(rsid: string, genotype: string, genotypeColor: string, ethnicity: Ethnicity, overview: string, suggestions: string, ethnicityPopulation: number, generalPopulation: number);
    get id(): string;
    /**
     * Convert the your-summary into a JSON serializable object for the API server.
     */
    serializeAPI(): APIYourSummary;
    /**
     * Deserialize the data from the API server.
     *
     * @param data The your-summary data from the API server.
     */
    deserializeAPI(data: APIYourSummary): void;
    /**
     * Serialize the your-summary into a format for storing in the Redux store.
     */
    serializeRedux(): StoreYourSummary;
    /**
     * Create a your-summary from the API server data.
     *
     * @param data Data from the api server.
     *
     * @returns The your-summary object.
     */
    static apiFactory(data: APIYourSummary): YourSummary;
    /**
     * Create a your-summary from the Redux store data.
     *
     * @param data Data from the api server.
     *
     * @returns The your-summary object.
     */
    static reduxFactory(data: StoreYourSummary): YourSummary;
    /**
     * Call to generate your summary for specified data.
     * @param rsid SNP rsid.
     * @param genotype Client's genotype.
     * @param ethnicity Client's ethnicity.
     */
    static generate(rsid: string, genotype: string, ethnicity: Ethnicity): Promise<YourSummary>;
}
