pub trait VregProxyInterface: Send + Sync {
type SetVoltageStepResponseFut: Future<Output = Result<VregSetVoltageStepResult, Error>> + Send;
type GetVoltageStepResponseFut: Future<Output = Result<VregGetVoltageStepResult, Error>> + Send;
type SetStateResponseFut: Future<Output = Result<VregSetStateResult, Error>> + Send;
type EnableResponseFut: Future<Output = Result<VregEnableResult, Error>> + Send;
type DisableResponseFut: Future<Output = Result<VregDisableResult, Error>> + Send;
type GetRegulatorParamsResponseFut: Future<Output = Result<VregGetRegulatorParamsResult, Error>> + Send;
// Required methods
fn set_voltage_step(&self, step: u32) -> Self::SetVoltageStepResponseFut;
fn get_voltage_step(&self) -> Self::GetVoltageStepResponseFut;
fn set_state(
&self,
payload: &VregSetStateRequest,
) -> Self::SetStateResponseFut;
fn enable(&self) -> Self::EnableResponseFut;
fn disable(&self) -> Self::DisableResponseFut;
fn get_regulator_params(&self) -> Self::GetRegulatorParamsResponseFut;
}