import { Resource } from "../resource"; import { StoreGenomeFileV2 as StoreGenomeFile, APIGenomeFileV2 as APIGenomeFile, GenomeFileStatusV2 as GenomeFileStatus } from "./interfaces"; import { Response } from "src/server"; export declare class GenomeFile extends Resource { /** * The status. */ status: GenomeFileStatus; /** * The id of the profile this file belongs to. */ profileId: string; /** * The Amazon S3 url of the file */ downloadUrl: string; constructor(status: GenomeFileStatus, profileId: string, downloadUrl: string); /** * The name of the GenomeFile resource on the API server. */ static get resourceName(): string; /** * The name of the service containing the GenomeFile resource. */ static get serviceName(): string; /** * Convert the GenomeFile into a JSON serializable object for the API server. */ serializeAPI(): APIGenomeFile; /** * Deserialize the data from the API server. * * @param data The GenomeFile data from the API server. */ deserializeAPI(data: APIGenomeFile): void; /** * Serialize the GenomeFile into a format for storing in the Redux store. */ serializeRedux(): StoreGenomeFile; /** * Handle any http errors. * * @param response The response. * * @returns `null`. */ protected static handleError(response: Response): null; /** * Create a GenomeFile from the API server data. * * @param data Data from the api server. * * @returns The GenomeFile object. */ static apiFactory(data: APIGenomeFile): GenomeFile; /** * Create a GenomeFile from the Redux store data. * * @param data Data from the api server. * * @returns The GenomeFile object. */ static reduxFactory(data: StoreGenomeFile): GenomeFile; }