#[allow(unused_imports)]
use super::*;
#[allow(unused_imports)]
use crate::enums::*;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventContext {
#[serde(skip_serializing_if = "Option::is_none", default)]
pub google_analytics_client_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub google_analytics_sessions: Option<Vec<EventContextGoogleAnalyticsSession>>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub ajs_anonymous_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub client_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub actor: Option<EventContextActor>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub previous_attributes: Option<std::collections::HashMap<String, serde_json::Value>>,
}