<?php

declare(strict_types=1);

namespace App\Services\PermissionPosture;

use App\Models\OperationRun;
use App\Models\ManagedEnvironment;

interface FindingGeneratorContract
{
    /**
     * @param  array{overall_status: string, permissions: array<int, array{key: string, type: string, features: array<int, string>, status: string, ...}>, ...}  $permissionComparison
     */
    public function generate(ManagedEnvironment $tenant, array $permissionComparison, ?OperationRun $operationRun = null): PostureResult;
}
