HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/shop.komma.nl/app/Discounts/DiscountableInterface.php
<?php
namespace App\Discounts;

use App\Vat\Models\FinancialProperties;
use Illuminate\Support\Collection;

/**
 * Interface Discountable
 *
 * Represents something that can have a discount applied to
 *
 * @package App\Discounts
 */
interface DiscountableInterface
{
    /**
     * @param Collection $discounts
     *
     * @return $this|DiscountableInterface
     */
    public function setDiscounts(Collection $discounts):DiscountableInterface;

    /**
     * @return mixed
     */
    public function clearDiscounts(): DiscountableInterface;

    /**
     * The amount in cents on how to modify the price in case a discount was applied.
     * -1000 means a discount of 10 euro's
     *
     * @param string              $description
     * @param FinancialProperties $priceMutation
     *
     * @return DiscountableInterface
     */
    public function addDiscountPriceMutation(string $description, FinancialProperties $priceMutation): DiscountableInterface;

    /**
     * The amount in cents on how to modify the price in case a discount was applied.
     * -1000 means a discount of 10 euro's
     *
     * @return Collection|FinancialProperties[]
     */
    public function getDiscountPriceMutations(): Collection;
}