"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
Copyright 2024 Google LLC

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
"""

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 google.protobuf.timestamp_pb2
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 _ImportFindingType:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _ImportFindingTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ImportFindingType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    IMPORT_FINDING_TYPE_NONE: _ImportFindingType.ValueType  # 0
    IMPORT_FINDING_TYPE_DELETED: _ImportFindingType.ValueType  # 1
    IMPORT_FINDING_TYPE_INVALID_JSON: _ImportFindingType.ValueType  # 2
    IMPORT_FINDING_TYPE_INVALID_PACKAGE: _ImportFindingType.ValueType  # 3
    IMPORT_FINDING_TYPE_INVALID_PURL: _ImportFindingType.ValueType  # 4
    IMPORT_FINDING_TYPE_INVALID_VERSION: _ImportFindingType.ValueType  # 5
    IMPORT_FINDING_TYPE_INVALID_COMMIT: _ImportFindingType.ValueType  # 6
    IMPORT_FINDING_TYPE_INVALID_RANGE: _ImportFindingType.ValueType  # 7
    IMPORT_FINDING_TYPE_INVALID_RECORD: _ImportFindingType.ValueType  # 8
    IMPORT_FINDING_TYPE_INVALID_ALIASES: _ImportFindingType.ValueType  # 9
    IMPORT_FINDING_TYPE_INVALID_UPSTREAM: _ImportFindingType.ValueType  # 10
    IMPORT_FINDING_TYPE_INVALID_RELATED: _ImportFindingType.ValueType  # 11
    IMPORT_FINDING_TYPE_BAD_ALIASED_CVE: _ImportFindingType.ValueType  # 12

class ImportFindingType(_ImportFindingType, metaclass=_ImportFindingTypeEnumTypeWrapper): ...

IMPORT_FINDING_TYPE_NONE: ImportFindingType.ValueType  # 0
IMPORT_FINDING_TYPE_DELETED: ImportFindingType.ValueType  # 1
IMPORT_FINDING_TYPE_INVALID_JSON: ImportFindingType.ValueType  # 2
IMPORT_FINDING_TYPE_INVALID_PACKAGE: ImportFindingType.ValueType  # 3
IMPORT_FINDING_TYPE_INVALID_PURL: ImportFindingType.ValueType  # 4
IMPORT_FINDING_TYPE_INVALID_VERSION: ImportFindingType.ValueType  # 5
IMPORT_FINDING_TYPE_INVALID_COMMIT: ImportFindingType.ValueType  # 6
IMPORT_FINDING_TYPE_INVALID_RANGE: ImportFindingType.ValueType  # 7
IMPORT_FINDING_TYPE_INVALID_RECORD: ImportFindingType.ValueType  # 8
IMPORT_FINDING_TYPE_INVALID_ALIASES: ImportFindingType.ValueType  # 9
IMPORT_FINDING_TYPE_INVALID_UPSTREAM: ImportFindingType.ValueType  # 10
IMPORT_FINDING_TYPE_INVALID_RELATED: ImportFindingType.ValueType  # 11
IMPORT_FINDING_TYPE_BAD_ALIASED_CVE: ImportFindingType.ValueType  # 12
global___ImportFindingType = ImportFindingType

@typing.final
class ImportFinding(google.protobuf.message.Message):
    """An importfinding entry.
    The protobuf representation is *NOT* stable and only used for implementing
    the JSON based API.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BUG_ID_FIELD_NUMBER: builtins.int
    SOURCE_FIELD_NUMBER: builtins.int
    FINDINGS_FIELD_NUMBER: builtins.int
    FIRST_SEEN_FIELD_NUMBER: builtins.int
    LAST_ATTEMPT_FIELD_NUMBER: builtins.int
    bug_id: builtins.str
    source: builtins.str
    @property
    def findings(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___ImportFindingType.ValueType]: ...
    @property
    def first_seen(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def last_attempt(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        bug_id: builtins.str = ...,
        source: builtins.str = ...,
        findings: collections.abc.Iterable[global___ImportFindingType.ValueType] | None = ...,
        first_seen: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        last_attempt: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["first_seen", b"first_seen", "last_attempt", b"last_attempt"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["bug_id", b"bug_id", "findings", b"findings", "first_seen", b"first_seen", "last_attempt", b"last_attempt", "source", b"source"]) -> None: ...

global___ImportFinding = ImportFinding
