package com.airlock.iam.publicselfservice.api.domain.model;

import com.airlock.iam.common.api.domain.model.user.UserIdentity;
import java.util.Optional;

public interface PublicSelfServiceUser {
   UserIdentity getIdentity();

   boolean isPublicSelfServiceAllowed();

   Optional<PublicSelfServiceRestriction.ViolationCode> getViolationToReport();

   Optional<PublicSelfServiceRestriction.ViolationCode> getViolationIfPresent();

   @Deprecated(since = "8.5", forRemoval = true)
   void orderPasswordLetter();

   void reloadPrincipal();
}
