pub trait PowerElementProviderProxyInterface: Send + Sync {
type GetPowerGoalsResponseFut: Future<Output = Result<Vec<PowerGoal>, Error>> + Send;
type GetClockSpeedLevelResponseFut: Future<Output = Result<PowerElementProviderGetClockSpeedLevelResult, Error>> + Send;
type SetClockLimitResponseFut: Future<Output = Result<PowerElementProviderSetClockLimitResult, Error>> + Send;
// Required methods
fn get_power_goals(&self) -> Self::GetPowerGoalsResponseFut;
fn get_clock_speed_level(
&self,
payload: &PowerElementProviderGetClockSpeedLevelRequest,
) -> Self::GetClockSpeedLevelResponseFut;
fn set_clock_limit(
&self,
payload: &PowerElementProviderSetClockLimitRequest,
) -> Self::SetClockLimitResponseFut;
}