pub mod epub;
use crate::core::models::Chapter;
use crate::core::parser::ChapterInfo;
use crate::error::EpubError;
pub trait Reader: Send + Sync {
fn title(&self) -> &str;
fn author(&self) -> &str;
fn chapter_count(&self) -> usize;
fn get_chapter(&self, index: usize) -> Result<Chapter, EpubError>;
fn get_chapters_info(&self) -> Vec<ChapterInfo>;
fn get_image_by_path(&self, path: &str) -> Result<Vec<u8>, EpubError>;
fn cover_image(&self) -> Result<Option<Vec<u8>>, EpubError>;
}