<?php
namespace Claromentis\Core\Ai\Adapters\Vertex;

$GLOBALS["__65da1b1ec2d6653e8a" . "0ab7848e536215"] = (@$GLOBALS["__65da1b1ec2d6653e8a0ab7" . "848e536215"] ?: array()) + array();
use BadMethodCallException;
use Claromentis\Core\Ai\Adapters\Vertex\HarmCategory;
use Claromentis\Core\Ai\Adapters\Vertex\HarmThreshold;
use Claromentis\Core\Ai\Adapters\Vertex\SafetySetting;
use Serializable;






class SafetySettings implements Serializable
{
    
    
    
    
    
    
    private array $settings;
    
    
    
    
    public function __construct()
    {
        $this->settings = [];
        foreach ([HarmCategory::HARM_CATEGORY_DANGEROUS_CONTENT, HarmCategory::HARM_CATEGORY_HARASSMENT, HarmCategory::HARM_CATEGORY_HATE_SPEECH, HarmCategory::HARM_CATEGORY_SEXUALLY_EXPLICIT] as $_c3492cfbadbaead5d2512469c3eb908e) {
            $this->addSafetySetting($_c3492cfbadbaead5d2512469c3eb908e, HarmThreshold::HARM_THRESHOLD_BLOCK_ONLY_HIGH);
        }
    }
    
    
    
    
    
    
    
    
    public function addSafetySetting($_c3492cfbadbaead5d2512469c3eb908e, $_32a7b3de08feeb4898fbb56b3c23df23) : self
    {
        $this->settings[] = new SafetySetting($_c3492cfbadbaead5d2512469c3eb908e, $_32a7b3de08feeb4898fbb56b3c23df23);
        return $this;
    }
    
    
    
    
    
    
    public function serialize() : array
    {
        $_f56e92e2b328797520a80ee0c4fb95c5 = [];
        foreach ($this->settings as $_e4c5770c50d5f380ba9403a1f14118e9) {
            $_f56e92e2b328797520a80ee0c4fb95c5[] = $_e4c5770c50d5f380ba9403a1f14118e9->serialize();
        }
        return $_f56e92e2b328797520a80ee0c4fb95c5;
    }
    
    
    
    
    
    
    public function unserialize($data)
    {
        throw new BadMethodCallException();
    }
}