"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.message
import google.protobuf.wrappers_pb2
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class Evaluation(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing_extensions.final
    class SubjectId(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        @typing_extensions.final
        class DocumentRetrievalId(google.protobuf.message.Message):
            DESCRIPTOR: google.protobuf.descriptor.Descriptor

            SPAN_ID_FIELD_NUMBER: builtins.int
            DOCUMENT_POSITION_FIELD_NUMBER: builtins.int
            span_id: builtins.str
            document_position: builtins.int
            """zero-based index"""
            def __init__(
                self,
                *,
                span_id: builtins.str = ...,
                document_position: builtins.int = ...,
            ) -> None: ...
            def ClearField(self, field_name: typing_extensions.Literal["document_position", b"document_position", "span_id", b"span_id"]) -> None: ...

        TRACE_ID_FIELD_NUMBER: builtins.int
        SPAN_ID_FIELD_NUMBER: builtins.int
        DOCUMENT_RETRIEVAL_ID_FIELD_NUMBER: builtins.int
        trace_id: builtins.str
        span_id: builtins.str
        @property
        def document_retrieval_id(self) -> global___Evaluation.SubjectId.DocumentRetrievalId: ...
        def __init__(
            self,
            *,
            trace_id: builtins.str = ...,
            span_id: builtins.str = ...,
            document_retrieval_id: global___Evaluation.SubjectId.DocumentRetrievalId | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["document_retrieval_id", b"document_retrieval_id", "kind", b"kind", "span_id", b"span_id", "trace_id", b"trace_id"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["document_retrieval_id", b"document_retrieval_id", "kind", b"kind", "span_id", b"span_id", "trace_id", b"trace_id"]) -> None: ...
        def WhichOneof(self, oneof_group: typing_extensions.Literal["kind", b"kind"]) -> typing_extensions.Literal["trace_id", "span_id", "document_retrieval_id"] | None: ...

    @typing_extensions.final
    class Result(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        SCORE_FIELD_NUMBER: builtins.int
        LABEL_FIELD_NUMBER: builtins.int
        EXPLANATION_FIELD_NUMBER: builtins.int
        @property
        def score(self) -> google.protobuf.wrappers_pb2.DoubleValue: ...
        @property
        def label(self) -> google.protobuf.wrappers_pb2.StringValue: ...
        @property
        def explanation(self) -> google.protobuf.wrappers_pb2.StringValue: ...
        def __init__(
            self,
            *,
            score: google.protobuf.wrappers_pb2.DoubleValue | None = ...,
            label: google.protobuf.wrappers_pb2.StringValue | None = ...,
            explanation: google.protobuf.wrappers_pb2.StringValue | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["explanation", b"explanation", "label", b"label", "score", b"score"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["explanation", b"explanation", "label", b"label", "score", b"score"]) -> None: ...

    NAME_FIELD_NUMBER: builtins.int
    SUBJECT_ID_FIELD_NUMBER: builtins.int
    RESULT_FIELD_NUMBER: builtins.int
    name: builtins.str
    @property
    def subject_id(self) -> global___Evaluation.SubjectId: ...
    @property
    def result(self) -> global___Evaluation.Result: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        subject_id: global___Evaluation.SubjectId | None = ...,
        result: global___Evaluation.Result | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["result", b"result", "subject_id", b"subject_id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "result", b"result", "subject_id", b"subject_id"]) -> None: ...

global___Evaluation = Evaluation
