export declare type GenomeFileStatusV1 = "uploading" | "uploaded" | "queued" | "processing" | "error" | "completed";
export declare type GenomeFileStatusV2 = "CREATED" | "UPLOADING" | "UPLOADED" | "UPLOAD_ERROR" | "SCANNING" | "RESCANNING" | "COMPLETED" | "ERROR" | "PROCESSED" | "INGESTED";
/**
 * Not using this right now, but might use later, so keping it for now
 */
export declare enum ProvidersPlans {
    DirectUpload = 0,
    Unknown = 1,
    TwentyThreeAndMeApi = 2,
    Sequencing = 3,
    DDC = 4,
    EUROFINS = 5
}
/**
 * Not using this right now, but might use later, so keping it for now
 */
export declare enum GenomeFileProviders {
    TwentyThreeAndMe = 0,
    Ancestry = 1,
    Courtagen = 2,
    FamilyTree = 3,
    VCF = 4,
    MyHeritage = 5,
    Atlas = 6,
    MapMyGenome = 7,
    Diagnomics = 8,
    GenesForGood = 9,
    DNALand = 10,
    Illumina = 11,
    GenosV1 = 12,
    GenosV2 = 13,
    LivingDNA = 14,
    iGene = 15,
    DNADiagnosticsCenter = 16,
    Sequencing = 17,
    Nebula = 18,
    Dante = 19,
    Unknown = 20,
    Eurofins = 21,
    GeneticDirection = 22
}
export declare type AthenaStatus = "NOT_STARTED" | "IN_PROGRESS" | "INGESTED";
/**
 * The GenomeFile interface for the Redux store.
 */
export interface StoreGenomeFileV1 {
    id: string;
    active: boolean;
    status: GenomeFileStatusV1;
    profileId: string;
    lastRescanAt: string | null;
    rescanAvailable: boolean;
    url: string;
    isDemoFile: boolean;
}
/**
 * The GenomFile interface for the API server.
 */
export interface APIGenomeFileV1 {
    id?: string;
    active: boolean;
    status: GenomeFileStatusV1;
    profile_id: string;
    last_rescan_at: string | null;
    rescan_available: boolean;
    url: string;
    is_demofile?: boolean;
}
export interface CompleteAPIGenomeFile {
    id?: string;
    profile_id: string;
    name: string;
    file_size: string;
    status?: GenomeFileStatusV1;
    provider?: string;
    service?: string;
    created?: number;
    last_rescan_at?: string;
    rescan_available?: boolean;
    progress?: string;
    status_message?: string;
    active: boolean;
    url: string;
    is_demofile?: boolean;
}
export interface APIGenomeFileV2 {
    id?: string;
    profile_id: string;
    provider?: GenomeFileProviders;
    download_url: string;
    status: GenomeFileStatusV2;
    athena_status: AthenaStatus;
    file_processing_version: string | null;
    last_scan_started_at?: string;
    last_scan_ended_at?: string;
}
export interface StoreGenomeFileV2 {
    id?: string;
    status: GenomeFileStatusV2;
    athenaStatus: AthenaStatus;
    profileId: string;
    downloadUrl: string;
    fileProcessingVersion: string | null;
    lastScanStartedAt?: string;
    lastScanEndedAt?: string;
    isV2: true;
}
export interface GenomeFileCreationResponse {
    id: string;
}
export interface GenomeFileUploadResponse {
    id: string;
    upload_url: string;
}
