* @throws \Exception */ public function getCache($item, $qty = null); /** * @param \WC_Product $product * * @return array * @throws \Exception */ public function getCacheWithProduct($product); public function addRule($rows, $ruleId); public function getAddRuleData($ruleId, Context $context); public function removeRule($ruleId); /** * @param Context $context * @param \WC_Product $product * @param array $cartItemData */ public function recalculateCacheForProduct($context, $product, $cartItemData = array()); /** * @param Context $context * @param \WC_Cart $wcCart * * @return array */ public function getRulesFromWcCart($context, $wcCart); public function truncate(); }