<?php

declare(strict_types=1);

namespace ApiModel\Domain\Repository;

interface PasswordResetRepositoryInterface
{
    public function deleteAllForEmail(string $email): void;

    public function insert(string $email, string $codeHash, string $expiresAt): void;

    /** @return array<string, mixed>|null */
    public function findLatestValid(string $email, string $codeHash): ?array;

    public function markConsumedById(string $id): void;
}
