If you need to use the uid instead of msgno use
imap_clearflag_full($stream, implode(',', $flags), '\\DELETED', ST_UID);(PHP 4, PHP 5, PHP 7, PHP 8)
imap_undelete — Снимает с сообщения метку удаления
Удаляет с заданного сообщения метку удаления, которая была установлена с помощью imap_delete() или imap_mail_move().
imapЭкземпляр класса IMAP\Connection.
message_nums
       Строка (string), состоящая из одного или нескольких сообщений
       в формате последовательности в стиле IMAP4 ("n", "n:m" или их комбинация,
       разделённая запятыми).
      
flags
   Функция возвращает логическое значение true.
  
| Версия | Описание | 
|---|---|
| 8.1.0 | Параметр imapтеперь ожидает экземпляр класса IMAP\Connection;
  раньше параметр ждал ресурс (resource)imap. | 
If you need to use the uid instead of msgno use
imap_clearflag_full($stream, implode(',', $flags), '\\DELETED', ST_UID);The imap_delete function allows the option to use a UID for the message number but the imap_undelete function does not.