<?php

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

use NoahVet\Reef\Domain\Security\Policy\PolicyResult;
use NoahVet\Reef\Domain\Security\Policy\PolicyResultGrant;
use NoahVet\Reef\Iam\Model\GrantedPermissionShort;
use NoahVet\Reef\Iam\Model\PolicyResultPost;

interface PolicyResultTransformerInterface
{
    /**
     * @return GrantedPermissionShort[]
     */
    public function resultGrantToGrantedPermissions(PolicyResultGrant $resultGrant): array;

    public function toApiDto(PolicyResult $policyResult): PolicyResultPost;
}
