pub trait BatteryProxyInterface: Send + Sync {
type GetSpecResponseFut: Future<Output = Result<BatteryGetSpecResult, Error>> + Send;
type GetStatusResponseFut: Future<Output = Result<BatteryGetStatusResult, Error>> + Send;
type WatchResponseFut: Future<Output = Result<(Status, Option<EventPair>), Error>> + Send;
// Required methods
fn get_spec(&self) -> Self::GetSpecResponseFut;
fn get_status(&self) -> Self::GetStatusResponseFut;
fn watch(
&self,
interest: &Status,
wake_on: &Status,
lease: Option<EventPair>,
) -> Self::WatchResponseFut;
}