text: """Foundation preset setting from SleepIQ API."""
  from __future__ import annotations
  
  from typing import Any
  from .api import SleepIQAPI
  from .consts import BED_PRESETS, NO_PRESET, SIDES_FULL, SIDES_SHORT, Side
  
  class SleepIQPreset:
      """Foundation preset setting from SleepIQ API."""
  
      def __init__(self, api: SleepIQAPI, bed_id: str, side: Side) -> None:
          """Initialize preset setting."""
          self._api = api
          self.bed_id = bed_id
          self.side = side
          self.side_full = SIDES_FULL[side]
          self.preset = ""
  
      def __str__(self) -> str:
          """Return string representation."""
          return f"SleepIQPreset[{self.side}](preset={self.preset})"
  
      def __repr__(self) -> str:
          """Return string representation."""
          return f"SleepIQPreset[{self.side}](preset={self.preset})"
  
      async def set_preset(self, preset: str, slow_speed: bool = False) -> None:
          """Set foundation preset."""
          #
          # preset 1-6
          # slowSpeed False=fast, True=slow
          #
          if preset == NO_PRESET:
              return
          if preset not in BED_PRESETS:
              raise ValueError("Invalid preset")
          data = {
              "preset": BED_PRESETS[preset], 
              "side": SIDES_SHORT[self.side],
              "speed": 1 if slow_speed else 0
          }
          await self._api.put("bed/" + self.bed_id + "/foundation/preset", data)
  
      async def update(self, data: dict[str, Any]) -> None:
          """Update the position of an actuator from the API."""
          self.preset = data[f"fsCurrentPositionPreset{self.side_full}"]