"""
Type stubs for Cyberwave SDK with asset-specific capabilities.

This file is auto-generated by stubs_generator.py
Do not edit manually.
"""

from typing import Any, Callable, Dict, List, Optional, Tuple

from .twin import Twin, JointController

class TheRobotStudioso101Twin(Twin):
    """
    Digital twin for SO-101
    Registry ID: the-robot-studio/so101
    """
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class BerkeleyberkeleyHumanoidTwin(Twin):
    """
    Digital twin for Berkeley Humanoid Lite
    Registry ID: berkeley/berkeley-humanoid
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class AgileXRoboticspiperTwin(Twin):
    """
    Digital twin for PiPER
    Registry ID: agile-x-robotics/piper
    """
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class AnyboticsanymalBTwin(Twin):
    """
    Digital twin for ANYMal B
    Registry ID: anybotics/anymal-b
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class SkydioskydioX2Twin(Twin):
    """
    Digital twin for Skydio X2
    Registry ID: skydio/skydio-x2
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...

class UnitreeunitreeG1Twin(Twin):
    """
    Digital twin for Unitree G1
    Registry ID: unitree/unitree-g1
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class Unitreego2Twin(Twin):
    """
    Digital twin for Unitree Go2
    Registry ID: unitree/go2
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class UnitreelaikagoTwin(Twin):
    """
    Digital twin for Unitree Laikago
    Registry ID: unitree/laikago
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class Kukakr6R900Twin(Twin):
    """
    Digital twin for Kuka KR6 R900
    Registry ID: kuka/kr6-r900
    """
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class ArxRoboticsxr5aTwin(Twin):
    """
    Digital twin for ARXroboticsX R5
    Registry ID: arx-roboticsx/r5a
    """
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class ArxarxRoboticsxTwin(Twin):
    """
    Digital twin for ARX ARXroboticsX
    Registry ID: arx/arx-roboticsx
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class BitcrazecrazyflieTwin(Twin):
    """
    Digital twin for Bitcraze Crazyflie
    Registry ID: bitcraze/crazyflie
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...

class BoosterRoboticst1Twin(Twin):
    """
    Digital twin for Booster Robotics T1
    Registry ID: booster-robotics/t1
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class BostonDynamicsspotTwin(Twin):
    """
    Digital twin for Boston Dynamics Spot 
    Registry ID: boston-dynamics/spot
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class Fftaigr2Twin(Twin):
    """
    Digital twin for FFTAI GR2
    Registry ID: fftai/gr2
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class KinovajacoTwin(Twin):
    """
    Digital twin for Kinova Jaco
    Registry ID: kinova/jaco
    """
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class Fanucm710ic70Twin(Twin):
    """
    Digital twin for Fanuc-M-710iC/70
    Registry ID: fanuc/m-710ic70
    """
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class PoppyProjectpoppyErgoJrTwin(Twin):
    """
    Digital twin for Poppy Ergo Jr
    Registry ID: poppy-project/poppy-ergo-jr
    """
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class Interbotixvx300sTwin(Twin):
    """
    Digital twin for Interbotix VX300S
    Registry ID: interbotix/vx300s
    """
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class GepettoboltTwin(Twin):
    """
    Digital twin for Gepetto Bolt
    Registry ID: gepetto/bolt
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class DisneybdxTwin(Twin):
    """
    Digital twin for Disney BDX
    Registry ID: disney/bdx
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class AgilityRoboticscassieTwin(Twin):
    """
    Digital twin for Cassie
    Registry ID: agility-robotics/cassie
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class GLevinerheaTwin(Twin):
    """
    Digital twin for Rhea
    Registry ID: g-levine/rhea
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class BenBoksersprypedTwin(Twin):
    """
    Digital twin for Spryped
    Registry ID: ben-bokser/spryped
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class UpkieupkieTwin(Twin):
    """
    Digital twin for Upkie
    Registry ID: upkie/upkie
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class RethinkRoboticsbaxterTwin(Twin):
    """
    Digital twin for Baxter
    Registry ID: rethink-robotics/baxter
    """
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class KawadaIndustriesnextageTwin(Twin):
    """
    Digital twin for Nextage
    Registry ID: kawada-industries/nextage
    """
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class PoppyProjectpoppyTorsoTwin(Twin):
    """
    Digital twin for Poppy Torso
    Registry ID: poppy-project/poppy-torso
    """
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class OrebroUniversityyumiTwin(Twin):
    """
    Digital twin for Orebro University Yumi
    Registry ID: orebro-university/yumi
    """
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class Interbotixwx250sTwin(Twin):
    """
    Digital twin for Interbotix wx250s
    Registry ID: interbotix/wx250s
    """
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class Robotisop3Twin(Twin):
    """
    Digital twin for Robotis OP3
    Registry ID: robotis/op3
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class RethinkRoboticssawyerTwin(Twin):
    """
    Digital twin for Rethink Robotics Sawyer
    Registry ID: rethink-robotics/sawyer
    """
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class KinovaRoboticskortexGen3Twin(Twin):
    """
    Digital twin for Kortex Gen3
    Registry ID: kinova-robotics/kortex-gen3
    """
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class AnyboticsanymalCTwin(Twin):
    """
    Digital twin for Anymal C
    Registry ID: anybotics/anymal-c
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class ComauedoTwin(Twin):
    """
    Digital twin for e.Do
    Registry ID: comau/edo
    """
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class SzDjiTechnologydjiTelloTwin(Twin):
    """
    Digital twin for DJI Tello
    Registry ID: SZ-DJI-Technology/DJI-Tello
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...

class Bitcrazecrazyflie2Twin(Twin):
    """
    Digital twin for Bitcraze Crazyflie 2
    Registry ID: bitcraze/crazyflie-2
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...

class FourierfftaiGr1t1Twin(Twin):
    """
    Digital twin for FFTAI GR1T1
    Registry ID: fourier/fftai-gr1t1
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class FourierfftaiGr1t2Twin(Twin):
    """
    Digital twin for FFTAI GR1T2
    Registry ID: fourier/fftai-gr1t2
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class UnitreeunitreeH1Twin(Twin):
    """
    Digital twin for Unitree H1
    Registry ID: unitree/unitree-h1
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class RtNetsciurus17Twin(Twin):
    """
    Digital twin for Rt-Net Sciurus17
    Registry ID: rt-net/sciurus17
    """
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class GepettofingerEduGepettosTwin(Twin):
    """
    Digital twin for Finger EDU Gepetto
    Registry ID: gepetto/finger-edu-gepettos
    """
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class DexsuiteleapHandLeapTwin(Twin):
    """
    Digital twin for Leap Hand
    Registry ID: dexsuite/leap-hand-leap
    """
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class TimqianbambotB0Twin(Twin):
    """
    Digital twin for Bambot-b0
    Registry ID: timqian/bambot-b0
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class TimqianbambotB0BaseTwin(Twin):
    """
    Digital twin for Bambot-b0-base
    Registry ID: timqian/bambot-b0-base
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class Robotisturtlebot3WaffleTwin(Twin):
    """
    Digital twin for TurtleBot3 Waffle
    Registry ID: robotis/turtlebot3-waffle
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...

class Robotisturtlebot3WafflePiTwin(Twin):
    """
    Digital twin for TurtleBot3 Waffle Pi
    Registry ID: robotis/turtlebot3-waffle-pi
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class Robotisturtlebot3BurgerTwin(Twin):
    """
    Digital twin for TurtleBot3 Burger
    Registry ID: robotis/turtlebot3-burger
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class UnitreeunitreeGo1Twin(Twin):
    """
    Digital twin for Unitree Go1
    Registry ID: unitree/unitree_go1
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class UnitreeunitreeB1Twin(Twin):
    """
    Digital twin for Unitree B1
    Registry ID: unitree/unitree-b1
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class UnitreeunitreeA1Twin(Twin):
    """
    Digital twin for Unitree A1
    Registry ID: unitree/unitree_a1
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class KukakukaIiwa14Twin(Twin):
    """
    Digital twin for KUKA IIWA 14
    Registry ID: kuka/kuka_iiwa14
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class UnitreeunitreeZ1Twin(Twin):
    """
    Digital twin for Unitree Z1
    Registry ID: unitree/unitree_z1
    """
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class FictionlableoRoverTwin(Twin):
    """
    Digital twin for Leo Rover
    Registry ID: fictionlab/leo-rover
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class CyberwavegenericCubeTwin(Twin):
    """
    Digital twin for Generic Cube
    Registry ID: cyberwave/generic_cube
    """
    pass

class CyberwavegenerictableTwin(Twin):
    """
    Digital twin for Generic Table
    Registry ID: cyberwave/generictable
    """
    pass

class CyberwavegenericBoxTwin(Twin):
    """
    Digital twin for Generic Box (Flaps Out)
    Registry ID: cyberwave/generic-box
    """
    pass

class UniversalRobotsur5Twin(Twin):
    """
    Digital twin for UR5e
    Registry ID: universal_robots/UR5
    """
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class CyberwavegenericNvrTwin(Twin):
    """
    Digital twin for Generic NVR2
    Registry ID: cyberwave/generic-nvr
    """
    pass

class Intelrealsensed455Twin(Twin):
    """
    Digital twin for Realsense D455
    Registry ID: intel/realsensed455
    """
    pass

class BaslerbaslerAgAceGigeTwin(Twin):
    """
    Digital twin for Basler AG ace GigE
    Registry ID: basler/basler_ag_ace_gige
    """
    pass

class Logitechc275Twin(Twin):
    """
    Digital twin for Logitech c275
    Registry ID: logitech/c275
    """
    pass

class RaspberrypiCamerav3Twin(Twin):
    """
    Digital twin for Pi-cameraV3
    Registry ID: raspberry/pi-camerav3
    """
    pass

class CyberwavestandardCamTwin(Twin):
    """
    Digital twin for Standard Camera
    Registry ID: cyberwave/standard-cam
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...

class CyberwavegenericIpcameraTwin(Twin):
    """
    Digital twin for Generic IP Camera
    Registry ID: cyberwave/generic_ipcamera
    """
    pass

class ProxDynamicsblackHornetNanoTwin(Twin):
    """
    Digital twin for Black Hornet Nano
    Registry ID: prox-dynamics/black-hornet-nano
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...

class CyberwavegenericAuvTwin(Twin):
    """
    Digital twin for Generic Auv
    Registry ID: cyberwave/generic-auv
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class CyberwavesubstationTwin(Twin):
    """
    Digital twin for Electric Substation
    Registry ID: cyberwave/substation
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...

class SzDjiTechnologydjiMini3ProTwin(Twin):
    """
    Digital twin for DJI Mini 3 Pro
    Registry ID: SZ-DJI-Technology/DJI-Mini-3-Pro
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...

class SzDjiTechnologydjiMini4ProTwin(Twin):
    """
    Digital twin for DJI Mini 4 Pro
    Registry ID: SZ-DJI-Technology/DJI-Mini-4-Pro
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...

class Holybropx4visionTwin(Twin):
    """
    Digital twin for PX4 Vision
    Registry ID: Holybro/PX4Vision
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...

class HoverspectavientoryPlatformTwin(Twin):
    """
    Digital twin for Avientory Platform
    Registry ID: hoverspect/Avientory-Platform
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class Apeiroonbx100Twin(Twin):
    """
    Digital twin for BX100
    Registry ID: apeiroon/bx100
    """
    pass

class Logitechc920Twin(Twin):
    """
    Digital twin for Logitech C920
    Registry ID: logitech/c920
    """
    pass

class TheRobotStudioso101WithCameraTwin(Twin):
    """
    Digital twin for SO-101 with camera
    Registry ID: the-robot-studio/so101-with-camera
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class UniversalRobotsur7Twin(Twin):
    """
    Digital twin for UR7
    Registry ID: universal_robots/UR7
    """
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class WaveshareugvBeastTwin(Twin):
    """
    Digital twin for UGV Beast
    Registry ID: waveshare/ugv-beast
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class AltoRoboticsnodeTwin(Twin):
    """
    Digital twin for Node
    Registry ID: alto-robotics/node
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class AgiloxagiloxOflTwin(Twin):
    """
    Digital twin for Agilox OFL
    Registry ID: agilox/agilox-ofl
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

class OttoMotorsotto1500Twin(Twin):
    """
    Digital twin for Otto1500
    Registry ID: otto-motors/otto-1500
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...

class CyberwavewarehouseTwin(Twin):
    """
    Digital twin for Warehouse
    Registry ID: cyberwave/warehouse
    """
    pass

class Upmir250Twin(Twin):
    """
    Digital twin for MiR250
    Registry ID: up/mir-250
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...

class AgileXRoboticstracer20Twin(Twin):
    """
    Digital twin for Tracer 2.0
    Registry ID: agile-x-robotics/tracer-20
    """
    def move(self, x: float | None = None, y: float | None = None, z: float | None = None) -> None:
        """Move the twin to a new position"""
        ...
    def move_to(self, position: list[float]) -> None:
        """Move to a specific position [x, y, z]"""
        ...

class OpenopenarmTwin(Twin):
    """
    Digital twin for OpenArm
    Registry ID: open/openarm
    """
    @property
    def joints(self) -> JointController:
        """Controller for robot joints"""
        ...

# Asset registry mapping registry_id to Twin class
ASSET_REGISTRY: dict[str, type[Twin]] = {
    "the-robot-studio/so101": TheRobotStudioso101Twin,
    "berkeley/berkeley-humanoid": BerkeleyberkeleyHumanoidTwin,
    "agile-x-robotics/piper": AgileXRoboticspiperTwin,
    "anybotics/anymal-b": AnyboticsanymalBTwin,
    "skydio/skydio-x2": SkydioskydioX2Twin,
    "unitree/unitree-g1": UnitreeunitreeG1Twin,
    "unitree/go2": Unitreego2Twin,
    "unitree/laikago": UnitreelaikagoTwin,
    "kuka/kr6-r900": Kukakr6R900Twin,
    "arx-roboticsx/r5a": ArxRoboticsxr5aTwin,
    "arx/arx-roboticsx": ArxarxRoboticsxTwin,
    "bitcraze/crazyflie": BitcrazecrazyflieTwin,
    "booster-robotics/t1": BoosterRoboticst1Twin,
    "boston-dynamics/spot": BostonDynamicsspotTwin,
    "fftai/gr2": Fftaigr2Twin,
    "kinova/jaco": KinovajacoTwin,
    "fanuc/m-710ic70": Fanucm710ic70Twin,
    "poppy-project/poppy-ergo-jr": PoppyProjectpoppyErgoJrTwin,
    "interbotix/vx300s": Interbotixvx300sTwin,
    "gepetto/bolt": GepettoboltTwin,
    "disney/bdx": DisneybdxTwin,
    "agility-robotics/cassie": AgilityRoboticscassieTwin,
    "g-levine/rhea": GLevinerheaTwin,
    "ben-bokser/spryped": BenBoksersprypedTwin,
    "upkie/upkie": UpkieupkieTwin,
    "rethink-robotics/baxter": RethinkRoboticsbaxterTwin,
    "kawada-industries/nextage": KawadaIndustriesnextageTwin,
    "poppy-project/poppy-torso": PoppyProjectpoppyTorsoTwin,
    "orebro-university/yumi": OrebroUniversityyumiTwin,
    "interbotix/wx250s": Interbotixwx250sTwin,
    "robotis/op3": Robotisop3Twin,
    "rethink-robotics/sawyer": RethinkRoboticssawyerTwin,
    "kinova-robotics/kortex-gen3": KinovaRoboticskortexGen3Twin,
    "anybotics/anymal-c": AnyboticsanymalCTwin,
    "comau/edo": ComauedoTwin,
    "SZ-DJI-Technology/DJI-Tello": SzDjiTechnologydjiTelloTwin,
    "bitcraze/crazyflie-2": Bitcrazecrazyflie2Twin,
    "fourier/fftai-gr1t1": FourierfftaiGr1t1Twin,
    "fourier/fftai-gr1t2": FourierfftaiGr1t2Twin,
    "unitree/unitree-h1": UnitreeunitreeH1Twin,
    "rt-net/sciurus17": RtNetsciurus17Twin,
    "gepetto/finger-edu-gepettos": GepettofingerEduGepettosTwin,
    "dexsuite/leap-hand-leap": DexsuiteleapHandLeapTwin,
    "timqian/bambot-b0": TimqianbambotB0Twin,
    "timqian/bambot-b0-base": TimqianbambotB0BaseTwin,
    "robotis/turtlebot3-waffle": Robotisturtlebot3WaffleTwin,
    "robotis/turtlebot3-waffle-pi": Robotisturtlebot3WafflePiTwin,
    "robotis/turtlebot3-burger": Robotisturtlebot3BurgerTwin,
    "unitree/unitree_go1": UnitreeunitreeGo1Twin,
    "unitree/unitree-b1": UnitreeunitreeB1Twin,
    "unitree/unitree_a1": UnitreeunitreeA1Twin,
    "kuka/kuka_iiwa14": KukakukaIiwa14Twin,
    "unitree/unitree_z1": UnitreeunitreeZ1Twin,
    "fictionlab/leo-rover": FictionlableoRoverTwin,
    "cyberwave/generic_cube": CyberwavegenericCubeTwin,
    "cyberwave/generictable": CyberwavegenerictableTwin,
    "cyberwave/generic-box": CyberwavegenericBoxTwin,
    "universal_robots/UR5": UniversalRobotsur5Twin,
    "cyberwave/generic-nvr": CyberwavegenericNvrTwin,
    "intel/realsensed455": Intelrealsensed455Twin,
    "basler/basler_ag_ace_gige": BaslerbaslerAgAceGigeTwin,
    "logitech/c275": Logitechc275Twin,
    "raspberry/pi-camerav3": RaspberrypiCamerav3Twin,
    "cyberwave/standard-cam": CyberwavestandardCamTwin,
    "cyberwave/generic_ipcamera": CyberwavegenericIpcameraTwin,
    "prox-dynamics/black-hornet-nano": ProxDynamicsblackHornetNanoTwin,
    "cyberwave/generic-auv": CyberwavegenericAuvTwin,
    "cyberwave/substation": CyberwavesubstationTwin,
    "SZ-DJI-Technology/DJI-Mini-3-Pro": SzDjiTechnologydjiMini3ProTwin,
    "SZ-DJI-Technology/DJI-Mini-4-Pro": SzDjiTechnologydjiMini4ProTwin,
    "Holybro/PX4Vision": Holybropx4visionTwin,
    "hoverspect/Avientory-Platform": HoverspectavientoryPlatformTwin,
    "apeiroon/bx100": Apeiroonbx100Twin,
    "logitech/c920": Logitechc920Twin,
    "the-robot-studio/so101-with-camera": TheRobotStudioso101WithCameraTwin,
    "universal_robots/UR7": UniversalRobotsur7Twin,
    "waveshare/ugv-beast": WaveshareugvBeastTwin,
    "alto-robotics/node": AltoRoboticsnodeTwin,
    "agilox/agilox-ofl": AgiloxagiloxOflTwin,
    "otto-motors/otto-1500": OttoMotorsotto1500Twin,
    "cyberwave/warehouse": CyberwavewarehouseTwin,
    "up/mir-250": Upmir250Twin,
    "agile-x-robotics/tracer-20": AgileXRoboticstracer20Twin,
    "open/openarm": OpenopenarmTwin,
}
