use OCP\IUserManager;
use OCP\Util;
+/**
+ * @template-implements IEventListener<\OC\Authentication\Events\LoginFailed>
+ */
class LoginFailedListener implements IEventListener {
/** @var IEventDispatcher */
use OCP\EventDispatcher\IEventListener;
use OCP\ILogger;
+/**
+ * @template-implements IEventListener<\OC\Authentication\Events\ARemoteWipeEvent>
+ */
class RemoteWipeActivityListener implements IEventListener {
/** @var IActvityManager */
use OCP\Mail\IMessage;
use function substr;
+/**
+ * @template-implements IEventListener<\OC\Authentication\Events\ARemoteWipeEvent>
+ */
class RemoteWipeEmailListener implements IEventListener {
/** @var IMailer */
use OCP\EventDispatcher\IEventListener;
use OCP\Notification\IManager as INotificationManager;
+/**
+ * @template-implements IEventListener<\OC\Authentication\Events\ARemoteWipeEvent>
+ */
class RemoteWipeNotificationsListener implements IEventListener {
/** @var INotificationManager */
use OCP\EventDispatcher\IEventListener;
use OCP\User\Events\UserDeletedEvent;
+/**
+ * @template-implements IEventListener<\OCP\User\Events\UserDeletedEvent>
+ */
class UserDeletedStoreCleanupListener implements IEventListener {
/** @var Registry */
use OCP\User\Events\UserDeletedEvent;
use Throwable;
+/**
+ * @template-implements IEventListener<\OCP\User\Events\UserDeletedEvent>
+ */
class UserDeletedTokenCleanupListener implements IEventListener {
/** @var Manager */
use OCP\EventDispatcher\IEventListener;
use OCP\User\Events\PostLoginEvent;
+/**
+ * @template-implements IEventListener<\OCP\User\Events\PostLoginEvent>
+ */
class UserLoggedInListener implements IEventListener {
/** @var Manager */