use crate::duocards::models::VocabularyCard;
use crate::error::Result;
use std::io::Write;
use std::path::Path;
pub mod anki;
pub mod json;
pub enum OutputDestination<'a> {
Writer(&'a mut (dyn Write + 'a)),
File(&'a Path),
}
pub trait OutputBuilder: Send + Sync {
fn add_note(&mut self, card: VocabularyCard) -> Result<bool>;
fn write(&self, dest: OutputDestination<'_>) -> Result<()>;
}