use serde::{Deserialize, Serialize};
use crate::types::ExtractedContent;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SearchResult {
pub query: String,
pub items: Vec<SearchItem>,
pub total_results: u64,
pub latency_ms: u64,
pub cached: bool,
pub engines_used: Vec<String>,
pub rewritten_query: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SearchItem {
pub title: String,
pub url: String,
pub snippet: String,
pub source: String,
pub published_at: Option<u64>,
pub score: f32,
pub domain: String,
pub detected_language: Option<String>,
pub extracted_content: Option<ExtractedContent>,
}