use std::io::{self, Seek, Write};
use crate::book::Book;
mod azw3;
mod css_gen;
mod epub;
mod html_synth;
mod kfx;
mod normalize;
mod text;
pub use azw3::{Azw3Config, Azw3Exporter};
pub use css_gen::{CssArtifact, generate_css, generate_css_all};
pub use epub::{EpubConfig, EpubExporter};
pub use html_synth::{SynthesisResult, escape_xml, synthesize_html, synthesize_xhtml_document};
pub use kfx::{KfxConfig, KfxExporter};
pub use normalize::{ChapterContent, GlobalStylePool, NormalizedContent, normalize_book};
pub use text::{TextConfig, TextExporter, TextFormat};
pub trait Exporter {
fn export<W: Write + Seek>(&self, book: &mut Book, writer: &mut W) -> io::Result<()>;
}