<?php

namespace WPUltimateSecurity\UltimateSecurity\Bootstrap\Providers;

use WPUltimateSecurity\UltimateSecurity\Contracts\ServiceProviderInterface;
use WPUltimateSecurity\UltimateSecurity\Contracts\HookableInterface;
use WPUltimateSecurity\UltimateSecurity\Infrastructure\WordPress\Hooks\CustomHooks;

class HooksServiceProvider implements ServiceProviderInterface
{
    /**
     * @var array<class-string<HookableInterface>>
     */
    private array $hookables = [
        CustomHooks::class,
    ];

    public function register(): void
    {
        foreach ($this->hookables as $hookableClass) {
            /** @var HookableInterface $hookable */
            $hookable = new $hookableClass();
            $hookable->register();
        }
    }
}
