<?php

namespace CouponsPlus\App\Coupon\Abilities;

use CouponsPlus\App\Coupon\CartComponentsSet;
use CouponsPlus\App\Offers\Abilities\Offers;
use CouponsPlus\App\Offers\OffersSet;

interface CouponModel
{
    public function getModelType() : string; // rows | tree
    public function isValid() : bool;
    public function hasConfigurationContent() : bool; //aka: hasRows | hasTrees
    public function getOffers();
    public function getOffersForOrder(\WC_Order $order): Offers;
}