using System.Security.Claims; using SeaHaven.Services.DTOs; namespace SeaHaven.Services.Interfaces { public interface IUserService { Task> GetUsersAsync(CancellationToken cancellationToken); Task AddUserAsync(AddUserRequestDTO dto, ClaimsPrincipal caller, CancellationToken cancellationToken); Task EditUserAsync(EditUserRequestDTO dto, ClaimsPrincipal caller, CancellationToken cancellationToken); Task DeleteUserAsync(string id, ClaimsPrincipal caller, CancellationToken cancellationToken); Task DeleteCurrentUserAsync(string userId, CancellationToken cancellationToken); Task> GetUserProfileAsync(string userId, CancellationToken cancellationToken); } }