use crate::models::stock::{StockData, DailyData};
use crate::errors::Result;
use async_trait::async_trait;
use chrono::NaiveDate;
#[async_trait]
pub trait StockScraper {
fn exchange_code(&self) -> &'static str;
async fn fetch_stock_list(&self, date: &NaiveDate) -> Result<Vec<StockData>>;
async fn fetch_stock_history(&self, symbol: &str) -> Result<Vec<DailyData>>;
}