query BrowseVariants(
  $variantName: String
  $featureName: String
  $diseaseName: String
  $therapyName: String
  $variantAlias: String
  $variantTypeId: Int
  $variantGroupId: Int
  $variantTypeName: String
  $hasNoVariantType: Boolean
  $variantCategory: VariantCategories
  $sortBy: VariantsSort
  $first: Int
  $last: Int
  $before: String
  $after: String
) {
  browseVariants(
    variantName: $variantName
    featureName: $featureName
    diseaseName: $diseaseName
    therapyName: $therapyName
    variantAlias: $variantAlias
    variantTypeId: $variantTypeId
    variantGroupId: $variantGroupId
    variantTypeName: $variantTypeName
    hasNoVariantType: $hasNoVariantType
    category: $variantCategory
    sortBy: $sortBy
    first: $first
    last: $last
    before: $before
    after: $after
  ) {
    pageInfo {
      endCursor
      hasNextPage
      startCursor
      hasPreviousPage
    }
    edges {
      cursor
      node {
        ...BrowseVariantsFields
      }
    }
    totalCount
    filteredCount
    pageCount
    lastUpdated
  }
}

fragment BrowseVariantsFields on BrowseVariant {
  id
  name
  link
  featureId
  featureName
  featureLink
  category
  evidenceItemCount
  featureDeprecated
  featureFlagged
  diseases {
    id
    name
    link
    deprecated
  }
  therapies {
    id
    name
    link
    deprecated
  }
  aliases {
    name
  }
  variantTypes {
    id
    name
    link
  }
  deprecated
  flagged
}
