email/folder/expunge/mod.rs
1#[cfg(feature = "imap")]
2pub mod imap;
3#[cfg(feature = "maildir")]
4pub mod maildir;
5
6use async_trait::async_trait;
7
8use crate::AnyResult;
9
10#[async_trait]
11pub trait ExpungeFolder: Send + Sync {
12 /// Expunge the given folder.
13 ///
14 /// The concept is similar to the IMAP expunge: it definitely
15 /// deletes messages with [`Flag::Deleted`](crate::email::Flag).
16 async fn expunge_folder(&self, folder: &str) -> AnyResult<()>;
17}