#ifndef COMPONENTS_OPTIMIZATION_GUIDE_CORE_OPTIMIZATION_GUIDE_MODEL_EXECUTOR_H_
#define COMPONENTS_OPTIMIZATION_GUIDE_CORE_OPTIMIZATION_GUIDE_MODEL_EXECUTOR_H_
#include "base/functional/callback_forward.h"
#include "base/memory/raw_ptr.h"
#include "base/observer_list_types.h"
#include "base/types/expected.h"
#include "components/optimization_guide/core/model_execution/feature_keys.h"
#include "components/optimization_guide/core/model_execution/optimization_guide_model_execution_error.h"
#include "components/optimization_guide/core/model_quality/model_quality_log_entry.h"
#include "components/optimization_guide/proto/model_execution.pb.h"
namespace optimization_guide {
OptimizationGuideModelExecutionResult;
struct StreamingResponse { … };
struct OptimizationGuideModelStreamingExecutionResult { … };
OptimizationGuideModelExecutionResultCallback;
OptimizationGuideModelScoreCallback;
OptimizationGuideModelExecutionResultStreamingCallback;
OptimizationGuideModelSizeInTokenCallback;
struct SamplingParams { … };
struct SessionConfigParams { … };
enum class OnDeviceModelEligibilityReason { … };
class OnDeviceModelAvailabilityObserver : public base::CheckedObserver { … };
struct TokenLimits { … };
class OptimizationGuideModelExecutor { … };
}
#endif