<?php

namespace CleantalkSP\Security\Firewall;

/*
 * The abstract class for any FireWall modules.
 * Compatible with any CMS.
 *
 * @version       1.0
 * @author        Cleantalk team (welcome@cleantalk.org)
 * @copyright (C) 2014 CleanTalk team (http://cleantalk.org)
 * @license       GNU/GPL: http://www.gnu.org/copyleft/gpl.html
 * @since 2.49
 */

abstract class FirewallModuleAbstract
{
    /**
     * FireWall_module constructor.
     * Use this method to prepare any data for the module working.
     *
     * @param array $params
     * @psalm-suppress PossiblyUnusedMethod
     */
    abstract public function __construct($params = array());

    /**
     * Use this method to execute main logic of the module.
     *
     * @return array  Array of the check results
     * @psalm-suppress PossiblyUnusedMethod
     */
    abstract public function check();
}
