<?php

namespace App\Domain\Repositories;

use App\Domain\Entities\User;

interface UserRepositoryInterface
{
    public function findById(int $id): ?User;
    public function findByEmail(string $email): ?User;
    public function findByUsername(string $username): ?User;
    public function create(User $user): User;
    public function updatePassword(int $id, string $passwordHash): void;
    public function roles(): array;
    public function statuses(): array;
}
