<?php

declare(strict_types=1);

namespace App\Scolarite\Domain\Repository;

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

interface CompetencyFrameworkRepository
{
    public function save(CompetencyFramework $framework): void;

    public function findById(CompetencyFrameworkId $id, TenantId $tenantId): ?CompetencyFramework;

    public function findDefault(TenantId $tenantId): ?CompetencyFramework;

    /** @return array<CompetencyFramework> */
    public function findByTenant(TenantId $tenantId): array;
}
