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

$GLOBALS["__65da1b1ec2d6653e8a0ab7848e53" . "6215"] = (@$GLOBALS["__65da1b1e" . "c2d6653e8a" . "0ab7848e53" . "6215"] ?: array()) + array();
use BadMethodCallException;
use Claromentis\Core\Ai\Adapters\Vertex\Helpers\VertexAiHarmCategory;
use Claromentis\Core\Ai\Adapters\Vertex\Helpers\VertexAiHarmThreshold;
use Claromentis\Core\Ai\Adapters\Vertex\Responses\Text\VertexAiSafetySetting;
use Serializable;






class VertexAiSafetySettings implements Serializable
{
    
    
    
    
    
    
    private array $settings;
    
    
    
    
    public function __construct()
    {
        $this->settings = [];
        foreach ([VertexAiHarmCategory::HARM_CATEGORY_DANGEROUS_CONTENT, VertexAiHarmCategory::HARM_CATEGORY_HARASSMENT, VertexAiHarmCategory::HARM_CATEGORY_HATE_SPEECH, VertexAiHarmCategory::HARM_CATEGORY_SEXUALLY_EXPLICIT] as $_c3492cfbadbaead5d2512469c3eb908e) {
            $this->addSafetySetting($_c3492cfbadbaead5d2512469c3eb908e, VertexAiHarmThreshold::HARM_THRESHOLD_BLOCK_ONLY_HIGH);
        }
    }
    
    
    
    
    
    
    
    
    public function addSafetySetting($_c3492cfbadbaead5d2512469c3eb908e, $_32a7b3de08feeb4898fbb56b3c23df23) : self
    {
        $this->settings[] = new VertexAiSafetySetting($_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();
    }
}