use std::io;
use crate::buffer::CellUpdate;
pub(crate) mod ansi;
pub mod fullscreen;
pub mod inline;
pub mod test;
pub use fullscreen::FullscreenBackend;
pub use inline::InlineBackend;
pub use test::TestBackend;
pub trait Backend {
fn size(&self) -> io::Result<(u16, u16)>;
fn enter(&mut self) -> io::Result<()>;
fn leave(&mut self) -> io::Result<()>;
fn flush(&mut self, updates: &[CellUpdate]) -> io::Result<()>;
fn copy_to_clipboard(&mut self, _text: &str) -> io::Result<()> {
Ok(())
}
}