<?php
namespace Eadesigndev\RomCity\Helper\CitiesJsonRomCity;

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

    public function __construct(\Magento\Framework\App\Helper\Context $context, \Magento\Framework\App\Cache\Type\Config $configCacheType, \Magento\Directory\Model\ResourceModel\Country\Collection $countryCollection, \Magento\Directory\Model\ResourceModel\Region\CollectionFactory $regCollectionFactory, \Magento\Framework\Json\Helper\Data $jsonHelper, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Directory\Model\CurrencyFactory $currencyFactory, \Eadesigndev\RomCity\Model\RomCityRepository $romCityRepository, \Magento\Framework\Api\SearchCriteriaBuilder $searchCriteria)
    {
        $this->___init();
        parent::__construct($context, $configCacheType, $countryCollection, $regCollectionFactory, $jsonHelper, $storeManager, $currencyFactory, $romCityRepository, $searchCriteria);
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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