"""
@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 insightproto.proto.common.v1.common_pb2
import insightproto.proto.jobs.v1.jobs_pb2
import insightproto.proto.results.v1.results_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

@typing.final
class InsightComplete(google.protobuf.message.Message):
    """this is used to publish an event to indicate that the insight job is complete"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    ORG_FIELD_NUMBER: builtins.int
    TRIGGER_FIELD_NUMBER: builtins.int
    CLOSEDAT_FIELD_NUMBER: builtins.int
    CREATEDAT_FIELD_NUMBER: builtins.int
    TITLE_FIELD_NUMBER: builtins.int
    SUMMARY_FIELD_NUMBER: builtins.int
    HYPOTHESES_FIELD_NUMBER: builtins.int
    id: builtins.str
    """the id of the job"""
    title: builtins.str
    """the investigation title"""
    summary: builtins.str
    """the investigation summary"""
    @property
    def org(self) -> insightproto.proto.common.v1.common_pb2.Organisation:
        """the organisation the job is for"""

    @property
    def trigger(self) -> insightproto.proto.jobs.v1.jobs_pb2.Trigger:
        """the triggering event"""

    @property
    def closedAt(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """the time this was closed"""

    @property
    def createdAt(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """the time this investigation was created"""

    @property
    def hypotheses(self) -> insightproto.proto.results.v1.results_pb2.Hypothesis:
        """the investigation key hypothesis"""

    def __init__(
        self,
        *,
        id: builtins.str = ...,
        org: insightproto.proto.common.v1.common_pb2.Organisation | None = ...,
        trigger: insightproto.proto.jobs.v1.jobs_pb2.Trigger | None = ...,
        closedAt: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        createdAt: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        title: builtins.str = ...,
        summary: builtins.str = ...,
        hypotheses: insightproto.proto.results.v1.results_pb2.Hypothesis | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["closedAt", b"closedAt", "createdAt", b"createdAt", "hypotheses", b"hypotheses", "org", b"org", "trigger", b"trigger"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["closedAt", b"closedAt", "createdAt", b"createdAt", "hypotheses", b"hypotheses", "id", b"id", "org", b"org", "summary", b"summary", "title", b"title", "trigger", b"trigger"]) -> None: ...

Global___InsightComplete: typing_extensions.TypeAlias = InsightComplete
