import { BaseResource } from "../../common";
import { APIGenotype, StoreGenotype } from "./interfaces";
export declare class Genotype extends BaseResource {
    snpRsid: string;
    genotype: string | null;
    constructor(snpRsid: string, genotype: string | null);
    static get resourceName(): string;
    static get serviceName(): string;
    /**
     * Convert the genotype into a JSON serializable object for the API server.
     */
    serializeAPI(): APIGenotype;
    /**
     * Deserialize the data from the API server.
     *
     * @param data The genotype data from the API server.
     */
    deserializeAPI(data: APIGenotype): void;
    /**
     * Serialize the genotype into a format for storing in the Redux store.
     */
    serializeRedux(): StoreGenotype;
    /**
     * Create a genotype from the API server data.
     *
     * @param data Data from the api server.
     *
     * @returns The genotype object.
     */
    static apiFactory(data: APIGenotype): Genotype;
    /**
     * Create a genotype from the Redux store data.
     *
     * @param data Data from the api server.
     *
     * @returns The genotype object.
     */
    static reduxFactory(data: StoreGenotype): Genotype;
    /**
     * Returns array with genotype data.
     *
     * @param fileId Id of the genome file.
     * @param profileId Id of the profile.
     * @param rsid String representation of SNPs rsids.
     */
    static get(fileId: string, profileId: string, rsid: string): Promise<Genotype[]>;
}
