<?php

namespace NoahVet\Reef\RabbitMQ\Notification\Factory;

use NoahVet\Reef\Domain\Security\Model\Resource;
use NoahVet\Reef\RabbitMQ\Notification\ReefNotificationInterface;

interface ReefNotificationFactoryInterface
{
    /**
     * @param array<string, string|int|float|bool|array<string, string|int|float|bool>> $rawData
     */
    public function createNotification(
        Resource $resource,
        string $action,
        array $rawData,
    ): ReefNotificationInterface;
}
