<?php

declare(strict_types=1);

namespace App\Scolarite\Domain\Repository;

use App\Scolarite\Domain\Model\Competency\Competency;
use App\Scolarite\Domain\Model\Competency\CompetencyFrameworkId;
use App\Scolarite\Domain\Model\Competency\CompetencyId;
use App\Shared\Domain\Tenant\TenantId;

interface CompetencyRepository
{
    public function save(Competency $competency): void;

    public function findById(CompetencyId $id, TenantId $tenantId): ?Competency;

    /** @return array<Competency> */
    public function findByFramework(CompetencyFrameworkId $frameworkId): array;
}
