"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
Protocol buffers for types for per-gene impact."""

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import sys
import typing

if sys.version_info >= (3, 10):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class _GeneImpact:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _GeneImpactEnumTypeWrapper(
    google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_GeneImpact.ValueType],
    builtins.type,
):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    GENE_IMPACT_UNSPECIFIED: _GeneImpact.ValueType  # 0
    """unspecified impact"""
    GENE_IMPACT_THREE_PRIME_UTR_VARIANT: _GeneImpact.ValueType  # 1
    """Corresponds to "3_prime_UTR_variant" """
    GENE_IMPACT_FIVE_PRIME_UTR_VARIANT: _GeneImpact.ValueType  # 2
    """Corresponds to "5_prime_UTR_variant" """
    GENE_IMPACT_DOWNSTREAM_TRANSCRIPT_VARIANT: _GeneImpact.ValueType  # 3
    """Corresponds to "downstream_gene_variant" """
    GENE_IMPACT_FRAMESHIFT_VARIANT: _GeneImpact.ValueType  # 4
    """Corresponds to "frameshift_variant" """
    GENE_IMPACT_INFRAME_INDEL: _GeneImpact.ValueType  # 5
    """Corresponds to "inframe_indel" """
    GENE_IMPACT_START_LOST: _GeneImpact.ValueType  # 6
    """Corresponds to "start_lost" """
    GENE_IMPACT_INTRON_VARIANT: _GeneImpact.ValueType  # 7
    """Corresponds to "intron_variant" """
    GENE_IMPACT_MISSENSE_VARIANT: _GeneImpact.ValueType  # 8
    """Corresponds to "missense_variant" """
    GENE_IMPACT_NON_CODING_TRANSCRIPT_VARIANT: _GeneImpact.ValueType  # 9
    """Corresponds to "non_codnig_transcript_variant" """
    GENE_IMPACT_STOP_GAINED: _GeneImpact.ValueType  # 10
    """Corresponds to "stop_gained" """
    GENE_IMPACT_NO_SEQUENCE_ALTERATION: _GeneImpact.ValueType  # 11
    """Corresponds to "no_sequence_alteration" """
    GENE_IMPACT_SPLICE_ACCEPTOR_VARIANT: _GeneImpact.ValueType  # 12
    """Corresponds to "splice_acceptor_variant" """
    GENE_IMPACT_SPLICE_DONOR_VARIANT: _GeneImpact.ValueType  # 13
    """Corresponds to "splice_donor_variant" """
    GENE_IMPACT_STOP_LOST: _GeneImpact.ValueType  # 14
    """Corresponds to "stop_lost" """
    GENE_IMPACT_SYNONYMOUS_VARIANT: _GeneImpact.ValueType  # 15
    """Corresponds to "synonymous_variant" """
    GENE_IMPACT_UPSTREAM_TRANSCRIPT_VARIANT: _GeneImpact.ValueType  # 16
    """Corresponds to "upstream_gene_variant" """

class GeneImpact(_GeneImpact, metaclass=_GeneImpactEnumTypeWrapper):
    """Enumeration with the variant consequence."""

GENE_IMPACT_UNSPECIFIED: GeneImpact.ValueType  # 0
"""unspecified impact"""
GENE_IMPACT_THREE_PRIME_UTR_VARIANT: GeneImpact.ValueType  # 1
"""Corresponds to "3_prime_UTR_variant" """
GENE_IMPACT_FIVE_PRIME_UTR_VARIANT: GeneImpact.ValueType  # 2
"""Corresponds to "5_prime_UTR_variant" """
GENE_IMPACT_DOWNSTREAM_TRANSCRIPT_VARIANT: GeneImpact.ValueType  # 3
"""Corresponds to "downstream_gene_variant" """
GENE_IMPACT_FRAMESHIFT_VARIANT: GeneImpact.ValueType  # 4
"""Corresponds to "frameshift_variant" """
GENE_IMPACT_INFRAME_INDEL: GeneImpact.ValueType  # 5
"""Corresponds to "inframe_indel" """
GENE_IMPACT_START_LOST: GeneImpact.ValueType  # 6
"""Corresponds to "start_lost" """
GENE_IMPACT_INTRON_VARIANT: GeneImpact.ValueType  # 7
"""Corresponds to "intron_variant" """
GENE_IMPACT_MISSENSE_VARIANT: GeneImpact.ValueType  # 8
"""Corresponds to "missense_variant" """
GENE_IMPACT_NON_CODING_TRANSCRIPT_VARIANT: GeneImpact.ValueType  # 9
"""Corresponds to "non_codnig_transcript_variant" """
GENE_IMPACT_STOP_GAINED: GeneImpact.ValueType  # 10
"""Corresponds to "stop_gained" """
GENE_IMPACT_NO_SEQUENCE_ALTERATION: GeneImpact.ValueType  # 11
"""Corresponds to "no_sequence_alteration" """
GENE_IMPACT_SPLICE_ACCEPTOR_VARIANT: GeneImpact.ValueType  # 12
"""Corresponds to "splice_acceptor_variant" """
GENE_IMPACT_SPLICE_DONOR_VARIANT: GeneImpact.ValueType  # 13
"""Corresponds to "splice_donor_variant" """
GENE_IMPACT_STOP_LOST: GeneImpact.ValueType  # 14
"""Corresponds to "stop_lost" """
GENE_IMPACT_SYNONYMOUS_VARIANT: GeneImpact.ValueType  # 15
"""Corresponds to "synonymous_variant" """
GENE_IMPACT_UPSTREAM_TRANSCRIPT_VARIANT: GeneImpact.ValueType  # 16
"""Corresponds to "upstream_gene_variant" """
global___GeneImpact = GeneImpact

class _ClinicalSignificance:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _ClinicalSignificanceEnumTypeWrapper(
    google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ClinicalSignificance.ValueType],
    builtins.type,
):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    CLINICAL_SIGNIFICANCE_UNSPECIFIED: _ClinicalSignificance.ValueType  # 0
    """unspecified clinical significance"""
    CLINICAL_SIGNIFICANCE_BENIGN: _ClinicalSignificance.ValueType  # 1
    """Corresponds to "Benign" """
    CLINICAL_SIGNIFICANCE_LIKELY_BENIGN: _ClinicalSignificance.ValueType  # 2
    """Corresponds to "Likely benign" """
    CLINICAL_SIGNIFICANCE_UNCERTAIN_SIGNIFICANCE: _ClinicalSignificance.ValueType  # 3
    """Corresponds to "Uncertain significance" """
    CLINICAL_SIGNIFICANCE_LIKELY_PATHOGENIC: _ClinicalSignificance.ValueType  # 4
    """Corresponds to "Likely pathogenic" """
    CLINICAL_SIGNIFICANCE_PATHOGENIC: _ClinicalSignificance.ValueType  # 5
    """Corresponds to "Pathogenic" """
    CLINICAL_SIGNIFICANCE_NOT_PROVIDED: _ClinicalSignificance.ValueType  # 6
    """Corresponds to "not provided" """
    CLINICAL_SIGNIFICANCE_OTHER: _ClinicalSignificance.ValueType  # 7
    """Corresponds to "other" """

class ClinicalSignificance(_ClinicalSignificance, metaclass=_ClinicalSignificanceEnumTypeWrapper):
    """Enumeration for ACMG clinical significance."""

CLINICAL_SIGNIFICANCE_UNSPECIFIED: ClinicalSignificance.ValueType  # 0
"""unspecified clinical significance"""
CLINICAL_SIGNIFICANCE_BENIGN: ClinicalSignificance.ValueType  # 1
"""Corresponds to "Benign" """
CLINICAL_SIGNIFICANCE_LIKELY_BENIGN: ClinicalSignificance.ValueType  # 2
"""Corresponds to "Likely benign" """
CLINICAL_SIGNIFICANCE_UNCERTAIN_SIGNIFICANCE: ClinicalSignificance.ValueType  # 3
"""Corresponds to "Uncertain significance" """
CLINICAL_SIGNIFICANCE_LIKELY_PATHOGENIC: ClinicalSignificance.ValueType  # 4
"""Corresponds to "Likely pathogenic" """
CLINICAL_SIGNIFICANCE_PATHOGENIC: ClinicalSignificance.ValueType  # 5
"""Corresponds to "Pathogenic" """
CLINICAL_SIGNIFICANCE_NOT_PROVIDED: ClinicalSignificance.ValueType  # 6
"""Corresponds to "not provided" """
CLINICAL_SIGNIFICANCE_OTHER: ClinicalSignificance.ValueType  # 7
"""Corresponds to "other" """
global___ClinicalSignificance = ClinicalSignificance

@typing.final
class GeneImpactCounts(google.protobuf.message.Message):
    """Entry for storing counts of `GeneImpact` and `ClinicalSignificance`."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing.final
    class ImpactCounts(google.protobuf.message.Message):
        """Stores the counts for a gene impact."""

        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        GENE_IMPACT_FIELD_NUMBER: builtins.int
        COUNT_BENIGN_FIELD_NUMBER: builtins.int
        COUNT_LIKELY_BENIGN_FIELD_NUMBER: builtins.int
        COUNT_UNCERTAIN_SIGNIFICANCE_FIELD_NUMBER: builtins.int
        COUNT_LIKELY_PATHOGENIC_FIELD_NUMBER: builtins.int
        COUNT_PATHOGENIC_FIELD_NUMBER: builtins.int
        gene_impact: global___GeneImpact.ValueType
        """The gene impact."""
        count_benign: builtins.int
        """The counts for the benign impact."""
        count_likely_benign: builtins.int
        """The counts for the likely benign impact."""
        count_uncertain_significance: builtins.int
        """The counts for the uncertain significance impact."""
        count_likely_pathogenic: builtins.int
        """The counts for the likely pathogenic impact."""
        count_pathogenic: builtins.int
        """The counts for the pathogenic impact."""
        def __init__(
            self,
            *,
            gene_impact: global___GeneImpact.ValueType = ...,
            count_benign: builtins.int = ...,
            count_likely_benign: builtins.int = ...,
            count_uncertain_significance: builtins.int = ...,
            count_likely_pathogenic: builtins.int = ...,
            count_pathogenic: builtins.int = ...,
        ) -> None: ...
        def ClearField(
            self,
            field_name: typing.Literal[
                "count_benign",
                b"count_benign",
                "count_likely_benign",
                b"count_likely_benign",
                "count_likely_pathogenic",
                b"count_likely_pathogenic",
                "count_pathogenic",
                b"count_pathogenic",
                "count_uncertain_significance",
                b"count_uncertain_significance",
                "gene_impact",
                b"gene_impact",
            ],
        ) -> None: ...

    HGNC_ID_FIELD_NUMBER: builtins.int
    IMPACT_COUNTS_FIELD_NUMBER: builtins.int
    hgnc_id: builtins.str
    """The gene HGNC ID."""
    @property
    def impact_counts(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___GeneImpactCounts.ImpactCounts
    ]:
        """The impact counts."""

    def __init__(
        self,
        *,
        hgnc_id: builtins.str = ...,
        impact_counts: (
            collections.abc.Iterable[global___GeneImpactCounts.ImpactCounts] | None
        ) = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing.Literal["hgnc_id", b"hgnc_id", "impact_counts", b"impact_counts"]
    ) -> None: ...

global___GeneImpactCounts = GeneImpactCounts
