<?php

namespace KupShop\OrderDiscountBundle\Triggers;

use KupShop\OrderDiscountBundle\Entity\OrderDiscount;
use KupShop\OrderingBundle\Entity\Purchase\PurchaseState;

interface TriggerInterface
{
    public function getDiscountFilterSpec(PurchaseState $purchaseState);

    public function isApplicable(PurchaseState $purchaseState, OrderDiscount $orderDiscount, array $data, ?array $persistentData = null): bool;

    public function getMultiplier(PurchaseState $purchaseState, OrderDiscount $orderDiscount, array $data): ?array;

    public function getFrontendHandler();
}
