export const NONE_SELECT_VALUE = "__none__";

export interface SelectOption {
  value: string;
  label: string;
}

export interface VariantQuery {
  variant_name?: string;
  variant_type?: string;
  variant_set_id?: string;
  reference_set_id?: string;
}

export interface ReferenceRecord {
  id: string;
  referenceId: string;
  referenceDbId: string;
  referenceName: string | null;
  reference_name: string | null;
  referenceSetDbId: string | null;
  reference_set_id: string | null;
  referenceSetName: string | null;
  reference_set_name: string | null;
  length: number | string | null;
  md5checksum: string | null;
  sourceDivergence: number | string | null;
  source_divergence: number | string | null;
}

export interface VariantRecord {
  id: string;
  variantId: string;
  variantDbId: string;
  variantName: string | null;
  variant_name: string | null;
  variantNames?: string[] | null;
  variantType: string | null;
  variant_type: string | null;
  variantSetDbId: string | string[] | null;
  variant_set_id: string | null;
  variantSetName: string | null;
  variant_set_name: string | null;
  referenceSetDbId: string | null;
  reference_set_id: string | null;
  referenceSetName: string | null;
  reference_set_name: string | null;
  start: number | string | null;
  end: number | string | null;
  variantStart: number | string | null;
  variantEnd: number | string | null;
  variant_start: number | string | null;
  variant_end: number | string | null;
  referenceBases: string | null;
  reference_bases: string | null;
  svlen: number | string | null;
  filtersApplied: boolean | null;
  filters_applied: boolean | null;
  filtersPassed: boolean | null;
  filters_passed: boolean | null;
  allele_call_count?: number | null;
}

export interface CallGenotype {
  values?: string[];
}

export interface CallRecord {
  id: string;
  callDbId: string;
  callSetDbId: string | null;
  call_set_id: string | null;
  callSetName: string | null;
  call_set_name: string | null;
  variantDbId: string | null;
  variant_id: string | null;
  variantName: string | null;
  variant_name: string | null;
  genotype: CallGenotype | string | null;
  genotypeText: string | null;
  genotype_text: string | null;
  genotypeLikelihood: number | string | null;
  genotype_likelihood: number | string | null;
  readDepth: number | string | null;
  read_depth: number | string | null;
  phaseSet: string | null;
  phase_set: string | null;
}
