<?php
namespace Eadesigndev\Sameday\Helper\ApiHelper;

/**
 * Interceptor class for @see \Eadesigndev\Sameday\Helper\ApiHelper
 */
class Interceptor extends \Eadesigndev\Sameday\Helper\ApiHelper implements \Magento\Framework\Interception\InterceptorInterface
{
    use \Magento\Framework\Interception\Interceptor;

    public function __construct(\Magento\Framework\App\Helper\Context $context, \Magento\Framework\App\ProductMetadataInterface $productMetadata, \Magento\Framework\Encryption\EncryptorInterface $encryptor, \Psr\Log\LoggerInterface $logger, \Magento\Framework\Message\ManagerInterface $messageManager)
    {
        $this->___init();
        parent::__construct($context, $productMetadata, $encryptor, $logger, $messageManager);
    }

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

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

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

    /**
     * {@inheritdoc}
     */
    public function doRequest(\Sameday\Requests\SamedayRequestInterface $request, string $type = '', $showFlashMessage = true)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'doRequest');
        return $pluginInfo ? $this->___callPlugins('doRequest', func_get_args(), $pluginInfo) : parent::doRequest($request, $type, $showFlashMessage);
    }

    /**
     * {@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);
    }
}
