/*
 * Copyright 2020 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
 *
 *     https://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.
 */
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/cloud/datalabeling/v1beta1/evaluation.proto

package com.google.cloud.datalabeling.v1beta1;

public interface EvaluationOrBuilder
    extends
    // @@protoc_insertion_point(interface_extends:google.cloud.datalabeling.v1beta1.Evaluation)
    com.google.protobuf.MessageOrBuilder {

  /**
   *
   *
   * <pre>
   * Output only. Resource name of an evaluation. The name has the following
   * format:
   * "projects/&lt;var&gt;{project_id}&lt;/var&gt;/datasets/&lt;var&gt;{dataset_id}&lt;/var&gt;/evaluations/&lt;var&gt;{evaluation_id&lt;/var&gt;}'
   * </pre>
   *
   * <code>string name = 1;</code>
   *
   * @return The name.
   */
  java.lang.String getName();
  /**
   *
   *
   * <pre>
   * Output only. Resource name of an evaluation. The name has the following
   * format:
   * "projects/&lt;var&gt;{project_id}&lt;/var&gt;/datasets/&lt;var&gt;{dataset_id}&lt;/var&gt;/evaluations/&lt;var&gt;{evaluation_id&lt;/var&gt;}'
   * </pre>
   *
   * <code>string name = 1;</code>
   *
   * @return The bytes for name.
   */
  com.google.protobuf.ByteString getNameBytes();

  /**
   *
   *
   * <pre>
   * Output only. Options used in the evaluation job that created this
   * evaluation.
   * </pre>
   *
   * <code>.google.cloud.datalabeling.v1beta1.EvaluationConfig config = 2;</code>
   *
   * @return Whether the config field is set.
   */
  boolean hasConfig();
  /**
   *
   *
   * <pre>
   * Output only. Options used in the evaluation job that created this
   * evaluation.
   * </pre>
   *
   * <code>.google.cloud.datalabeling.v1beta1.EvaluationConfig config = 2;</code>
   *
   * @return The config.
   */
  com.google.cloud.datalabeling.v1beta1.EvaluationConfig getConfig();
  /**
   *
   *
   * <pre>
   * Output only. Options used in the evaluation job that created this
   * evaluation.
   * </pre>
   *
   * <code>.google.cloud.datalabeling.v1beta1.EvaluationConfig config = 2;</code>
   */
  com.google.cloud.datalabeling.v1beta1.EvaluationConfigOrBuilder getConfigOrBuilder();

  /**
   *
   *
   * <pre>
   * Output only. Timestamp for when the evaluation job that created this
   * evaluation ran.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp evaluation_job_run_time = 3;</code>
   *
   * @return Whether the evaluationJobRunTime field is set.
   */
  boolean hasEvaluationJobRunTime();
  /**
   *
   *
   * <pre>
   * Output only. Timestamp for when the evaluation job that created this
   * evaluation ran.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp evaluation_job_run_time = 3;</code>
   *
   * @return The evaluationJobRunTime.
   */
  com.google.protobuf.Timestamp getEvaluationJobRunTime();
  /**
   *
   *
   * <pre>
   * Output only. Timestamp for when the evaluation job that created this
   * evaluation ran.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp evaluation_job_run_time = 3;</code>
   */
  com.google.protobuf.TimestampOrBuilder getEvaluationJobRunTimeOrBuilder();

  /**
   *
   *
   * <pre>
   * Output only. Timestamp for when this evaluation was created.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp create_time = 4;</code>
   *
   * @return Whether the createTime field is set.
   */
  boolean hasCreateTime();
  /**
   *
   *
   * <pre>
   * Output only. Timestamp for when this evaluation was created.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp create_time = 4;</code>
   *
   * @return The createTime.
   */
  com.google.protobuf.Timestamp getCreateTime();
  /**
   *
   *
   * <pre>
   * Output only. Timestamp for when this evaluation was created.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp create_time = 4;</code>
   */
  com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder();

  /**
   *
   *
   * <pre>
   * Output only. Metrics comparing predictions to ground truth labels.
   * </pre>
   *
   * <code>.google.cloud.datalabeling.v1beta1.EvaluationMetrics evaluation_metrics = 5;</code>
   *
   * @return Whether the evaluationMetrics field is set.
   */
  boolean hasEvaluationMetrics();
  /**
   *
   *
   * <pre>
   * Output only. Metrics comparing predictions to ground truth labels.
   * </pre>
   *
   * <code>.google.cloud.datalabeling.v1beta1.EvaluationMetrics evaluation_metrics = 5;</code>
   *
   * @return The evaluationMetrics.
   */
  com.google.cloud.datalabeling.v1beta1.EvaluationMetrics getEvaluationMetrics();
  /**
   *
   *
   * <pre>
   * Output only. Metrics comparing predictions to ground truth labels.
   * </pre>
   *
   * <code>.google.cloud.datalabeling.v1beta1.EvaluationMetrics evaluation_metrics = 5;</code>
   */
  com.google.cloud.datalabeling.v1beta1.EvaluationMetricsOrBuilder getEvaluationMetricsOrBuilder();

  /**
   *
   *
   * <pre>
   * Output only. Type of task that the model version being evaluated performs,
   * as defined in the
   * [evaluationJobConfig.inputConfig.annotationType][google.cloud.datalabeling.v1beta1.EvaluationJobConfig.input_config]
   * field of the evaluation job that created this evaluation.
   * </pre>
   *
   * <code>.google.cloud.datalabeling.v1beta1.AnnotationType annotation_type = 6;</code>
   *
   * @return The enum numeric value on the wire for annotationType.
   */
  int getAnnotationTypeValue();
  /**
   *
   *
   * <pre>
   * Output only. Type of task that the model version being evaluated performs,
   * as defined in the
   * [evaluationJobConfig.inputConfig.annotationType][google.cloud.datalabeling.v1beta1.EvaluationJobConfig.input_config]
   * field of the evaluation job that created this evaluation.
   * </pre>
   *
   * <code>.google.cloud.datalabeling.v1beta1.AnnotationType annotation_type = 6;</code>
   *
   * @return The annotationType.
   */
  com.google.cloud.datalabeling.v1beta1.AnnotationType getAnnotationType();

  /**
   *
   *
   * <pre>
   * Output only. The number of items in the ground truth dataset that were used
   * for this evaluation. Only populated when the evaulation is for certain
   * AnnotationTypes.
   * </pre>
   *
   * <code>int64 evaluated_item_count = 7;</code>
   *
   * @return The evaluatedItemCount.
   */
  long getEvaluatedItemCount();
}
