use serde::{Deserialize, Serialize};
use crate::v2::model::beatmapset::structs::beatmapset::Beatmapset;
#[cfg_attr(feature = "export", derive(tsify::Tsify))]
#[cfg_attr(feature = "export", tsify(into_wasm_abi, from_wasm_abi))]
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct BeatmapPack {
pub author: String,
pub date: String,
pub name: String,
pub no_diff_reduction: bool,
pub ruleset_id: Option<u32>,
pub tag: String,
pub url: String,
pub beatmapsets: Option<Vec<Beatmapset>>,
pub user_completion_data: Option<UserCompletionData>,
}
#[cfg_attr(feature = "export", derive(tsify::Tsify))]
#[cfg_attr(feature = "export", tsify(into_wasm_abi, from_wasm_abi))]
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct UserCompletionData {
pub beatmapset_ids: Option<Vec<i32>>,
pub completed: Option<bool>,
}