<?php
namespace Mirasvit\LayeredNavigation\Model\Layer\FilterList;

/**
 * Interceptor class for @see \Mirasvit\LayeredNavigation\Model\Layer\FilterList
 */
class Interceptor extends \Mirasvit\LayeredNavigation\Model\Layer\FilterList implements \Magento\Framework\Interception\InterceptorInterface
{
    use \Magento\Framework\Interception\Interceptor;

    public function __construct(\Magento\Framework\ObjectManagerInterface $objectManager, \Magento\Catalog\Model\Layer\FilterableAttributeListInterface $filterableAttributes, \Mirasvit\LayeredNavigation\Model\Config\ExtraFilterConfigProvider $extraFilterConfigProvider, \Mirasvit\LayeredNavigation\Model\Config\HorizontalBarConfigProvider $horizontalBarConfigProvider, \Mirasvit\LayeredNavigation\Repository\AttributeConfigRepository $attributeConfigRepository, \Mirasvit\LayeredNavigation\Model\ConfigProvider $configProvider, \Magento\Catalog\Model\Config\LayerCategoryConfig $layerCategoryConfig, bool $isHorizontal = false, array $filters = [], array $additionalFilters = [])
    {
        $this->___init();
        parent::__construct($objectManager, $filterableAttributes, $extraFilterConfigProvider, $horizontalBarConfigProvider, $attributeConfigRepository, $configProvider, $layerCategoryConfig, $isHorizontal, $filters, $additionalFilters);
    }

    /**
     * {@inheritdoc}
     */
    public function getFilters(\Magento\Catalog\Model\Layer $layer) : array
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getFilters');
        return $pluginInfo ? $this->___callPlugins('getFilters', func_get_args(), $pluginInfo) : parent::getFilters($layer);
    }
}
