"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.message
import google.protobuf.timestamp_pb2
import prodvana.proto.prodvana.impact_analysis.impact_analysis_pb2
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class User(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    EMAIL_FIELD_NUMBER: builtins.int
    name: builtins.str
    email: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        email: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["email", b"email", "name", b"name"]) -> None: ...

global___User = User

class Commit(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    COMMIT_ID_FIELD_NUMBER: builtins.int
    URL_FIELD_NUMBER: builtins.int
    MESSAGE_FIELD_NUMBER: builtins.int
    AUTHOR_FIELD_NUMBER: builtins.int
    IMPACT_ANALYSIS_FIELD_NUMBER: builtins.int
    COMMIT_TIMESTAMP_FIELD_NUMBER: builtins.int
    commit_id: builtins.str
    url: builtins.str
    message: builtins.str
    @property
    def author(self) -> global___User: ...
    @property
    def impact_analysis(self) -> prodvana.proto.prodvana.impact_analysis.impact_analysis_pb2.ImpactAnalysisResult: ...
    @property
    def commit_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        commit_id: builtins.str = ...,
        url: builtins.str = ...,
        message: builtins.str = ...,
        author: global___User | None = ...,
        impact_analysis: prodvana.proto.prodvana.impact_analysis.impact_analysis_pb2.ImpactAnalysisResult | None = ...,
        commit_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["author", b"author", "commit_timestamp", b"commit_timestamp", "impact_analysis", b"impact_analysis"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["author", b"author", "commit_id", b"commit_id", "commit_timestamp", b"commit_timestamp", "impact_analysis", b"impact_analysis", "message", b"message", "url", b"url"]) -> None: ...

global___Commit = Commit

class FuzzyCommit(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    COMMIT_ISH_FIELD_NUMBER: builtins.int
    SOURCE_FIELD_NUMBER: builtins.int
    commit_ish: builtins.str
    source: builtins.str
    def __init__(
        self,
        *,
        commit_ish: builtins.str = ...,
        source: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["commit_ish", b"commit_ish", "source", b"source"]) -> None: ...

global___FuzzyCommit = FuzzyCommit
