using SeaHaven.Services.DTOs;
namespace SeaHaven.Services.Interfaces;
///
/// The anonymous invite-registration flow. Every operation is scoped by the invite
/// token alone; unknown, expired, used and revoked invites share one outcome.
///
public interface ITeamMemberRegistrationService
{
Task ResolveAsync(string? token, CancellationToken cancellationToken);
Task SendCodeAsync(string? token, CancellationToken cancellationToken);
Task VerifyCodeAsync(
string? token,
string? code,
CancellationToken cancellationToken);
Task CompleteAsync(
CompleteTeamMemberRegistrationRequestDTO request,
CancellationToken cancellationToken);
}