<?php
namespace SmartBill\Integration\Helper\DataEmail;

/**
 * Interceptor class for @see \SmartBill\Integration\Helper\DataEmail
 */
class Interceptor extends \SmartBill\Integration\Helper\DataEmail implements \Magento\Framework\Interception\InterceptorInterface
{
    use \Magento\Framework\Interception\Interceptor;

    public function __construct(\Magento\Framework\App\Helper\Context $context, \Magento\Sales\Api\InvoiceRepositoryInterface $invoiceRepository, \Magento\Sales\Api\OrderRepositoryInterface $orderRepository, \SmartBill\Integration\Helper\Settings $settings)
    {
        $this->___init();
        parent::__construct($context, $invoiceRepository, $orderRepository, $settings);
    }

    /**
     * {@inheritdoc}
     */
    public function getEmailSettings()
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getEmailSettings');
        return $pluginInfo ? $this->___callPlugins('getEmailSettings', func_get_args(), $pluginInfo) : parent::getEmailSettings();
    }

    /**
     * {@inheritdoc}
     */
    public function isClientNotificationEnabled()
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'isClientNotificationEnabled');
        return $pluginInfo ? $this->___callPlugins('isClientNotificationEnabled', func_get_args(), $pluginInfo) : parent::isClientNotificationEnabled();
    }

    /**
     * {@inheritdoc}
     */
    public function getEmailParamsForInvoice($invoiceId, $serverCall)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getEmailParamsForInvoice');
        return $pluginInfo ? $this->___callPlugins('getEmailParamsForInvoice', func_get_args(), $pluginInfo) : parent::getEmailParamsForInvoice($invoiceId, $serverCall);
    }

    /**
     * {@inheritdoc}
     */
    public function getEmailParamsForOrder($orderId, $serverCall)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getEmailParamsForOrder');
        return $pluginInfo ? $this->___callPlugins('getEmailParamsForOrder', func_get_args(), $pluginInfo) : parent::getEmailParamsForOrder($orderId, $serverCall);
    }

    /**
     * {@inheritdoc}
     */
    public function isModuleOutputEnabled($moduleName = null)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'isModuleOutputEnabled');
        return $pluginInfo ? $this->___callPlugins('isModuleOutputEnabled', func_get_args(), $pluginInfo) : parent::isModuleOutputEnabled($moduleName);
    }
}
