import { APIDiseaseTrait, StoreDiseaseTrait } from "./interfaces";
export declare class DiseaseTrait {
    /**
     * The id of the disease/trait
     */
    id: string;
    /**
     * Name of the disease/trait.
     */
    name: string;
    /**
     * Border color of the disease/trait box.
     */
    borderColor: string;
    /**
     * Color of the title text.
     */
    titleColor: string;
    /**
     * Disease/trait description.
     */
    description: string;
    constructor(id: string, name: string, borderColor: string, titleColor: string, description: string);
    /**
     * Convert the disease-trait into a JSON serializable object for the API server.
     */
    serializeAPI(): APIDiseaseTrait;
    /**
     * Deserialize the data from the API server.
     *
     * @param data The disease-trait data from the API server.
     */
    deserializeAPI(data: APIDiseaseTrait): void;
    /**
     * Serialize the disease-trait into a format for storing in the Redux store.
     */
    serializeRedux(): StoreDiseaseTrait;
    /**
     * Create a disease-trait from the API server data.
     *
     * @param data Data from the api server.
     *
     * @returns The disease-trait object.
     */
    static apiFactory(data: APIDiseaseTrait): DiseaseTrait;
    /**
     * Create a disease-trait from the Redux store data.
     *
     * @param data Data from the api server.
     *
     * @returns The disease-trait object.
     */
    static reduxFactory(data: StoreDiseaseTrait): DiseaseTrait;
    /**
     * Call server for a list of disease traits for a specified snp.
     * @param rsid SNP rsid.
     * @param genotype Client's genotype.
     */
    static generate(rsid: string, genotype?: string): Promise<DiseaseTrait[]>;
}
