<?php

namespace NoahVet\Reef\Infrastructure\Security\IAM\Mapper;

use NoahVet\Reef\Domain\Security\Model\Resource;

/**
 * Maps an internal entity to an IAM Resource.
 * Implement this to enable subject mapping in IAMVoter.
 */
interface InternalResourceMapperInterface
{
    public function canMap(mixed $entity): bool;

    public function mapResource(mixed $entity): Resource;
}
