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;
}