use std::{io, time::Duration};
#[cfg(feature = "event-stream")]
use super::sys::Waker;
use super::InternalEvent;
#[cfg(unix)]
pub(crate) mod unix;
#[cfg(windows)]
pub(crate) mod windows;
pub(crate) trait EventSource: Sync + Send {
fn try_read(&mut self, timeout: Option<Duration>) -> io::Result<Option<InternalEvent>>;
#[cfg(feature = "event-stream")]
fn waker(&self) -> Waker;
}