use serde::{Deserialize, Serialize};
#[cfg(feature = "schema-discovery")]
use std::collections::HashMap;
#[derive(Default, Debug, Clone, Serialize, Deserialize, PartialEq)]
#[cfg_attr(feature = "tauri", derive(specta::Type))]
#[serde(rename_all = "PascalCase")]
#[serde(default)]
pub struct RadioInfo {
pub selected_radio_num: Option<i32>,
pub radios: Option<Vec<Radio>>,
#[cfg(feature = "schema-discovery")]
#[serde(flatten)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
#[cfg_attr(feature = "tauri", specta(skip))]
pub unknown_fields: HashMap<String, serde_yaml_ng::Value>,
}
#[derive(Default, Debug, Clone, Serialize, Deserialize, PartialEq)]
#[cfg_attr(feature = "tauri", derive(specta::Type))]
#[serde(rename_all = "PascalCase")]
#[serde(default)]
pub struct Radio {
pub radio_num: Option<i32>,
pub hop_count: Option<i32>,
pub num_frequencies: Option<i32>,
pub tuned_to_frequency_num: Option<i32>,
pub scanning_is_on: Option<i32>,
pub frequencies: Option<Vec<Frequency>>,
#[cfg(feature = "schema-discovery")]
#[serde(flatten)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
#[cfg_attr(feature = "tauri", specta(skip))]
pub unknown_fields: HashMap<String, serde_yaml_ng::Value>,
}
#[derive(Default, Debug, Clone, Serialize, Deserialize, PartialEq)]
#[cfg_attr(feature = "tauri", derive(specta::Type))]
#[serde(rename_all = "PascalCase")]
#[serde(default)]
pub struct Frequency {
pub frequency_num: Option<i32>,
pub frequency_name: Option<String>,
pub priority: Option<i32>,
pub car_idx: Option<i32>,
pub entry_idx: Option<i32>,
#[serde(rename = "ClubID")]
pub club_id: Option<i32>,
pub can_scan: Option<i32>,
pub can_squawk: Option<i32>,
pub muted: Option<i32>,
pub is_mutable: Option<i32>,
pub is_deletable: Option<i32>,
#[cfg(feature = "schema-discovery")]
#[serde(flatten)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
#[cfg_attr(feature = "tauri", specta(skip))]
pub unknown_fields: HashMap<String, serde_yaml_ng::Value>,
}