#ifndef MISSION_SYSTEM_DUALLANEPOWERSTATEMACHINE_H_
#define MISSION_SYSTEM_DUALLANEPOWERSTATEMACHINE_H_

#include <devices/powerSwitcherList.h>
#include <fsfw/modes/HasModesIF.h>
#include <mission/system/PowerStateMachineBase.h>

#include "definitions.h"

class AssemblyBase;
class PowerSwitchIF;

class DualLanePowerStateMachine : public PowerStateMachineBase {
 public:
  DualLanePowerStateMachine(pcduSwitches::Switches switchA, pcduSwitches::Switches switchB,
                            PowerSwitchIF* pwrSwitcher, dur_millis_t checkTimeout = 5000);
  power::OpCodes fsm() override;

  const pcduSwitches::Switches SWITCH_A;
  const pcduSwitches::Switches SWITCH_B;

 private:
};

#endif /* MISSION_SYSTEM_DUALLANEPOWERSTATEMACHINE_H_ */