pub trait DeviceProxyInterface: Send + Sync {
type GetHardwareIdResponseFut: Future<Output = Result<DeviceGetHardwareIdResult, Error>> + Send;
type GetEventResponseFut: Future<Output = Result<Event, Error>> + Send;
// Required methods
fn get_hardware_id(&self) -> Self::GetHardwareIdResponseFut;
fn get_event(&self) -> Self::GetEventResponseFut;
}