<?php

namespace CouponsPlus\App\Coupon\Tree\Abilities;

use CouponsPlus\App\Conditions\ItemsSet;
use CouponsPlus\Original\Collections\Collection;
use CouponsPlus\App\Conditions\Abilities\TestableComposite;
use CouponsPlus\App\Coupon\Tree\ItemSetsToDiscount\ProductToDiscount;
use CouponsPlus\App\Coupon\Tree\ItemSetsToDiscount\ItemsSetToDiscountCollection;

interface ItemsInCartFinderStrategy
{
    /**
     * @return Collection of ItemToDiscount
     */
    public function getProductsToDiscount(): Collection;

    /**
     * These are the items found in the cart that match the productToDiscount.
     */
    public function getFinder(ItemToDiscount $productToDiscount): TestableComposite;
}