use std::io;
use std::path::Path;
use std::time::Duration;
use crate::priv_util::Private;
use crate::terminal::Event;
pub trait OpenTerminalExt: Sized + Private {
fn from_path<P: AsRef<Path>>(path: P) -> io::Result<Self>;
}
pub trait TerminalExt: Private {
fn read_raw(&mut self, buf: &mut [u8], timeout: Option<Duration>)
-> io::Result<Option<Event>>;
}