chromium/components/segmentation_platform/public/result.h

// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_SEGMENTATION_PLATFORM_PUBLIC_RESULT_H_
#define COMPONENTS_SEGMENTATION_PLATFORM_PUBLIC_RESULT_H_

#include <optional>
#include <string>
#include <string_view>
#include <vector>

#include "base/functional/callback_helpers.h"
#include "components/segmentation_platform/public/proto/prediction_result.pb.h"
#include "components/segmentation_platform/public/trigger.h"

namespace segmentation_platform {

// Various status for PredictionResult.
// GENERATED_JAVA_ENUM_PACKAGE: (
//   org.chromium.components.segmentation_platform.prediction_status)
enum class PredictionStatus {};

// ClassificationResult is returned when Predictor specified by the client in
// OutputConfig is one of BinaryClassifier, MultiClassClassifier or
// BinnedClassifier.
struct ClassificationResult {};

// Result generated by evaluating the TFLite file or the default heuristic.
// Currently only supported when OutputConfig specifies a GenericPredictor.
struct AnnotatedNumericResult {};

ClassificationResultCallback;
AnnotatedNumericResultCallback;

RawResult;
RawResultCallback;

}  // namespace segmentation_platform

#endif  // COMPONENTS_SEGMENTATION_PLATFORM_PUBLIC_RESULT_H_