<?php declare(strict_types=1);namespace Shopware\Core\Checkout\Cart\Price\Struct;use Shopware\Core\Checkout\Cart\Tax\Struct\CalculatedTaxCollection;use Shopware\Core\Checkout\Cart\Tax\Struct\TaxRuleCollection;use Shopware\Core\Framework\Struct\Struct;use Shopware\Core\Framework\Util\FloatComparator;class CalculatedPrice extends Struct{    /**     * @var float     */    protected $unitPrice;    /**     * @var int     */    protected $quantity;    /**     * @var float     */    protected $totalPrice;    /**     * @var CalculatedTaxCollection     */    protected $calculatedTaxes;    /**     * @var TaxRuleCollection     */    protected $taxRules;    /**     * @var ReferencePrice     */    protected $referencePrice;    /**     * @var ListPrice|null     */    protected $listPrice;    /**     * @var RegulationPrice|null     */    protected $regulationPrice;    public function __construct(        float $unitPrice,        float $totalPrice,        CalculatedTaxCollection $calculatedTaxes,        TaxRuleCollection $taxRules,        int $quantity = 1,        ?ReferencePrice $referencePrice = null,        ?ListPrice $listPrice = null,        ?RegulationPrice $regulationPrice = null    ) {        $this->unitPrice = FloatComparator::cast($unitPrice);        $this->totalPrice = FloatComparator::cast($totalPrice);        $this->calculatedTaxes = $calculatedTaxes;        $this->taxRules = $taxRules;        $this->quantity = $quantity;        $this->referencePrice = $referencePrice;        $this->listPrice = $listPrice;        $this->regulationPrice = $regulationPrice;    }    public function getTotalPrice(): float    {        return FloatComparator::cast($this->totalPrice);    }    public function getCalculatedTaxes(): CalculatedTaxCollection    {        return $this->calculatedTaxes;    }    public function getTaxRules(): TaxRuleCollection    {        return $this->taxRules;    }    public function getUnitPrice(): float    {        return $this->unitPrice;    }    public function getQuantity(): int    {        return $this->quantity;    }    public function getReferencePrice(): ?ReferencePrice    {        return $this->referencePrice;    }    public function getListPrice(): ?ListPrice    {        return $this->listPrice;    }    public function getRegulationPrice(): ?RegulationPrice    {        return $this->regulationPrice;    }    public function getApiAlias(): string    {        return 'calculated_price';    }}