<?php

namespace App\Contracts;

use App\Models\InstalledModule;
use Illuminate\Support\Collection;

interface InstalledModuleRepositoryContract
{
    public function all(): Collection;

    public function find(string $id): ?InstalledModule;

    public function findByModuleUuid(string $moduleUuid): ?InstalledModule;

    public function create(array $data): InstalledModule;

    public function update(InstalledModule $module, array $data): InstalledModule;

    public function delete(InstalledModule $module): bool;
}
