<?php
namespace Mirasvit\Search\Block\Result;

/**
 * Interceptor class for @see \Mirasvit\Search\Block\Result
 */
class Interceptor extends \Mirasvit\Search\Block\Result implements \Magento\Framework\Interception\InterceptorInterface
{
    use \Magento\Framework\Interception\Interceptor;

    public function __construct(\Magento\Framework\View\Element\Template\Context $context, \Mirasvit\Search\Repository\IndexRepository $indexRepository, \Mirasvit\Search\Service\IndexService $indexService, \Magento\Search\Model\QueryFactory $queryFactory, \Mirasvit\Search\Model\ConfigProvider $config, \Magento\Framework\Registry $registry, \Magento\Framework\Encryption\UrlCoder $urlCoder, \Magento\Catalog\Model\Layer\Resolver $layerResolver, \Magento\Catalog\Model\ResourceModel\Category\CollectionFactory $categoryCollectionFactory, \Magento\Framework\Url $urlBuilder, \Magento\Catalog\Block\Product\ProductList\Toolbar $toolbar)
    {
        $this->___init();
        parent::__construct($context, $indexRepository, $indexService, $queryFactory, $config, $registry, $urlCoder, $layerResolver, $categoryCollectionFactory, $urlBuilder, $toolbar);
    }

    /**
     * {@inheritdoc}
     */
    public function getIndexUrl(\Mirasvit\Search\Api\Data\IndexInterface $index) : string
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getIndexUrl');
        return $pluginInfo ? $this->___callPlugins('getIndexUrl', func_get_args(), $pluginInfo) : parent::getIndexUrl($index);
    }

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

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