mod device;
pub mod error;
pub(crate) mod protocol;
pub(crate) mod transport;
pub mod types;
#[cfg(feature = "batch")]
pub mod batch;
#[cfg(feature = "extras")]
pub mod extras;
pub mod profiler;
pub use crossbeam_channel;
pub use device::{Device, DeviceConfig, FireAndForget};
pub use error::{MakcuError, Result};
pub use types::{
Button, ButtonMask, CatchEvent, ConnectionState, DeviceInfo, LockStates, LockTarget,
};
#[cfg(feature = "async")]
pub use device::{AsyncDevice, AsyncFireAndForget};
#[cfg(feature = "batch")]
pub use batch::BatchBuilder;
#[cfg(all(feature = "batch", feature = "async"))]
pub use batch::AsyncBatchBuilder;
#[cfg(feature = "extras")]
pub use extras::EventHandle;
#[cfg(feature = "mock")]
pub use transport::mock::MockTransport;
pub const VERSION: &str = env!("CARGO_PKG_VERSION");