<?php

declare(strict_types=1);

namespace App\Framework\Notification\Channels;

use App\Domain\Common\ValueObject\Email;

/**
 * Interface for resolving user email addresses
 *
 * Implementation should be provided by the application layer
 * to map user IDs to email addresses
 */
interface UserEmailResolver
{
    /**
     * Resolve email address for a user ID
     *
     * @param string $userId The user identifier
     * @return Email|null The user's email address or null if not found
     */
    public function resolveEmail(string $userId): ?Email;
}
