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 — Enlève la marque d'effacement d'un message
   Enlève la marque d'effacement du message
   message_nums, placée avec
   imap_delete() ou imap_mail_move().
  
imapUne instance de IMAP\Connection.
message_nums
       Une chaîne de caractères représentant un ou plusieurs messages dans un style de
       format d'une séquence IMAP4 ("n",
       "n:m", ou une combinaison de ceci,
       délimité par des virgules).
      
flags
   Retourne toujours true.
  
| Version | Description | 
|---|---|
| 8.1.0 | La paramètre imapattend désormais une instance de
  IMAP\Connection ; auparavant, une resourceimapétait attendue. | 
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.