#![doc(alias = "points")]
#![doc(alias = "channel.channel_points_custom_reward_redemption")]
use super::{EventSubscription, EventType};
use crate::types;
use serde_derive::{Deserialize, Serialize};
pub mod add;
pub mod update;
#[doc(inline)]
pub use add::{
ChannelPointsCustomRewardRedemptionAddV1, ChannelPointsCustomRewardRedemptionAddV1Payload,
};
#[doc(inline)]
pub use update::{
ChannelPointsCustomRewardRedemptionUpdateV1, ChannelPointsCustomRewardRedemptionUpdateV1Payload,
};
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
#[cfg_attr(feature = "deny_unknown_fields", serde(deny_unknown_fields))]
#[non_exhaustive]
pub struct Reward {
pub cost: i64,
pub id: types::RewardId,
pub prompt: String,
pub title: String,
}
#[derive(PartialEq, Eq, Serialize, Deserialize, Clone, Debug)]
#[serde(rename_all = "lowercase")]
#[non_exhaustive]
pub enum RedemptionStatus {
Unfulfilled,
Fulfilled,
Canceled,
Unknown,
}