// src/economic/types.rs
use serde::{Deserialize, Serialize};

#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq, Hash)]
pub struct EconomicEvent {
    pub country: String,
    pub date: String,        // YYYY-MM-DD
    pub time: String,
    pub event: String,
    pub actual: String,
    pub forecast: String,
    pub previous: String,
    pub importance: String,
    pub description: String,
}

#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct EventChange {
    pub date: String,
    pub event: String,
    pub country: String,
    pub field_changed: String,
    pub old_value: String,
    pub new_value: String,
    pub detected_at: String,
}

#[derive(Debug)]
pub struct ChunkInfo {
    pub start_date: String,
    pub end_date: String,
    pub path: std::path::PathBuf,
    pub event_count: usize,
}

#[derive(Debug)]
pub struct ScrapeResult {
    pub changes: Vec<EventChange>,
    pub removed_keys: std::collections::HashSet<String>,
}