1use std::num::NonZeroU32;
2
3#[cfg(feature = "arbitrary")]
4use arbitrary::Arbitrary;
5#[cfg(feature = "bounded-static")]
6use bounded_static::ToStatic;
7#[cfg(feature = "serde")]
8use serde::{Deserialize, Serialize};
9
10#[cfg_attr(feature = "arbitrary", derive(Arbitrary))]
12#[cfg_attr(feature = "bounded-static", derive(ToStatic))]
13#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
14#[derive(Debug, Clone, PartialEq, Eq, Hash)]
15#[doc(alias = "StatusAttribute")]
16pub enum StatusDataItemName {
17 Messages,
19
20 Recent,
22
23 UidNext,
25
26 UidValidity,
28
29 Unseen,
31
32 Deleted,
34
35 DeletedStorage,
37
38 #[cfg(feature = "ext_condstore_qresync")]
39 #[cfg_attr(docsrs, doc(cfg(feature = "ext_condstore_qresync")))]
40 HighestModSeq,
41}
42
43#[cfg_attr(feature = "arbitrary", derive(Arbitrary))]
45#[cfg_attr(feature = "bounded-static", derive(ToStatic))]
46#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
47#[derive(Debug, Clone, PartialEq, Eq, Hash)]
48#[doc(alias = "StatusAttributeValue")]
49pub enum StatusDataItem {
50 Messages(u32),
52
53 Recent(u32),
55
56 UidNext(NonZeroU32),
59
60 UidValidity(NonZeroU32),
63
64 Unseen(u32),
66
67 Deleted(u32),
69
70 DeletedStorage(u64),
72}