<?php

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

use CouponsPlus\App\Conditions\Abilities\TestableComposite;
use CouponsPlus\App\Coupon\Tree\Abilities\TestableCompositeCollection;

interface ItemsSetSource
{
    /**
     * This gives the PASSING testable composites only. Those that failed have been excluded.
     *
     * @return TestableComposite&TestableCompositeCollection
     */
    public function getTestableComposite();

    /**
     * This is meant be added to the getTestableComposite()'s children
     */
    public function addTestableComposite(TestableComposite $testableComposite);
}