<?php

namespace CouponsPlus\App\Coupon\Tree\ItemSetsToDiscount\Abilities;

use CouponsPlus\App\Coupon\Tree\Abilities\ItemsInCartFinderStrategy;

/**
 * @template T
 */
interface ProductsInCartFinderStrategyOptionalFactory
{
    public function canCreate(string $mode) : bool;

    /**
     * @param T $data
     * @return ItemsInCartFinderStrategy
     */
    public function create($data) : ItemsInCartFinderStrategy;
}