<?php
namespace boru\boruai\Openai\Stream\Response\ReasoningSummaryPart;

use boru\boruai\Openai\Stream\StreamEvent;

class ReasoningSummaryPartBase extends StreamEvent {
    private $part;
    private $outputIndex;
    private $summaryIndex;
    private $itemId;
    
    public function part($part=null) {
        if ($part !== null) {
            $this->part = $part;
        }
        return $this->part;
    }
    public function outputIndex($outputIndex=null) {
        if ($outputIndex !== null) {
            $this->outputIndex = $outputIndex;
        }
        return $this->outputIndex;
    }
    public function summaryIndex($summaryIndex=null) {
        if ($summaryIndex !== null) {
            $this->summaryIndex = $summaryIndex;
        }
        return $this->summaryIndex;
    }
    public function itemId($itemId=null) {
        if ($itemId !== null) {
            $this->itemId = $itemId;
        }
        return $this->itemId;
    }

    public function toArray() {
        return [
            'type' => $this->type(),
            'part' => $this->part(),
            'outputIndex' => $this->outputIndex(),
            'summaryIndex' => $this->summaryIndex(),
            'itemId' => $this->itemId(),
        ];
    }
}