package com.airlock.iam.common.domain.service.user;

import com.airlock.iam.base.api.domain.model.user.UserId;
import com.airlock.iam.common.api.domain.model.locking.LockReason;
import com.airlock.iam.common.domain.model.user.UserLockState;
import lombok.NonNull;

public interface UserLockService {
   UserLockState getUserLockState(@NonNull UserId var1);

   UserLockState lockUser(@NonNull UserId var1, @NonNull String var2);

   UserLockState lockUser(@NonNull UserId var1, @NonNull LockReason var2);

   UserLockState unlockUser(@NonNull UserId var1);

   boolean isLockedForReason(@NonNull UserId var1, @NonNull LockReason var2);
}
