from __future__ import annotations
import mujoco._enums
import numpy
import numpy.typing
import typing
__all__: list[str] = ['MjContact', 'MjData', 'MjLROpt', 'MjLogConfig', 'MjLogMessage', 'MjModel', 'MjOption', 'MjPreContact', 'MjSolverStat', 'MjStatistic', 'MjTimerStat', 'MjVisual', 'MjWarningStat', 'MjrRect', 'MjrVertexAttribute', 'MjvCamera', 'MjvFigure', 'MjvGLCamera', 'MjvGeom', 'MjvLight', 'MjvOption', 'MjvPerturb', 'MjvScene', 'mjv_averageCamera']
class MjContact:
    __hash__: typing.ClassVar[None] = None
    def __copy__(self) -> MjContact:
        ...
    def __deepcopy__(self, arg0: dict) -> MjContact:
        ...
    def __eq__(self, arg0: typing.Any) -> bool:
        ...
    def __init__(self) -> None:
        ...
    def __repr__(self) -> str:
        ...
    @property
    def H(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @H.setter
    def H(self, arg1: typing.Any) -> None:
        ...
    @property
    def adhesion(self) -> float:
        ...
    @adhesion.setter
    def adhesion(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def dim(self) -> int:
        ...
    @dim.setter
    def dim(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def dist(self) -> float:
        ...
    @dist.setter
    def dist(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def efc_address(self) -> int:
        ...
    @efc_address.setter
    def efc_address(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def elem(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @elem.setter
    def elem(self, arg1: typing.Any) -> None:
        ...
    @property
    def exclude(self) -> int:
        ...
    @exclude.setter
    def exclude(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def flex(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex.setter
    def flex(self, arg1: typing.Any) -> None:
        ...
    @property
    def frame(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @frame.setter
    def frame(self, arg1: typing.Any) -> None:
        ...
    @property
    def friction(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @friction.setter
    def friction(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @geom.setter
    def geom(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom1(self) -> int:
        ...
    @geom1.setter
    def geom1(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def geom2(self) -> int:
        ...
    @geom2.setter
    def geom2(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def includemargin(self) -> float:
        ...
    @includemargin.setter
    def includemargin(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def mu(self) -> float:
        ...
    @mu.setter
    def mu(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def pos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @pos.setter
    def pos(self, arg1: typing.Any) -> None:
        ...
    @property
    def solimp(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @solimp.setter
    def solimp(self, arg1: typing.Any) -> None:
        ...
    @property
    def solref(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @solref.setter
    def solref(self, arg1: typing.Any) -> None:
        ...
    @property
    def solreffriction(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @solreffriction.setter
    def solreffriction(self, arg1: typing.Any) -> None:
        ...
    @property
    def vert(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @vert.setter
    def vert(self, arg1: typing.Any) -> None:
        ...
class MjData:
    _all_fields: typing.ClassVar[tuple] = ('narena', 'nbuffer', 'nplugin', 'pstack', 'pbase', 'parena', 'threadpool', 'maxuse_stack', 'maxuse_arena', 'maxuse_con', 'maxuse_efc', 'ncon', 'ne', 'nf', 'nl', 'nefc', 'nJ', 'efm_active', 'nefmK', 'nefmdof', 'nefmL', 'nY', 'nA', 'nisland', 'nidof', 'ntree_awake', 'nbody_awake', 'nparent_awake', 'nv_awake', 'flg_energypos', 'flg_energyvel', 'flg_subtreevel', 'flg_rnepost', 'time', 'solver', 'solver_niter', 'solver_nnz', 'solver_fwdinv', 'warning', 'timer', 'energy', 'qpos', 'qvel', 'act', 'history', 'qacc_warmstart', 'plugin_state', 'ctrl', 'qfrc_applied', 'xfrc_applied', 'eq_active', 'mocap_pos', 'mocap_quat', 'qacc', 'act_dot', 'userdata', 'sensordata', 'tree_asleep', 'plugin', 'plugin_data', 'xpos', 'xquat', 'xmat', 'xipos', 'ximat', 'xanchor', 'xaxis', 'geom_xpos', 'geom_xmat', 'site_xpos', 'site_xmat', 'cam_xpos', 'cam_xmat', 'light_xpos', 'light_xdir', 'subtree_com', 'cdof', 'cinert', 'flexvert_xpos', 'flexelem_aabb', 'flexelem_krot', 'flexedge_J', 'flexedge_length', 'flexvert_J', 'flexvert_length', 'bvh_aabb_dyn', 'ten_wrapadr', 'ten_wrapnum', 'ten_J', 'ten_length', 'wrap_obj', 'wrap_xpos', 'actuator_length', 'moment_rownnz', 'moment_rowadr', 'moment_colind', 'actuator_moment', 'crb', 'M', 'qLD', 'qLDiagInv', 'bvh_active', 'tree_awake', 'body_awake', 'body_awake_ind', 'parent_awake_ind', 'dof_awake_ind', 'flexedge_velocity', 'ten_velocity', 'actuator_velocity', 'cvel', 'cdof_dot', 'qfrc_bias', 'qfrc_spring', 'qfrc_damper', 'qfrc_gravcomp', 'qfrc_fluid', 'qfrc_adhesion', 'qfrc_passive', 'subtree_linvel', 'subtree_angmom', 'qH', 'qHDiagInv', 'qDeriv', 'qLU', 'actuator_force', 'qfrc_actuator', 'qfrc_smooth', 'qacc_smooth', 'qfrc_constraint', 'qfrc_inverse', 'cacc', 'cfrc_int', 'cfrc_ext')
    flg_energypos: bool
    flg_energyvel: bool
    flg_rnepost: bool
    flg_subtreevel: bool
    @staticmethod
    def bind(data: MjData, specs: typing.Union[typing.Sequence[typing.Union[mujoco._specs.MjsBody, mujoco._specs.MjsFrame, mujoco._specs.MjsGeom, mujoco._specs.MjsJoint, mujoco._specs.MjsLight, mujoco._specs.MjsMaterial, mujoco._specs.MjsSite, mujoco._specs.MjsMesh, mujoco._specs.MjsSkin, mujoco._specs.MjsTexture, mujoco._specs.MjsText, mujoco._specs.MjsTuple, mujoco._specs.MjsCamera, mujoco._specs.MjsFlex, mujoco._specs.MjsHField, mujoco._specs.MjsKey, mujoco._specs.MjsNumeric, mujoco._specs.MjsPair, mujoco._specs.MjsExclude, mujoco._specs.MjsEquality, mujoco._specs.MjsTendon, mujoco._specs.MjsSensor, mujoco._specs.MjsActuator, mujoco._specs.MjsPlugin]], mujoco._specs.MjsBody, mujoco._specs.MjsFrame, mujoco._specs.MjsGeom, mujoco._specs.MjsJoint, mujoco._specs.MjsLight, mujoco._specs.MjsMaterial, mujoco._specs.MjsSite, mujoco._specs.MjsMesh, mujoco._specs.MjsSkin, mujoco._specs.MjsTexture, mujoco._specs.MjsText, mujoco._specs.MjsTuple, mujoco._specs.MjsCamera, mujoco._specs.MjsFlex, mujoco._specs.MjsHField, mujoco._specs.MjsKey, mujoco._specs.MjsNumeric, mujoco._specs.MjsPair, mujoco._specs.MjsExclude, mujoco._specs.MjsEquality, mujoco._specs.MjsTendon, mujoco._specs.MjsSensor, mujoco._specs.MjsActuator, mujoco._specs.MjsPlugin]):
        """
        Bind a Mujoco spec to a mjData.
        
        Args:
          data: The mjData to bind to.
          specs: The mjSpec elements to use for binding, can be a single element or a
            sequence.
        Returns:
          A MjDataGroupedViews object or a list of the same type.
        """
    def __copy__(self) -> MjData:
        ...
    def __deepcopy__(self, arg0: dict) -> MjData:
        ...
    def __getstate__(self) -> bytes:
        ...
    def __init__(self, arg0: MjModel) -> None:
        ...
    def __setstate__(self, arg0: bytes) -> None:
        ...
    @typing.overload
    def actuator(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def actuator(self, name: str = '') -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsActuator_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsBody_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsCamera_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsGeom_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsJoint_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsLight_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsSensor_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsSite_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsTendon_ = None) -> ...:
        ...
    @typing.overload
    def body(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def body(self, name: str = '') -> ...:
        ...
    @typing.overload
    def cam(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def cam(self, name: str = '') -> ...:
        ...
    @typing.overload
    def camera(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def camera(self, name: str = '') -> ...:
        ...
    @typing.overload
    def geom(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def geom(self, name: str = '') -> ...:
        ...
    @typing.overload
    def jnt(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def jnt(self, name: str = '') -> ...:
        ...
    @typing.overload
    def joint(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def joint(self, name: str = '') -> ...:
        ...
    @typing.overload
    def light(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def light(self, name: str = '') -> ...:
        ...
    @typing.overload
    def sensor(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def sensor(self, name: str = '') -> ...:
        ...
    @typing.overload
    def site(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def site(self, name: str = '') -> ...:
        ...
    @typing.overload
    def ten(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def ten(self, name: str = '') -> ...:
        ...
    @typing.overload
    def tendon(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def tendon(self, name: str = '') -> ...:
        ...
    @property
    def M(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @M.setter
    def M(self, arg1: typing.Any) -> None:
        ...
    @property
    def _address(self) -> int:
        ...
    @property
    def act(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @act.setter
    def act(self, arg1: typing.Any) -> None:
        ...
    @property
    def act_dot(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @act_dot.setter
    def act_dot(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_force(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @actuator_force.setter
    def actuator_force(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_length(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @actuator_length.setter
    def actuator_length(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_moment(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @actuator_moment.setter
    def actuator_moment(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_velocity(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @actuator_velocity.setter
    def actuator_velocity(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_awake(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @body_awake.setter
    def body_awake(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_awake_ind(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @body_awake_ind.setter
    def body_awake_ind(self, arg1: typing.Any) -> None:
        ...
    @property
    def bvh_aabb_dyn(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @bvh_aabb_dyn.setter
    def bvh_aabb_dyn(self, arg1: typing.Any) -> None:
        ...
    @property
    def bvh_active(self) -> numpy.typing.NDArray[numpy.bool]:
        ...
    @bvh_active.setter
    def bvh_active(self, arg1: typing.Any) -> None:
        ...
    @property
    def cacc(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cacc.setter
    def cacc(self, arg1: typing.Any) -> None:
        ...
    @property
    def cam_xmat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cam_xmat.setter
    def cam_xmat(self, arg1: typing.Any) -> None:
        ...
    @property
    def cam_xpos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cam_xpos.setter
    def cam_xpos(self, arg1: typing.Any) -> None:
        ...
    @property
    def cdof(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cdof.setter
    def cdof(self, arg1: typing.Any) -> None:
        ...
    @property
    def cdof_dot(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cdof_dot.setter
    def cdof_dot(self, arg1: typing.Any) -> None:
        ...
    @property
    def cfrc_ext(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cfrc_ext.setter
    def cfrc_ext(self, arg1: typing.Any) -> None:
        ...
    @property
    def cfrc_int(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cfrc_int.setter
    def cfrc_int(self, arg1: typing.Any) -> None:
        ...
    @property
    def cinert(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cinert.setter
    def cinert(self, arg1: typing.Any) -> None:
        ...
    @property
    def contact(self) -> _MjContactList:
        ...
    @property
    def crb(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @crb.setter
    def crb(self, arg1: typing.Any) -> None:
        ...
    @property
    def ctrl(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @ctrl.setter
    def ctrl(self, arg1: typing.Any) -> None:
        ...
    @property
    def cvel(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cvel.setter
    def cvel(self, arg1: typing.Any) -> None:
        ...
    @property
    def dof_awake_ind(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @dof_awake_ind.setter
    def dof_awake_ind(self, arg1: typing.Any) -> None:
        ...
    @property
    def dof_island(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def efc_AR(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def efc_AR_colind(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def efc_AR_rowadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def efc_AR_rownnz(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def efc_D(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def efc_J(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def efc_J_colind(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def efc_J_rowadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def efc_J_rownnz(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def efc_J_rowsuper(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def efc_KBIP(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def efc_R(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def efc_Y(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def efc_Y_colind(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def efc_Y_rowadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def efc_Y_rownnz(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def efc_aref(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def efc_b(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def efc_diagA(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def efc_force(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def efc_frictionloss(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def efc_id(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def efc_island(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def efc_margin(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def efc_pos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def efc_state(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def efc_type(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def efc_vel(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def efm_K_colind(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def efm_K_rowadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def efm_K_rownnz(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def efm_K_val(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def efm_L(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def efm_L_colind(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def efm_L_rowadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def efm_L_rownnz(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def efm_active(self) -> int:
        ...
    @efm_active.setter
    def efm_active(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def efm_c(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def efm_dofid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def energy(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @energy.setter
    def energy(self, arg1: typing.Any) -> None:
        ...
    @property
    def eq_active(self) -> numpy.typing.NDArray[numpy.bool]:
        ...
    @eq_active.setter
    def eq_active(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexedge_J(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flexedge_J.setter
    def flexedge_J(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexedge_length(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flexedge_length.setter
    def flexedge_length(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexedge_velocity(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flexedge_velocity.setter
    def flexedge_velocity(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexelem_aabb(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flexelem_aabb.setter
    def flexelem_aabb(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexelem_krot(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flexelem_krot.setter
    def flexelem_krot(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexvert_J(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flexvert_J.setter
    def flexvert_J(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexvert_length(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flexvert_length.setter
    def flexvert_length(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexvert_xpos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flexvert_xpos.setter
    def flexvert_xpos(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_xmat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @geom_xmat.setter
    def geom_xmat(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_xpos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @geom_xpos.setter
    def geom_xpos(self, arg1: typing.Any) -> None:
        ...
    @property
    def history(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @history.setter
    def history(self, arg1: typing.Any) -> None:
        ...
    @property
    def iacc(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def iacc_smooth(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def iefc_D(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def iefc_R(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def iefc_aref(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def iefc_force(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def iefc_frictionloss(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def iefc_id(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def iefc_state(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def iefc_type(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def ifrc_constraint(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def ifrc_smooth(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def island_dofadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def island_idofadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def island_iefcadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def island_itreeadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def island_ne(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def island_nefc(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def island_nf(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def island_ntree(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def island_nv(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def light_xdir(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @light_xdir.setter
    def light_xdir(self, arg1: typing.Any) -> None:
        ...
    @property
    def light_xpos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @light_xpos.setter
    def light_xpos(self, arg1: typing.Any) -> None:
        ...
    @property
    def map_dof2idof(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def map_efc2iefc(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def map_idof2dof(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def map_iefc2efc(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def map_itree2tree(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def maxuse_arena(self) -> int:
        ...
    @maxuse_arena.setter
    def maxuse_arena(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def maxuse_con(self) -> int:
        ...
    @maxuse_con.setter
    def maxuse_con(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def maxuse_efc(self) -> int:
        ...
    @maxuse_efc.setter
    def maxuse_efc(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def maxuse_stack(self) -> int:
        ...
    @maxuse_stack.setter
    def maxuse_stack(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def mocap_pos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @mocap_pos.setter
    def mocap_pos(self, arg1: typing.Any) -> None:
        ...
    @property
    def mocap_quat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @mocap_quat.setter
    def mocap_quat(self, arg1: typing.Any) -> None:
        ...
    @property
    def model(self) -> MjModel:
        ...
    @property
    def moment_colind(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @moment_colind.setter
    def moment_colind(self, arg1: typing.Any) -> None:
        ...
    @property
    def moment_rowadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @moment_rowadr.setter
    def moment_rowadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def moment_rownnz(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @moment_rownnz.setter
    def moment_rownnz(self, arg1: typing.Any) -> None:
        ...
    @property
    def nA(self) -> int:
        ...
    @nA.setter
    def nA(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def nJ(self) -> int:
        ...
    @nJ.setter
    def nJ(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def nY(self) -> int:
        ...
    @nY.setter
    def nY(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def narena(self) -> int:
        ...
    @narena.setter
    def narena(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def nbody_awake(self) -> int:
        ...
    @nbody_awake.setter
    def nbody_awake(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def nbuffer(self) -> int:
        ...
    @nbuffer.setter
    def nbuffer(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def ncon(self) -> int:
        ...
    @ncon.setter
    def ncon(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def ne(self) -> int:
        ...
    @ne.setter
    def ne(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def nefc(self) -> int:
        ...
    @nefc.setter
    def nefc(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def nefmK(self) -> int:
        ...
    @nefmK.setter
    def nefmK(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def nefmL(self) -> int:
        ...
    @nefmL.setter
    def nefmL(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def nefmdof(self) -> int:
        ...
    @nefmdof.setter
    def nefmdof(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def nf(self) -> int:
        ...
    @nf.setter
    def nf(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def nidof(self) -> int:
        ...
    @nidof.setter
    def nidof(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def nisland(self) -> int:
        ...
    @nisland.setter
    def nisland(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def nl(self) -> int:
        ...
    @nl.setter
    def nl(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def nparent_awake(self) -> int:
        ...
    @nparent_awake.setter
    def nparent_awake(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def nplugin(self) -> int:
        ...
    @nplugin.setter
    def nplugin(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def ntree_awake(self) -> int:
        ...
    @ntree_awake.setter
    def ntree_awake(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def nv_awake(self) -> int:
        ...
    @nv_awake.setter
    def nv_awake(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def parena(self) -> int:
        ...
    @parena.setter
    def parena(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def parent_awake_ind(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @parent_awake_ind.setter
    def parent_awake_ind(self, arg1: typing.Any) -> None:
        ...
    @property
    def pbase(self) -> int:
        ...
    @pbase.setter
    def pbase(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def plugin(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @plugin.setter
    def plugin(self, arg1: typing.Any) -> None:
        ...
    @property
    def plugin_data(self) -> numpy.typing.NDArray[numpy.uint64]:
        ...
    @plugin_data.setter
    def plugin_data(self, arg1: typing.Any) -> None:
        ...
    @property
    def plugin_state(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @plugin_state.setter
    def plugin_state(self, arg1: typing.Any) -> None:
        ...
    @property
    def pstack(self) -> int:
        ...
    @pstack.setter
    def pstack(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def qDeriv(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qDeriv.setter
    def qDeriv(self, arg1: typing.Any) -> None:
        ...
    @property
    def qH(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qH.setter
    def qH(self, arg1: typing.Any) -> None:
        ...
    @property
    def qHDiagInv(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qHDiagInv.setter
    def qHDiagInv(self, arg1: typing.Any) -> None:
        ...
    @property
    def qLD(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qLD.setter
    def qLD(self, arg1: typing.Any) -> None:
        ...
    @property
    def qLDiagInv(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qLDiagInv.setter
    def qLDiagInv(self, arg1: typing.Any) -> None:
        ...
    @property
    def qLU(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qLU.setter
    def qLU(self, arg1: typing.Any) -> None:
        ...
    @property
    def qacc(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qacc.setter
    def qacc(self, arg1: typing.Any) -> None:
        ...
    @property
    def qacc_smooth(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qacc_smooth.setter
    def qacc_smooth(self, arg1: typing.Any) -> None:
        ...
    @property
    def qacc_warmstart(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qacc_warmstart.setter
    def qacc_warmstart(self, arg1: typing.Any) -> None:
        ...
    @property
    def qfrc_actuator(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qfrc_actuator.setter
    def qfrc_actuator(self, arg1: typing.Any) -> None:
        ...
    @property
    def qfrc_adhesion(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qfrc_adhesion.setter
    def qfrc_adhesion(self, arg1: typing.Any) -> None:
        ...
    @property
    def qfrc_applied(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qfrc_applied.setter
    def qfrc_applied(self, arg1: typing.Any) -> None:
        ...
    @property
    def qfrc_bias(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qfrc_bias.setter
    def qfrc_bias(self, arg1: typing.Any) -> None:
        ...
    @property
    def qfrc_constraint(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qfrc_constraint.setter
    def qfrc_constraint(self, arg1: typing.Any) -> None:
        ...
    @property
    def qfrc_damper(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qfrc_damper.setter
    def qfrc_damper(self, arg1: typing.Any) -> None:
        ...
    @property
    def qfrc_fluid(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qfrc_fluid.setter
    def qfrc_fluid(self, arg1: typing.Any) -> None:
        ...
    @property
    def qfrc_gravcomp(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qfrc_gravcomp.setter
    def qfrc_gravcomp(self, arg1: typing.Any) -> None:
        ...
    @property
    def qfrc_inverse(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qfrc_inverse.setter
    def qfrc_inverse(self, arg1: typing.Any) -> None:
        ...
    @property
    def qfrc_passive(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qfrc_passive.setter
    def qfrc_passive(self, arg1: typing.Any) -> None:
        ...
    @property
    def qfrc_smooth(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qfrc_smooth.setter
    def qfrc_smooth(self, arg1: typing.Any) -> None:
        ...
    @property
    def qfrc_spring(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qfrc_spring.setter
    def qfrc_spring(self, arg1: typing.Any) -> None:
        ...
    @property
    def qpos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qpos.setter
    def qpos(self, arg1: typing.Any) -> None:
        ...
    @property
    def qvel(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qvel.setter
    def qvel(self, arg1: typing.Any) -> None:
        ...
    @property
    def sensordata(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @sensordata.setter
    def sensordata(self, arg1: typing.Any) -> None:
        ...
    @property
    def signature(self) -> int:
        ...
    @property
    def site_xmat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @site_xmat.setter
    def site_xmat(self, arg1: typing.Any) -> None:
        ...
    @property
    def site_xpos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @site_xpos.setter
    def site_xpos(self, arg1: typing.Any) -> None:
        ...
    @property
    def solver(self) -> _MjSolverStatList:
        ...
    @property
    def solver_fwdinv(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @solver_fwdinv.setter
    def solver_fwdinv(self, arg1: typing.Any) -> None:
        ...
    @property
    def solver_niter(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @solver_niter.setter
    def solver_niter(self, arg1: typing.Any) -> None:
        ...
    @property
    def solver_nnz(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @solver_nnz.setter
    def solver_nnz(self, arg1: typing.Any) -> None:
        ...
    @property
    def subtree_angmom(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @subtree_angmom.setter
    def subtree_angmom(self, arg1: typing.Any) -> None:
        ...
    @property
    def subtree_com(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @subtree_com.setter
    def subtree_com(self, arg1: typing.Any) -> None:
        ...
    @property
    def subtree_linvel(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @subtree_linvel.setter
    def subtree_linvel(self, arg1: typing.Any) -> None:
        ...
    @property
    def ten_J(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @ten_J.setter
    def ten_J(self, arg1: typing.Any) -> None:
        ...
    @property
    def ten_length(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @ten_length.setter
    def ten_length(self, arg1: typing.Any) -> None:
        ...
    @property
    def ten_velocity(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @ten_velocity.setter
    def ten_velocity(self, arg1: typing.Any) -> None:
        ...
    @property
    def ten_wrapadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @ten_wrapadr.setter
    def ten_wrapadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def ten_wrapnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @ten_wrapnum.setter
    def ten_wrapnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_efcadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def threadpool(self) -> int:
        ...
    @threadpool.setter
    def threadpool(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def time(self) -> float:
        ...
    @time.setter
    def time(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def timer(self) -> _MjTimerStatList:
        ...
    @property
    def tree_asleep(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @tree_asleep.setter
    def tree_asleep(self, arg1: typing.Any) -> None:
        ...
    @property
    def tree_awake(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @tree_awake.setter
    def tree_awake(self, arg1: typing.Any) -> None:
        ...
    @property
    def tree_island(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def userdata(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @userdata.setter
    def userdata(self, arg1: typing.Any) -> None:
        ...
    @property
    def warning(self) -> _MjWarningStatList:
        ...
    @property
    def wrap_obj(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @wrap_obj.setter
    def wrap_obj(self, arg1: typing.Any) -> None:
        ...
    @property
    def wrap_xpos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @wrap_xpos.setter
    def wrap_xpos(self, arg1: typing.Any) -> None:
        ...
    @property
    def xanchor(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @xanchor.setter
    def xanchor(self, arg1: typing.Any) -> None:
        ...
    @property
    def xaxis(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @xaxis.setter
    def xaxis(self, arg1: typing.Any) -> None:
        ...
    @property
    def xfrc_applied(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @xfrc_applied.setter
    def xfrc_applied(self, arg1: typing.Any) -> None:
        ...
    @property
    def ximat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @ximat.setter
    def ximat(self, arg1: typing.Any) -> None:
        ...
    @property
    def xipos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @xipos.setter
    def xipos(self, arg1: typing.Any) -> None:
        ...
    @property
    def xmat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @xmat.setter
    def xmat(self, arg1: typing.Any) -> None:
        ...
    @property
    def xpos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @xpos.setter
    def xpos(self, arg1: typing.Any) -> None:
        ...
    @property
    def xquat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @xquat.setter
    def xquat(self, arg1: typing.Any) -> None:
        ...
class MjLROpt:
    __hash__: typing.ClassVar[None] = None
    def __copy__(self) -> MjLROpt:
        ...
    def __deepcopy__(self, arg0: dict) -> MjLROpt:
        ...
    def __eq__(self, arg0: typing.Any) -> bool:
        ...
    def __init__(self) -> None:
        ...
    def __repr__(self) -> str:
        ...
    @property
    def accel(self) -> float:
        ...
    @accel.setter
    def accel(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def interval(self) -> float:
        ...
    @interval.setter
    def interval(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def inttotal(self) -> float:
        ...
    @inttotal.setter
    def inttotal(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def maxforce(self) -> float:
        ...
    @maxforce.setter
    def maxforce(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def mode(self) -> int:
        ...
    @mode.setter
    def mode(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def timeconst(self) -> float:
        ...
    @timeconst.setter
    def timeconst(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def timestep(self) -> float:
        ...
    @timestep.setter
    def timestep(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def tolrange(self) -> float:
        ...
    @tolrange.setter
    def tolrange(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def useexisting(self) -> int:
        ...
    @useexisting.setter
    def useexisting(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def uselimit(self) -> int:
        ...
    @uselimit.setter
    def uselimit(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
class MjLogConfig:
    __hash__: typing.ClassVar[None] = None
    logfile: str
    logto_console: bool
    logto_file: bool
    @staticmethod
    def get() -> MjLogConfig:
        ...
    def __copy__(self) -> MjLogConfig:
        ...
    def __deepcopy__(self, arg0: dict) -> MjLogConfig:
        ...
    def __eq__(self, arg0: typing.Any) -> bool:
        ...
    def __init__(self) -> None:
        ...
    def __repr__(self) -> str:
        ...
    def set(self) -> None:
        ...
    @property
    def topics(self) -> int:
        ...
    @topics.setter
    def topics(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
class MjLogMessage:
    __hash__: typing.ClassVar[None] = None
    subject: str
    timestamp: bool
    def __copy__(self) -> MjLogMessage:
        ...
    def __deepcopy__(self, arg0: dict) -> MjLogMessage:
        ...
    def __eq__(self, arg0: typing.Any) -> bool:
        ...
    def __init__(self) -> None:
        ...
    def __repr__(self) -> str:
        ...
    @property
    def body(self) -> typing.Any:
        ...
    @property
    def file(self) -> typing.Any:
        ...
    @property
    def func(self) -> typing.Any:
        ...
    @property
    def level(self) -> int:
        ...
    @level.setter
    def level(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def line(self) -> int:
        ...
    @line.setter
    def line(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def topic(self) -> int:
        ...
    @topic.setter
    def topic(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
class MjModel:
    _all_fields: typing.ClassVar[tuple] = ('nq', 'nv', 'nu', 'nactuator', 'nout', 'na', 'nbody', 'nbvh', 'nbvhstatic', 'nbvhdynamic', 'noct', 'njnt', 'ntree', 'nM', 'nB', 'nC', 'nD', 'ngeom', 'nsite', 'ncam', 'nlight', 'nflex', 'nflexnode', 'nflexvert', 'nflexedge', 'nflexelem', 'nflexelemdata', 'nflexstiffness', 'nflexbending', 'nefm0dof', 'nefm0L', 'nflexelemedge', 'nflexshelldata', 'nflexevpair', 'nflextexcoord', 'nJfe', 'nJfv', 'nmesh', 'nmeshvert', 'nmeshnormal', 'nmeshtexcoord', 'nmeshface', 'nmeshgraph', 'nmeshpoly', 'nmeshpolyvert', 'nmeshpolymap', 'nskin', 'nskinvert', 'nskintexvert', 'nskinface', 'nskinbone', 'nskinbonevert', 'nhfield', 'nhfielddata', 'ntex', 'ntexdata', 'nmat', 'npair', 'nexclude', 'neq', 'ntendon', 'nJten', 'nwrap', 'nsensor', 'nnumeric', 'nnumericdata', 'ntext', 'ntextdata', 'ntuple', 'ntupledata', 'nkey', 'nmocap', 'nplugin', 'npluginattr', 'nuser_body', 'nuser_jnt', 'nuser_geom', 'nuser_site', 'nuser_cam', 'nuser_tendon', 'nuser_actuator', 'nuser_sensor', 'nnames', 'npaths', 'nnames_map', 'nJmom', 'ngravcomp', 'nemax', 'njmax', 'nconmax', 'npolygonmax', 'nmeshdegmax', 'nuserdata', 'nsensordata', 'npluginstate', 'nhistory', 'narena', 'nbuffer', 'qpos0', 'qpos_spring', 'body_parentid', 'body_rootid', 'body_weldid', 'body_mocapid', 'body_jntnum', 'body_jntadr', 'body_dofnum', 'body_dofadr', 'body_treeid', 'body_geomnum', 'body_geomadr', 'body_simple', 'body_sameframe', 'body_pos', 'body_quat', 'body_ipos', 'body_iquat', 'body_mass', 'body_subtreemass', 'body_inertia', 'body_invweight0', 'body_gravcomp', 'body_margin', 'body_user', 'body_plugin', 'body_contype', 'body_conaffinity', 'body_bvhadr', 'body_bvhnum', 'bvh_depth', 'bvh_child', 'bvh_nodeid', 'bvh_aabb', 'oct_depth', 'oct_child', 'oct_aabb', 'oct_coeff', 'jnt_type', 'jnt_qposadr', 'jnt_dofadr', 'jnt_bodyid', 'jnt_actuatorid', 'jnt_group', 'jnt_limited', 'jnt_actfrclimited', 'jnt_actgravcomp', 'jnt_solref', 'jnt_solimp', 'jnt_pos', 'jnt_axis', 'jnt_stiffness', 'jnt_stiffnesspoly', 'jnt_range', 'jnt_actfrcrange', 'jnt_margin', 'jnt_user', 'dof_bodyid', 'dof_jntid', 'dof_parentid', 'dof_treeid', 'dof_Madr', 'dof_simplenum', 'dof_solref', 'dof_solimp', 'dof_frictionloss', 'dof_armature', 'dof_damping', 'dof_dampingpoly', 'dof_invweight0', 'dof_M0', 'dof_length', 'tree_bodyadr', 'tree_bodynum', 'tree_dofadr', 'tree_dofnum', 'tree_sleep_policy', 'geom_type', 'geom_contype', 'geom_conaffinity', 'geom_condim', 'geom_bodyid', 'geom_dataid', 'geom_matid', 'geom_group', 'geom_priority', 'geom_plugin', 'geom_sameframe', 'geom_solmix', 'geom_solref', 'geom_solimp', 'geom_size', 'geom_aabb', 'geom_rbound', 'geom_pos', 'geom_quat', 'geom_friction', 'geom_margin', 'geom_gap', 'geom_surfacevel', 'geom_adhesion', 'geom_fluid', 'geom_user', 'geom_rgba', 'site_type', 'site_bodyid', 'site_matid', 'site_group', 'site_sameframe', 'site_size', 'site_pos', 'site_quat', 'site_user', 'site_rgba', 'cam_mode', 'cam_bodyid', 'cam_targetbodyid', 'cam_pos', 'cam_quat', 'cam_poscom0', 'cam_pos0', 'cam_mat0', 'cam_projection', 'cam_fovy', 'cam_ipd', 'cam_resolution', 'cam_output', 'cam_sensorsize', 'cam_intrinsic', 'cam_user', 'light_mode', 'light_bodyid', 'light_targetbodyid', 'light_type', 'light_texid', 'light_castshadow', 'light_bulbradius', 'light_intensity', 'light_range', 'light_active', 'light_pos', 'light_dir', 'light_poscom0', 'light_pos0', 'light_dir0', 'light_attenuation', 'light_cutoff', 'light_exponent', 'light_ambient', 'light_diffuse', 'light_specular', 'flex_contype', 'flex_conaffinity', 'flex_condim', 'flex_priority', 'flex_solmix', 'flex_solref', 'flex_solimp', 'flex_friction', 'flex_margin', 'flex_gap', 'flex_internal', 'flex_selfcollide', 'flex_activelayers', 'flex_passive', 'flex_dim', 'flex_matid', 'flex_group', 'flex_interp', 'flex_cellnum', 'flex_nodeadr', 'flex_nodenum', 'flex_vertadr', 'flex_vertnum', 'flex_edgeadr', 'flex_edgenum', 'flex_elemadr', 'flex_elemnum', 'flex_elemdataadr', 'flex_stiffnessadr', 'flex_elemedgeadr', 'flex_bendingadr', 'flex_shellnum', 'flex_shelldataadr', 'flex_evpairadr', 'flex_evpairnum', 'flex_texcoordadr', 'flex_nodebodyid', 'flex_vertbodyid', 'flex_vertedgeadr', 'flex_vertedgenum', 'flex_vertedge', 'flex_edge', 'flex_edgeflap', 'flex_elem', 'flex_elemtexcoord', 'flex_elemedge', 'flex_elemlayer', 'flex_shell', 'flex_evpair', 'flex_vert', 'flex_vert0', 'flex_vertmetric', 'flex_node', 'flex_node0', 'flexedge_length0', 'flexedge_invweight0', 'flex_radius', 'flex_size', 'flex_stiffness', 'flex_bending', 'efm0_dofid', 'efm0_L_rownnz', 'efm0_L_rowadr', 'efm0_L_colind', 'efm0_L', 'flex_damping', 'flex_edgestiffness', 'flex_edgedamping', 'flex_edgeequality', 'flex_rigid', 'flexedge_rigid', 'flex_centered', 'flex_flatskin', 'flex_bvhadr', 'flex_bvhnum', 'flexedge_J_rownnz', 'flexedge_J_rowadr', 'flexedge_J_colind', 'flexvert_J_rownnz', 'flexvert_J_rowadr', 'flexvert_J_colind', 'flex_rgba', 'flex_texcoord', 'mesh_vertadr', 'mesh_vertnum', 'mesh_faceadr', 'mesh_facenum', 'mesh_bvhadr', 'mesh_bvhnum', 'mesh_octadr', 'mesh_octnum', 'mesh_normaladr', 'mesh_normalnum', 'mesh_texcoordadr', 'mesh_texcoordnum', 'mesh_graphadr', 'mesh_vert', 'mesh_normal', 'mesh_texcoord', 'mesh_face', 'mesh_facenormal', 'mesh_facetexcoord', 'mesh_graph', 'mesh_scale', 'mesh_pos', 'mesh_quat', 'mesh_pathadr', 'mesh_polynum', 'mesh_polyadr', 'mesh_polynormal', 'mesh_polyvertadr', 'mesh_polyvertnum', 'mesh_polyvert', 'mesh_polymapadr', 'mesh_polymapnum', 'mesh_polymap', 'skin_matid', 'skin_group', 'skin_rgba', 'skin_inflate', 'skin_vertadr', 'skin_vertnum', 'skin_texcoordadr', 'skin_faceadr', 'skin_facenum', 'skin_boneadr', 'skin_bonenum', 'skin_vert', 'skin_texcoord', 'skin_face', 'skin_bonevertadr', 'skin_bonevertnum', 'skin_bonebindpos', 'skin_bonebindquat', 'skin_bonebodyid', 'skin_bonevertid', 'skin_bonevertweight', 'skin_pathadr', 'hfield_size', 'hfield_nrow', 'hfield_ncol', 'hfield_adr', 'hfield_data', 'hfield_pathadr', 'tex_type', 'tex_colorspace', 'tex_height', 'tex_width', 'tex_nchannel', 'tex_adr', 'tex_data', 'tex_pathadr', 'mat_texid', 'mat_texuniform', 'mat_texrepeat', 'mat_emission', 'mat_specular', 'mat_shininess', 'mat_reflectance', 'mat_metallic', 'mat_roughness', 'mat_rgba', 'pair_dim', 'pair_geom1', 'pair_geom2', 'pair_signature', 'pair_solref', 'pair_solreffriction', 'pair_solimp', 'pair_margin', 'pair_gap', 'pair_adhesion', 'pair_friction', 'exclude_signature', 'eq_type', 'eq_obj1id', 'eq_obj2id', 'eq_objtype', 'eq_active0', 'eq_solref', 'eq_solimp', 'eq_data', 'tendon_adr', 'tendon_num', 'tendon_matid', 'tendon_actuatorid', 'tendon_group', 'tendon_treenum', 'tendon_treeid', 'ten_J_rownnz', 'ten_J_rowadr', 'ten_J_colind', 'tendon_limited', 'tendon_actfrclimited', 'tendon_width', 'tendon_solref_lim', 'tendon_solimp_lim', 'tendon_solref_fri', 'tendon_solimp_fri', 'tendon_range', 'tendon_actfrcrange', 'tendon_margin', 'tendon_stiffness', 'tendon_stiffnesspoly', 'tendon_damping', 'tendon_dampingpoly', 'tendon_armature', 'tendon_frictionloss', 'tendon_lengthspring', 'tendon_length0', 'tendon_invweight0', 'tendon_user', 'tendon_rgba', 'wrap_type', 'wrap_objid', 'wrap_prm', 'actuator_trntype', 'actuator_dyntype', 'actuator_gaintype', 'actuator_biastype', 'actuator_ctrladr', 'actuator_ctrlnum', 'actuator_ctrlspec', 'actuator_outadr', 'actuator_outnum', 'actuator_actadr', 'actuator_actnum', 'actuator_trnid', 'actuator_cranklength', 'actuator_dynprm', 'actuator_gainprm', 'actuator_biasprm', 'actuator_actlimited', 'actuator_actrange', 'actuator_actearly', 'actuator_history', 'actuator_historyadr', 'actuator_delay', 'actuator_damping', 'actuator_dampingpoly', 'actuator_armature', 'actuator_group', 'actuator_user', 'actuator_plugin', 'actuator_forcelimited', 'actuator_forcerange', 'actuator_ctrllimited', 'actuator_ctrlrange', 'actuator_gear', 'actuator_acc0', 'actuator_length0', 'actuator_lengthrange', 'sensor_type', 'sensor_datatype', 'sensor_needstage', 'sensor_objtype', 'sensor_objid', 'sensor_reftype', 'sensor_refid', 'sensor_intprm', 'sensor_dim', 'sensor_adr', 'sensor_cutoff', 'sensor_noise', 'sensor_history', 'sensor_historyadr', 'sensor_delay', 'sensor_interval', 'sensor_user', 'sensor_plugin', 'plugin', 'plugin_stateadr', 'plugin_statenum', 'plugin_attr', 'plugin_attradr', 'numeric_adr', 'numeric_size', 'numeric_data', 'text_adr', 'text_size', 'text_data', 'tuple_adr', 'tuple_size', 'tuple_objtype', 'tuple_objid', 'tuple_objprm', 'key_time', 'key_qpos', 'key_qvel', 'key_act', 'key_mpos', 'key_mquat', 'key_ctrl', 'name_bodyadr', 'name_jntadr', 'name_geomadr', 'name_siteadr', 'name_camadr', 'name_lightadr', 'name_flexadr', 'name_meshadr', 'name_skinadr', 'name_hfieldadr', 'name_texadr', 'name_matadr', 'name_pairadr', 'name_excludeadr', 'name_eqadr', 'name_tendonadr', 'name_actuatoradr', 'name_sensoradr', 'name_numericadr', 'name_textadr', 'name_tupleadr', 'name_keyadr', 'name_pluginadr', 'names', 'names_map', 'paths', 'B_rownnz', 'B_rowadr', 'B_colind', 'M_rownnz', 'M_rowadr', 'M_colind', 'mapM2M', 'D_rownnz', 'D_rowadr', 'D_diag', 'D_colind', 'mapM2D', 'mapD2M')
    _size_fields: typing.ClassVar[tuple] = ('nq', 'nv', 'nu', 'nactuator', 'nout', 'na', 'nbody', 'nbvh', 'nbvhstatic', 'nbvhdynamic', 'noct', 'njnt', 'ntree', 'nM', 'nB', 'nC', 'nD', 'ngeom', 'nsite', 'ncam', 'nlight', 'nflex', 'nflexnode', 'nflexvert', 'nflexedge', 'nflexelem', 'nflexelemdata', 'nflexstiffness', 'nflexbending', 'nefm0dof', 'nefm0L', 'nflexelemedge', 'nflexshelldata', 'nflexevpair', 'nflextexcoord', 'nJfe', 'nJfv', 'nmesh', 'nmeshvert', 'nmeshnormal', 'nmeshtexcoord', 'nmeshface', 'nmeshgraph', 'nmeshpoly', 'nmeshpolyvert', 'nmeshpolymap', 'nskin', 'nskinvert', 'nskintexvert', 'nskinface', 'nskinbone', 'nskinbonevert', 'nhfield', 'nhfielddata', 'ntex', 'ntexdata', 'nmat', 'npair', 'nexclude', 'neq', 'ntendon', 'nJten', 'nwrap', 'nsensor', 'nnumeric', 'nnumericdata', 'ntext', 'ntextdata', 'ntuple', 'ntupledata', 'nkey', 'nmocap', 'nplugin', 'npluginattr', 'nuser_body', 'nuser_jnt', 'nuser_geom', 'nuser_site', 'nuser_cam', 'nuser_tendon', 'nuser_actuator', 'nuser_sensor', 'nnames', 'npaths', 'nnames_map', 'nJmom', 'ngravcomp', 'nemax', 'njmax', 'nconmax', 'npolygonmax', 'nmeshdegmax', 'nuserdata', 'nsensordata', 'npluginstate', 'nhistory', 'narena', 'nbuffer')
    flg_adhesion: bool
    flg_gravcomp: bool
    flg_surfacevel: bool
    @staticmethod
    def _from_model_ptr(arg0: typing.SupportsInt | typing.SupportsIndex) -> MjModel:
        ...
    @staticmethod
    def bind(model: MjModel, specs: typing.Union[typing.Sequence[typing.Union[mujoco._specs.MjsBody, mujoco._specs.MjsFrame, mujoco._specs.MjsGeom, mujoco._specs.MjsJoint, mujoco._specs.MjsLight, mujoco._specs.MjsMaterial, mujoco._specs.MjsSite, mujoco._specs.MjsMesh, mujoco._specs.MjsSkin, mujoco._specs.MjsTexture, mujoco._specs.MjsText, mujoco._specs.MjsTuple, mujoco._specs.MjsCamera, mujoco._specs.MjsFlex, mujoco._specs.MjsHField, mujoco._specs.MjsKey, mujoco._specs.MjsNumeric, mujoco._specs.MjsPair, mujoco._specs.MjsExclude, mujoco._specs.MjsEquality, mujoco._specs.MjsTendon, mujoco._specs.MjsSensor, mujoco._specs.MjsActuator, mujoco._specs.MjsPlugin]], mujoco._specs.MjsBody, mujoco._specs.MjsFrame, mujoco._specs.MjsGeom, mujoco._specs.MjsJoint, mujoco._specs.MjsLight, mujoco._specs.MjsMaterial, mujoco._specs.MjsSite, mujoco._specs.MjsMesh, mujoco._specs.MjsSkin, mujoco._specs.MjsTexture, mujoco._specs.MjsText, mujoco._specs.MjsTuple, mujoco._specs.MjsCamera, mujoco._specs.MjsFlex, mujoco._specs.MjsHField, mujoco._specs.MjsKey, mujoco._specs.MjsNumeric, mujoco._specs.MjsPair, mujoco._specs.MjsExclude, mujoco._specs.MjsEquality, mujoco._specs.MjsTendon, mujoco._specs.MjsSensor, mujoco._specs.MjsActuator, mujoco._specs.MjsPlugin]):
        """
        Bind a Mujoco spec to a mjModel.
        
        Args:
          model: The mjModel to bind to.
          specs: The mjSpec elements to use for binding, can be a single element or a
            sequence.
        Returns:
          A MjModelGroupedViews object or a list of the same type.
        """
    @staticmethod
    def from_binary_path(filename: str, assets: collections.abc.Mapping[str, bytes] | None = None, vfs: ... = None) -> MjModel:
        """
        Loads an MjModel from an MJB file and an optional assets dictionary.
        
        The filename for the MJB can also refer to a key in the assets dictionary.
        This is useful for example when the MJB is not available as a file on disk.
        """
    @staticmethod
    def from_xml_path(filename: str, assets: collections.abc.Mapping[str, bytes] | None = None, vfs: ... = None) -> MjModel:
        """
        Loads an MjModel from an XML file and optional assets dict or VFS.
        """
    @staticmethod
    def from_xml_string(xml: str, assets: collections.abc.Mapping[str, bytes] | None = None, vfs: ... = None) -> MjModel:
        """
        Loads an MjModel from an XML string and optional assets dict or VFS.
        """
    def __copy__(self) -> MjModel:
        ...
    def __deepcopy__(self, arg0: dict) -> MjModel:
        ...
    def __getstate__(self) -> bytes:
        ...
    def __setstate__(self, arg0: bytes) -> None:
        ...
    @typing.overload
    def actuator(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def actuator(self, name: str = '') -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsActuator_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsBody_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsCamera_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsEquality_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsExclude_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsGeom_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsHField_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsJoint_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsLight_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsMaterial_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsMesh_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsNumeric_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsPair_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsSensor_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsSite_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsSkin_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsTendon_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsTexture_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsTuple_ = None) -> ...:
        ...
    @typing.overload
    def bind_scalar(self, spec: mjsKey_ = None) -> ...:
        ...
    @typing.overload
    def body(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def body(self, name: str = '') -> ...:
        ...
    @typing.overload
    def cam(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def cam(self, name: str = '') -> ...:
        ...
    @typing.overload
    def camera(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def camera(self, name: str = '') -> ...:
        ...
    @typing.overload
    def eq(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def eq(self, name: str = '') -> ...:
        ...
    @typing.overload
    def equality(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def equality(self, name: str = '') -> ...:
        ...
    @typing.overload
    def exclude(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def exclude(self, name: str = '') -> ...:
        ...
    @typing.overload
    def geom(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def geom(self, name: str = '') -> ...:
        ...
    @typing.overload
    def hfield(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def hfield(self, name: str = '') -> ...:
        ...
    @typing.overload
    def jnt(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def jnt(self, name: str = '') -> ...:
        ...
    @typing.overload
    def joint(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def joint(self, name: str = '') -> ...:
        ...
    @typing.overload
    def key(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def key(self, name: str = '') -> ...:
        ...
    @typing.overload
    def keyframe(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def keyframe(self, name: str = '') -> ...:
        ...
    @typing.overload
    def light(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def light(self, name: str = '') -> ...:
        ...
    @typing.overload
    def mat(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def mat(self, name: str = '') -> ...:
        ...
    @typing.overload
    def material(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def material(self, name: str = '') -> ...:
        ...
    @typing.overload
    def mesh(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def mesh(self, name: str = '') -> ...:
        ...
    @typing.overload
    def numeric(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def numeric(self, name: str = '') -> ...:
        ...
    @typing.overload
    def pair(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def pair(self, name: str = '') -> ...:
        ...
    @typing.overload
    def sensor(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def sensor(self, name: str = '') -> ...:
        ...
    @typing.overload
    def site(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def site(self, name: str = '') -> ...:
        ...
    @typing.overload
    def skin(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def skin(self, name: str = '') -> ...:
        ...
    @typing.overload
    def tendon(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def tendon(self, name: str = '') -> ...:
        ...
    @typing.overload
    def tex(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def tex(self, name: str = '') -> ...:
        ...
    @typing.overload
    def texture(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def texture(self, name: str = '') -> ...:
        ...
    @typing.overload
    def tuple(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> ...:
        ...
    @typing.overload
    def tuple(self, name: str = '') -> ...:
        ...
    @property
    def B_colind(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @B_colind.setter
    def B_colind(self, arg1: typing.Any) -> None:
        ...
    @property
    def B_rowadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @B_rowadr.setter
    def B_rowadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def B_rownnz(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @B_rownnz.setter
    def B_rownnz(self, arg1: typing.Any) -> None:
        ...
    @property
    def D_colind(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @D_colind.setter
    def D_colind(self, arg1: typing.Any) -> None:
        ...
    @property
    def D_diag(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @D_diag.setter
    def D_diag(self, arg1: typing.Any) -> None:
        ...
    @property
    def D_rowadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @D_rowadr.setter
    def D_rowadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def D_rownnz(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @D_rownnz.setter
    def D_rownnz(self, arg1: typing.Any) -> None:
        ...
    @property
    def M_colind(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @M_colind.setter
    def M_colind(self, arg1: typing.Any) -> None:
        ...
    @property
    def M_rowadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @M_rowadr.setter
    def M_rowadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def M_rownnz(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @M_rownnz.setter
    def M_rownnz(self, arg1: typing.Any) -> None:
        ...
    @property
    def _address(self) -> int:
        ...
    @property
    def _sizes(self) -> numpy.typing.NDArray[numpy.int64]:
        ...
    @property
    def actuator_acc0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @actuator_acc0.setter
    def actuator_acc0(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_actadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @actuator_actadr.setter
    def actuator_actadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_actearly(self) -> numpy.typing.NDArray[numpy.bool]:
        ...
    @actuator_actearly.setter
    def actuator_actearly(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_actlimited(self) -> numpy.typing.NDArray[numpy.bool]:
        ...
    @actuator_actlimited.setter
    def actuator_actlimited(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_actnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @actuator_actnum.setter
    def actuator_actnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_actrange(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @actuator_actrange.setter
    def actuator_actrange(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_armature(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @actuator_armature.setter
    def actuator_armature(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_biasprm(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @actuator_biasprm.setter
    def actuator_biasprm(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_biastype(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @actuator_biastype.setter
    def actuator_biastype(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_cranklength(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @actuator_cranklength.setter
    def actuator_cranklength(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_ctrladr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @actuator_ctrladr.setter
    def actuator_ctrladr(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_ctrllimited(self) -> numpy.typing.NDArray[numpy.bool]:
        ...
    @actuator_ctrllimited.setter
    def actuator_ctrllimited(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_ctrlnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @actuator_ctrlnum.setter
    def actuator_ctrlnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_ctrlrange(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @actuator_ctrlrange.setter
    def actuator_ctrlrange(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_ctrlspec(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @actuator_ctrlspec.setter
    def actuator_ctrlspec(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_damping(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @actuator_damping.setter
    def actuator_damping(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_dampingpoly(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @actuator_dampingpoly.setter
    def actuator_dampingpoly(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_delay(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @actuator_delay.setter
    def actuator_delay(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_dynprm(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @actuator_dynprm.setter
    def actuator_dynprm(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_dyntype(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @actuator_dyntype.setter
    def actuator_dyntype(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_forcelimited(self) -> numpy.typing.NDArray[numpy.bool]:
        ...
    @actuator_forcelimited.setter
    def actuator_forcelimited(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_forcerange(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @actuator_forcerange.setter
    def actuator_forcerange(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_gainprm(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @actuator_gainprm.setter
    def actuator_gainprm(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_gaintype(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @actuator_gaintype.setter
    def actuator_gaintype(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_gear(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @actuator_gear.setter
    def actuator_gear(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_group(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @actuator_group.setter
    def actuator_group(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_history(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @actuator_history.setter
    def actuator_history(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_historyadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @actuator_historyadr.setter
    def actuator_historyadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_length0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @actuator_length0.setter
    def actuator_length0(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_lengthrange(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @actuator_lengthrange.setter
    def actuator_lengthrange(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_outadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @actuator_outadr.setter
    def actuator_outadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_outnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @actuator_outnum.setter
    def actuator_outnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_plugin(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @actuator_plugin.setter
    def actuator_plugin(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_trnid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @actuator_trnid.setter
    def actuator_trnid(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_trntype(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @actuator_trntype.setter
    def actuator_trntype(self, arg1: typing.Any) -> None:
        ...
    @property
    def actuator_user(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @actuator_user.setter
    def actuator_user(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_bvhadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @body_bvhadr.setter
    def body_bvhadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_bvhnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @body_bvhnum.setter
    def body_bvhnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_conaffinity(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @body_conaffinity.setter
    def body_conaffinity(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_contype(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @body_contype.setter
    def body_contype(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_dofadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @body_dofadr.setter
    def body_dofadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_dofnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @body_dofnum.setter
    def body_dofnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_geomadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @body_geomadr.setter
    def body_geomadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_geomnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @body_geomnum.setter
    def body_geomnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_gravcomp(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @body_gravcomp.setter
    def body_gravcomp(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_inertia(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @body_inertia.setter
    def body_inertia(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_invweight0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @body_invweight0.setter
    def body_invweight0(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_ipos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @body_ipos.setter
    def body_ipos(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_iquat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @body_iquat.setter
    def body_iquat(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_jntadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @body_jntadr.setter
    def body_jntadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_jntnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @body_jntnum.setter
    def body_jntnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_margin(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @body_margin.setter
    def body_margin(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_mass(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @body_mass.setter
    def body_mass(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_mocapid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @body_mocapid.setter
    def body_mocapid(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_parentid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @body_parentid.setter
    def body_parentid(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_plugin(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @body_plugin.setter
    def body_plugin(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_pos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @body_pos.setter
    def body_pos(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_quat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @body_quat.setter
    def body_quat(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_rootid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @body_rootid.setter
    def body_rootid(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_sameframe(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @body_sameframe.setter
    def body_sameframe(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_simple(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @body_simple.setter
    def body_simple(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_subtreemass(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @body_subtreemass.setter
    def body_subtreemass(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_treeid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @body_treeid.setter
    def body_treeid(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_user(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @body_user.setter
    def body_user(self, arg1: typing.Any) -> None:
        ...
    @property
    def body_weldid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @body_weldid.setter
    def body_weldid(self, arg1: typing.Any) -> None:
        ...
    @property
    def bvh_aabb(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @bvh_aabb.setter
    def bvh_aabb(self, arg1: typing.Any) -> None:
        ...
    @property
    def bvh_child(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @bvh_child.setter
    def bvh_child(self, arg1: typing.Any) -> None:
        ...
    @property
    def bvh_depth(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @bvh_depth.setter
    def bvh_depth(self, arg1: typing.Any) -> None:
        ...
    @property
    def bvh_nodeid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @bvh_nodeid.setter
    def bvh_nodeid(self, arg1: typing.Any) -> None:
        ...
    @property
    def cam_bodyid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @cam_bodyid.setter
    def cam_bodyid(self, arg1: typing.Any) -> None:
        ...
    @property
    def cam_fovy(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cam_fovy.setter
    def cam_fovy(self, arg1: typing.Any) -> None:
        ...
    @property
    def cam_intrinsic(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @cam_intrinsic.setter
    def cam_intrinsic(self, arg1: typing.Any) -> None:
        ...
    @property
    def cam_ipd(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cam_ipd.setter
    def cam_ipd(self, arg1: typing.Any) -> None:
        ...
    @property
    def cam_mat0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cam_mat0.setter
    def cam_mat0(self, arg1: typing.Any) -> None:
        ...
    @property
    def cam_mode(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @cam_mode.setter
    def cam_mode(self, arg1: typing.Any) -> None:
        ...
    @property
    def cam_output(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @cam_output.setter
    def cam_output(self, arg1: typing.Any) -> None:
        ...
    @property
    def cam_pos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cam_pos.setter
    def cam_pos(self, arg1: typing.Any) -> None:
        ...
    @property
    def cam_pos0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cam_pos0.setter
    def cam_pos0(self, arg1: typing.Any) -> None:
        ...
    @property
    def cam_poscom0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cam_poscom0.setter
    def cam_poscom0(self, arg1: typing.Any) -> None:
        ...
    @property
    def cam_projection(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @cam_projection.setter
    def cam_projection(self, arg1: typing.Any) -> None:
        ...
    @property
    def cam_quat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cam_quat.setter
    def cam_quat(self, arg1: typing.Any) -> None:
        ...
    @property
    def cam_resolution(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @cam_resolution.setter
    def cam_resolution(self, arg1: typing.Any) -> None:
        ...
    @property
    def cam_sensorsize(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @cam_sensorsize.setter
    def cam_sensorsize(self, arg1: typing.Any) -> None:
        ...
    @property
    def cam_targetbodyid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @cam_targetbodyid.setter
    def cam_targetbodyid(self, arg1: typing.Any) -> None:
        ...
    @property
    def cam_user(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cam_user.setter
    def cam_user(self, arg1: typing.Any) -> None:
        ...
    @property
    def dof_M0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @dof_M0.setter
    def dof_M0(self, arg1: typing.Any) -> None:
        ...
    @property
    def dof_Madr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @dof_Madr.setter
    def dof_Madr(self, arg1: typing.Any) -> None:
        ...
    @property
    def dof_armature(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @dof_armature.setter
    def dof_armature(self, arg1: typing.Any) -> None:
        ...
    @property
    def dof_bodyid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @dof_bodyid.setter
    def dof_bodyid(self, arg1: typing.Any) -> None:
        ...
    @property
    def dof_damping(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @dof_damping.setter
    def dof_damping(self, arg1: typing.Any) -> None:
        ...
    @property
    def dof_dampingpoly(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @dof_dampingpoly.setter
    def dof_dampingpoly(self, arg1: typing.Any) -> None:
        ...
    @property
    def dof_frictionloss(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @dof_frictionloss.setter
    def dof_frictionloss(self, arg1: typing.Any) -> None:
        ...
    @property
    def dof_invweight0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @dof_invweight0.setter
    def dof_invweight0(self, arg1: typing.Any) -> None:
        ...
    @property
    def dof_jntid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @dof_jntid.setter
    def dof_jntid(self, arg1: typing.Any) -> None:
        ...
    @property
    def dof_length(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @dof_length.setter
    def dof_length(self, arg1: typing.Any) -> None:
        ...
    @property
    def dof_parentid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @dof_parentid.setter
    def dof_parentid(self, arg1: typing.Any) -> None:
        ...
    @property
    def dof_simplenum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @dof_simplenum.setter
    def dof_simplenum(self, arg1: typing.Any) -> None:
        ...
    @property
    def dof_solimp(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @dof_solimp.setter
    def dof_solimp(self, arg1: typing.Any) -> None:
        ...
    @property
    def dof_solref(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @dof_solref.setter
    def dof_solref(self, arg1: typing.Any) -> None:
        ...
    @property
    def dof_treeid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @dof_treeid.setter
    def dof_treeid(self, arg1: typing.Any) -> None:
        ...
    @property
    def efm0_L(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @efm0_L.setter
    def efm0_L(self, arg1: typing.Any) -> None:
        ...
    @property
    def efm0_L_colind(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @efm0_L_colind.setter
    def efm0_L_colind(self, arg1: typing.Any) -> None:
        ...
    @property
    def efm0_L_rowadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @efm0_L_rowadr.setter
    def efm0_L_rowadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def efm0_L_rownnz(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @efm0_L_rownnz.setter
    def efm0_L_rownnz(self, arg1: typing.Any) -> None:
        ...
    @property
    def efm0_dofid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @efm0_dofid.setter
    def efm0_dofid(self, arg1: typing.Any) -> None:
        ...
    @property
    def eq_active0(self) -> numpy.typing.NDArray[numpy.bool]:
        ...
    @eq_active0.setter
    def eq_active0(self, arg1: typing.Any) -> None:
        ...
    @property
    def eq_data(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @eq_data.setter
    def eq_data(self, arg1: typing.Any) -> None:
        ...
    @property
    def eq_obj1id(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @eq_obj1id.setter
    def eq_obj1id(self, arg1: typing.Any) -> None:
        ...
    @property
    def eq_obj2id(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @eq_obj2id.setter
    def eq_obj2id(self, arg1: typing.Any) -> None:
        ...
    @property
    def eq_objtype(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @eq_objtype.setter
    def eq_objtype(self, arg1: typing.Any) -> None:
        ...
    @property
    def eq_solimp(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @eq_solimp.setter
    def eq_solimp(self, arg1: typing.Any) -> None:
        ...
    @property
    def eq_solref(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @eq_solref.setter
    def eq_solref(self, arg1: typing.Any) -> None:
        ...
    @property
    def eq_type(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @eq_type.setter
    def eq_type(self, arg1: typing.Any) -> None:
        ...
    @property
    def exclude_signature(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @exclude_signature.setter
    def exclude_signature(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_activelayers(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_activelayers.setter
    def flex_activelayers(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_bending(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flex_bending.setter
    def flex_bending(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_bendingadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_bendingadr.setter
    def flex_bendingadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_bvhadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_bvhadr.setter
    def flex_bvhadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_bvhnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_bvhnum.setter
    def flex_bvhnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_cellnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_cellnum.setter
    def flex_cellnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_centered(self) -> numpy.typing.NDArray[numpy.bool]:
        ...
    @flex_centered.setter
    def flex_centered(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_conaffinity(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_conaffinity.setter
    def flex_conaffinity(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_condim(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_condim.setter
    def flex_condim(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_contype(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_contype.setter
    def flex_contype(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_damping(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flex_damping.setter
    def flex_damping(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_dim(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_dim.setter
    def flex_dim(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_edge(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_edge.setter
    def flex_edge(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_edgeadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_edgeadr.setter
    def flex_edgeadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_edgedamping(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flex_edgedamping.setter
    def flex_edgedamping(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_edgeequality(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_edgeequality.setter
    def flex_edgeequality(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_edgeflap(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_edgeflap.setter
    def flex_edgeflap(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_edgenum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_edgenum.setter
    def flex_edgenum(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_edgestiffness(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flex_edgestiffness.setter
    def flex_edgestiffness(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_elem(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_elem.setter
    def flex_elem(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_elemadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_elemadr.setter
    def flex_elemadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_elemdataadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_elemdataadr.setter
    def flex_elemdataadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_elemedge(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_elemedge.setter
    def flex_elemedge(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_elemedgeadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_elemedgeadr.setter
    def flex_elemedgeadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_elemlayer(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_elemlayer.setter
    def flex_elemlayer(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_elemnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_elemnum.setter
    def flex_elemnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_elemtexcoord(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_elemtexcoord.setter
    def flex_elemtexcoord(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_evpair(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_evpair.setter
    def flex_evpair(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_evpairadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_evpairadr.setter
    def flex_evpairadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_evpairnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_evpairnum.setter
    def flex_evpairnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_flatskin(self) -> numpy.typing.NDArray[numpy.bool]:
        ...
    @flex_flatskin.setter
    def flex_flatskin(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_friction(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flex_friction.setter
    def flex_friction(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_gap(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flex_gap.setter
    def flex_gap(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_group(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_group.setter
    def flex_group(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_internal(self) -> numpy.typing.NDArray[numpy.bool]:
        ...
    @flex_internal.setter
    def flex_internal(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_interp(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_interp.setter
    def flex_interp(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_margin(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flex_margin.setter
    def flex_margin(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_matid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_matid.setter
    def flex_matid(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_node(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flex_node.setter
    def flex_node(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_node0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flex_node0.setter
    def flex_node0(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_nodeadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_nodeadr.setter
    def flex_nodeadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_nodebodyid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_nodebodyid.setter
    def flex_nodebodyid(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_nodenum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_nodenum.setter
    def flex_nodenum(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_passive(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_passive.setter
    def flex_passive(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_priority(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_priority.setter
    def flex_priority(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_radius(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flex_radius.setter
    def flex_radius(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_rgba(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @flex_rgba.setter
    def flex_rgba(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_rigid(self) -> numpy.typing.NDArray[numpy.bool]:
        ...
    @flex_rigid.setter
    def flex_rigid(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_selfcollide(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_selfcollide.setter
    def flex_selfcollide(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_shell(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_shell.setter
    def flex_shell(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_shelldataadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_shelldataadr.setter
    def flex_shelldataadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_shellnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_shellnum.setter
    def flex_shellnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_size(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flex_size.setter
    def flex_size(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_solimp(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flex_solimp.setter
    def flex_solimp(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_solmix(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flex_solmix.setter
    def flex_solmix(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_solref(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flex_solref.setter
    def flex_solref(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_stiffness(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flex_stiffness.setter
    def flex_stiffness(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_stiffnessadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_stiffnessadr.setter
    def flex_stiffnessadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_texcoord(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @flex_texcoord.setter
    def flex_texcoord(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_texcoordadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_texcoordadr.setter
    def flex_texcoordadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_vert(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flex_vert.setter
    def flex_vert(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_vert0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flex_vert0.setter
    def flex_vert0(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_vertadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_vertadr.setter
    def flex_vertadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_vertbodyid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_vertbodyid.setter
    def flex_vertbodyid(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_vertedge(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_vertedge.setter
    def flex_vertedge(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_vertedgeadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_vertedgeadr.setter
    def flex_vertedgeadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_vertedgenum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_vertedgenum.setter
    def flex_vertedgenum(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_vertmetric(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flex_vertmetric.setter
    def flex_vertmetric(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_vertnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flex_vertnum.setter
    def flex_vertnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexedge_J_colind(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flexedge_J_colind.setter
    def flexedge_J_colind(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexedge_J_rowadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flexedge_J_rowadr.setter
    def flexedge_J_rowadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexedge_J_rownnz(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flexedge_J_rownnz.setter
    def flexedge_J_rownnz(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexedge_invweight0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flexedge_invweight0.setter
    def flexedge_invweight0(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexedge_length0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @flexedge_length0.setter
    def flexedge_length0(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexedge_rigid(self) -> numpy.typing.NDArray[numpy.bool]:
        ...
    @flexedge_rigid.setter
    def flexedge_rigid(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexvert_J_colind(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flexvert_J_colind.setter
    def flexvert_J_colind(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexvert_J_rowadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flexvert_J_rowadr.setter
    def flexvert_J_rowadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexvert_J_rownnz(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flexvert_J_rownnz.setter
    def flexvert_J_rownnz(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_aabb(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @geom_aabb.setter
    def geom_aabb(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_adhesion(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @geom_adhesion.setter
    def geom_adhesion(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_bodyid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @geom_bodyid.setter
    def geom_bodyid(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_conaffinity(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @geom_conaffinity.setter
    def geom_conaffinity(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_condim(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @geom_condim.setter
    def geom_condim(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_contype(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @geom_contype.setter
    def geom_contype(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_dataid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @geom_dataid.setter
    def geom_dataid(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_fluid(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @geom_fluid.setter
    def geom_fluid(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_friction(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @geom_friction.setter
    def geom_friction(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_gap(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @geom_gap.setter
    def geom_gap(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_group(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @geom_group.setter
    def geom_group(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_margin(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @geom_margin.setter
    def geom_margin(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_matid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @geom_matid.setter
    def geom_matid(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_plugin(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @geom_plugin.setter
    def geom_plugin(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_pos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @geom_pos.setter
    def geom_pos(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_priority(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @geom_priority.setter
    def geom_priority(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_quat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @geom_quat.setter
    def geom_quat(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_rbound(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @geom_rbound.setter
    def geom_rbound(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_rgba(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @geom_rgba.setter
    def geom_rgba(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_sameframe(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @geom_sameframe.setter
    def geom_sameframe(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_size(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @geom_size.setter
    def geom_size(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_solimp(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @geom_solimp.setter
    def geom_solimp(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_solmix(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @geom_solmix.setter
    def geom_solmix(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_solref(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @geom_solref.setter
    def geom_solref(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_surfacevel(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @geom_surfacevel.setter
    def geom_surfacevel(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_type(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @geom_type.setter
    def geom_type(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom_user(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @geom_user.setter
    def geom_user(self, arg1: typing.Any) -> None:
        ...
    @property
    def hfield_adr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @hfield_adr.setter
    def hfield_adr(self, arg1: typing.Any) -> None:
        ...
    @property
    def hfield_data(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @hfield_data.setter
    def hfield_data(self, arg1: typing.Any) -> None:
        ...
    @property
    def hfield_ncol(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @hfield_ncol.setter
    def hfield_ncol(self, arg1: typing.Any) -> None:
        ...
    @property
    def hfield_nrow(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @hfield_nrow.setter
    def hfield_nrow(self, arg1: typing.Any) -> None:
        ...
    @property
    def hfield_pathadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @hfield_pathadr.setter
    def hfield_pathadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def hfield_size(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @hfield_size.setter
    def hfield_size(self, arg1: typing.Any) -> None:
        ...
    @property
    def jnt_actfrclimited(self) -> numpy.typing.NDArray[numpy.bool]:
        ...
    @jnt_actfrclimited.setter
    def jnt_actfrclimited(self, arg1: typing.Any) -> None:
        ...
    @property
    def jnt_actfrcrange(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @jnt_actfrcrange.setter
    def jnt_actfrcrange(self, arg1: typing.Any) -> None:
        ...
    @property
    def jnt_actgravcomp(self) -> numpy.typing.NDArray[numpy.bool]:
        ...
    @jnt_actgravcomp.setter
    def jnt_actgravcomp(self, arg1: typing.Any) -> None:
        ...
    @property
    def jnt_actuatorid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @jnt_actuatorid.setter
    def jnt_actuatorid(self, arg1: typing.Any) -> None:
        ...
    @property
    def jnt_axis(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @jnt_axis.setter
    def jnt_axis(self, arg1: typing.Any) -> None:
        ...
    @property
    def jnt_bodyid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @jnt_bodyid.setter
    def jnt_bodyid(self, arg1: typing.Any) -> None:
        ...
    @property
    def jnt_dofadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @jnt_dofadr.setter
    def jnt_dofadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def jnt_group(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @jnt_group.setter
    def jnt_group(self, arg1: typing.Any) -> None:
        ...
    @property
    def jnt_limited(self) -> numpy.typing.NDArray[numpy.bool]:
        ...
    @jnt_limited.setter
    def jnt_limited(self, arg1: typing.Any) -> None:
        ...
    @property
    def jnt_margin(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @jnt_margin.setter
    def jnt_margin(self, arg1: typing.Any) -> None:
        ...
    @property
    def jnt_pos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @jnt_pos.setter
    def jnt_pos(self, arg1: typing.Any) -> None:
        ...
    @property
    def jnt_qposadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @jnt_qposadr.setter
    def jnt_qposadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def jnt_range(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @jnt_range.setter
    def jnt_range(self, arg1: typing.Any) -> None:
        ...
    @property
    def jnt_solimp(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @jnt_solimp.setter
    def jnt_solimp(self, arg1: typing.Any) -> None:
        ...
    @property
    def jnt_solref(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @jnt_solref.setter
    def jnt_solref(self, arg1: typing.Any) -> None:
        ...
    @property
    def jnt_stiffness(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @jnt_stiffness.setter
    def jnt_stiffness(self, arg1: typing.Any) -> None:
        ...
    @property
    def jnt_stiffnesspoly(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @jnt_stiffnesspoly.setter
    def jnt_stiffnesspoly(self, arg1: typing.Any) -> None:
        ...
    @property
    def jnt_type(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @jnt_type.setter
    def jnt_type(self, arg1: typing.Any) -> None:
        ...
    @property
    def jnt_user(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @jnt_user.setter
    def jnt_user(self, arg1: typing.Any) -> None:
        ...
    @property
    def key_act(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @key_act.setter
    def key_act(self, arg1: typing.Any) -> None:
        ...
    @property
    def key_ctrl(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @key_ctrl.setter
    def key_ctrl(self, arg1: typing.Any) -> None:
        ...
    @property
    def key_mpos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @key_mpos.setter
    def key_mpos(self, arg1: typing.Any) -> None:
        ...
    @property
    def key_mquat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @key_mquat.setter
    def key_mquat(self, arg1: typing.Any) -> None:
        ...
    @property
    def key_qpos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @key_qpos.setter
    def key_qpos(self, arg1: typing.Any) -> None:
        ...
    @property
    def key_qvel(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @key_qvel.setter
    def key_qvel(self, arg1: typing.Any) -> None:
        ...
    @property
    def key_time(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @key_time.setter
    def key_time(self, arg1: typing.Any) -> None:
        ...
    @property
    def light_active(self) -> numpy.typing.NDArray[numpy.bool]:
        ...
    @light_active.setter
    def light_active(self, arg1: typing.Any) -> None:
        ...
    @property
    def light_ambient(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @light_ambient.setter
    def light_ambient(self, arg1: typing.Any) -> None:
        ...
    @property
    def light_attenuation(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @light_attenuation.setter
    def light_attenuation(self, arg1: typing.Any) -> None:
        ...
    @property
    def light_bodyid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @light_bodyid.setter
    def light_bodyid(self, arg1: typing.Any) -> None:
        ...
    @property
    def light_bulbradius(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @light_bulbradius.setter
    def light_bulbradius(self, arg1: typing.Any) -> None:
        ...
    @property
    def light_castshadow(self) -> numpy.typing.NDArray[numpy.bool]:
        ...
    @light_castshadow.setter
    def light_castshadow(self, arg1: typing.Any) -> None:
        ...
    @property
    def light_cutoff(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @light_cutoff.setter
    def light_cutoff(self, arg1: typing.Any) -> None:
        ...
    @property
    def light_diffuse(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @light_diffuse.setter
    def light_diffuse(self, arg1: typing.Any) -> None:
        ...
    @property
    def light_dir(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @light_dir.setter
    def light_dir(self, arg1: typing.Any) -> None:
        ...
    @property
    def light_dir0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @light_dir0.setter
    def light_dir0(self, arg1: typing.Any) -> None:
        ...
    @property
    def light_exponent(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @light_exponent.setter
    def light_exponent(self, arg1: typing.Any) -> None:
        ...
    @property
    def light_intensity(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @light_intensity.setter
    def light_intensity(self, arg1: typing.Any) -> None:
        ...
    @property
    def light_mode(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @light_mode.setter
    def light_mode(self, arg1: typing.Any) -> None:
        ...
    @property
    def light_pos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @light_pos.setter
    def light_pos(self, arg1: typing.Any) -> None:
        ...
    @property
    def light_pos0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @light_pos0.setter
    def light_pos0(self, arg1: typing.Any) -> None:
        ...
    @property
    def light_poscom0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @light_poscom0.setter
    def light_poscom0(self, arg1: typing.Any) -> None:
        ...
    @property
    def light_range(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @light_range.setter
    def light_range(self, arg1: typing.Any) -> None:
        ...
    @property
    def light_specular(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @light_specular.setter
    def light_specular(self, arg1: typing.Any) -> None:
        ...
    @property
    def light_targetbodyid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @light_targetbodyid.setter
    def light_targetbodyid(self, arg1: typing.Any) -> None:
        ...
    @property
    def light_texid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @light_texid.setter
    def light_texid(self, arg1: typing.Any) -> None:
        ...
    @property
    def light_type(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @light_type.setter
    def light_type(self, arg1: typing.Any) -> None:
        ...
    @property
    def mapD2M(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mapD2M.setter
    def mapD2M(self, arg1: typing.Any) -> None:
        ...
    @property
    def mapM2D(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mapM2D.setter
    def mapM2D(self, arg1: typing.Any) -> None:
        ...
    @property
    def mapM2M(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mapM2M.setter
    def mapM2M(self, arg1: typing.Any) -> None:
        ...
    @property
    def mat_emission(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @mat_emission.setter
    def mat_emission(self, arg1: typing.Any) -> None:
        ...
    @property
    def mat_metallic(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @mat_metallic.setter
    def mat_metallic(self, arg1: typing.Any) -> None:
        ...
    @property
    def mat_reflectance(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @mat_reflectance.setter
    def mat_reflectance(self, arg1: typing.Any) -> None:
        ...
    @property
    def mat_rgba(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @mat_rgba.setter
    def mat_rgba(self, arg1: typing.Any) -> None:
        ...
    @property
    def mat_roughness(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @mat_roughness.setter
    def mat_roughness(self, arg1: typing.Any) -> None:
        ...
    @property
    def mat_shininess(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @mat_shininess.setter
    def mat_shininess(self, arg1: typing.Any) -> None:
        ...
    @property
    def mat_specular(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @mat_specular.setter
    def mat_specular(self, arg1: typing.Any) -> None:
        ...
    @property
    def mat_texid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mat_texid.setter
    def mat_texid(self, arg1: typing.Any) -> None:
        ...
    @property
    def mat_texrepeat(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @mat_texrepeat.setter
    def mat_texrepeat(self, arg1: typing.Any) -> None:
        ...
    @property
    def mat_texuniform(self) -> numpy.typing.NDArray[numpy.bool]:
        ...
    @mat_texuniform.setter
    def mat_texuniform(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_bvhadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_bvhadr.setter
    def mesh_bvhadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_bvhnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_bvhnum.setter
    def mesh_bvhnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_face(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_face.setter
    def mesh_face(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_faceadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_faceadr.setter
    def mesh_faceadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_facenormal(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_facenormal.setter
    def mesh_facenormal(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_facenum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_facenum.setter
    def mesh_facenum(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_facetexcoord(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_facetexcoord.setter
    def mesh_facetexcoord(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_graph(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_graph.setter
    def mesh_graph(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_graphadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_graphadr.setter
    def mesh_graphadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_normal(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @mesh_normal.setter
    def mesh_normal(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_normaladr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_normaladr.setter
    def mesh_normaladr(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_normalnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_normalnum.setter
    def mesh_normalnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_octadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_octadr.setter
    def mesh_octadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_octnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_octnum.setter
    def mesh_octnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_pathadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_pathadr.setter
    def mesh_pathadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_polyadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_polyadr.setter
    def mesh_polyadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_polymap(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_polymap.setter
    def mesh_polymap(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_polymapadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_polymapadr.setter
    def mesh_polymapadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_polymapnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_polymapnum.setter
    def mesh_polymapnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_polynormal(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @mesh_polynormal.setter
    def mesh_polynormal(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_polynum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_polynum.setter
    def mesh_polynum(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_polyvert(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_polyvert.setter
    def mesh_polyvert(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_polyvertadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_polyvertadr.setter
    def mesh_polyvertadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_polyvertnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_polyvertnum.setter
    def mesh_polyvertnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_pos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @mesh_pos.setter
    def mesh_pos(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_quat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @mesh_quat.setter
    def mesh_quat(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_scale(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @mesh_scale.setter
    def mesh_scale(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_texcoord(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @mesh_texcoord.setter
    def mesh_texcoord(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_texcoordadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_texcoordadr.setter
    def mesh_texcoordadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_texcoordnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_texcoordnum.setter
    def mesh_texcoordnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_vert(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @mesh_vert.setter
    def mesh_vert(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_vertadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_vertadr.setter
    def mesh_vertadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def mesh_vertnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mesh_vertnum.setter
    def mesh_vertnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def nB(self) -> int:
        ...
    @property
    def nC(self) -> int:
        ...
    @property
    def nD(self) -> int:
        ...
    @property
    def nJfe(self) -> int:
        ...
    @property
    def nJfv(self) -> int:
        ...
    @property
    def nJmom(self) -> int:
        ...
    @property
    def nJten(self) -> int:
        ...
    @property
    def nM(self) -> int:
        ...
    @property
    def na(self) -> int:
        ...
    @property
    def nactuator(self) -> int:
        ...
    @property
    def name_actuatoradr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @name_actuatoradr.setter
    def name_actuatoradr(self, arg1: typing.Any) -> None:
        ...
    @property
    def name_bodyadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @name_bodyadr.setter
    def name_bodyadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def name_camadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @name_camadr.setter
    def name_camadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def name_eqadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @name_eqadr.setter
    def name_eqadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def name_excludeadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @name_excludeadr.setter
    def name_excludeadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def name_flexadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @name_flexadr.setter
    def name_flexadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def name_geomadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @name_geomadr.setter
    def name_geomadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def name_hfieldadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @name_hfieldadr.setter
    def name_hfieldadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def name_jntadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @name_jntadr.setter
    def name_jntadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def name_keyadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @name_keyadr.setter
    def name_keyadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def name_lightadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @name_lightadr.setter
    def name_lightadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def name_matadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @name_matadr.setter
    def name_matadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def name_meshadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @name_meshadr.setter
    def name_meshadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def name_numericadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @name_numericadr.setter
    def name_numericadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def name_pairadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @name_pairadr.setter
    def name_pairadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def name_pluginadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @name_pluginadr.setter
    def name_pluginadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def name_sensoradr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @name_sensoradr.setter
    def name_sensoradr(self, arg1: typing.Any) -> None:
        ...
    @property
    def name_siteadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @name_siteadr.setter
    def name_siteadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def name_skinadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @name_skinadr.setter
    def name_skinadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def name_tendonadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @name_tendonadr.setter
    def name_tendonadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def name_texadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @name_texadr.setter
    def name_texadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def name_textadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @name_textadr.setter
    def name_textadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def name_tupleadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @name_tupleadr.setter
    def name_tupleadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def names(self) -> bytes:
        ...
    @property
    def names_map(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @names_map.setter
    def names_map(self, arg1: typing.Any) -> None:
        ...
    @property
    def narena(self) -> int:
        ...
    @property
    def nbody(self) -> int:
        ...
    @property
    def nbuffer(self) -> int:
        ...
    @property
    def nbvh(self) -> int:
        ...
    @property
    def nbvhdynamic(self) -> int:
        ...
    @property
    def nbvhstatic(self) -> int:
        ...
    @property
    def ncam(self) -> int:
        ...
    @property
    def nconmax(self) -> int:
        ...
    @property
    def nefm0L(self) -> int:
        ...
    @property
    def nefm0dof(self) -> int:
        ...
    @property
    def nemax(self) -> int:
        ...
    @property
    def neq(self) -> int:
        ...
    @property
    def nexclude(self) -> int:
        ...
    @property
    def nflex(self) -> int:
        ...
    @property
    def nflexbending(self) -> int:
        ...
    @property
    def nflexedge(self) -> int:
        ...
    @property
    def nflexelem(self) -> int:
        ...
    @property
    def nflexelemdata(self) -> int:
        ...
    @property
    def nflexelemedge(self) -> int:
        ...
    @property
    def nflexevpair(self) -> int:
        ...
    @property
    def nflexnode(self) -> int:
        ...
    @property
    def nflexshelldata(self) -> int:
        ...
    @property
    def nflexstiffness(self) -> int:
        ...
    @property
    def nflextexcoord(self) -> int:
        ...
    @property
    def nflexvert(self) -> int:
        ...
    @property
    def ngeom(self) -> int:
        ...
    @property
    def ngravcomp(self) -> int:
        ...
    @property
    def nhfield(self) -> int:
        ...
    @property
    def nhfielddata(self) -> int:
        ...
    @property
    def nhistory(self) -> int:
        ...
    @property
    def njmax(self) -> int:
        ...
    @property
    def njnt(self) -> int:
        ...
    @property
    def nkey(self) -> int:
        ...
    @property
    def nlight(self) -> int:
        ...
    @property
    def nmat(self) -> int:
        ...
    @property
    def nmesh(self) -> int:
        ...
    @property
    def nmeshdegmax(self) -> int:
        ...
    @property
    def nmeshface(self) -> int:
        ...
    @property
    def nmeshgraph(self) -> int:
        ...
    @property
    def nmeshnormal(self) -> int:
        ...
    @property
    def nmeshpoly(self) -> int:
        ...
    @property
    def nmeshpolymap(self) -> int:
        ...
    @property
    def nmeshpolyvert(self) -> int:
        ...
    @property
    def nmeshtexcoord(self) -> int:
        ...
    @property
    def nmeshvert(self) -> int:
        ...
    @property
    def nmocap(self) -> int:
        ...
    @property
    def nnames(self) -> int:
        ...
    @property
    def nnames_map(self) -> int:
        ...
    @property
    def nnumeric(self) -> int:
        ...
    @property
    def nnumericdata(self) -> int:
        ...
    @property
    def noct(self) -> int:
        ...
    @property
    def nout(self) -> int:
        ...
    @property
    def npair(self) -> int:
        ...
    @property
    def npaths(self) -> int:
        ...
    @property
    def nplugin(self) -> int:
        ...
    @property
    def npluginattr(self) -> int:
        ...
    @property
    def npluginstate(self) -> int:
        ...
    @property
    def npolygonmax(self) -> int:
        ...
    @property
    def nq(self) -> int:
        ...
    @property
    def nsensor(self) -> int:
        ...
    @property
    def nsensordata(self) -> int:
        ...
    @property
    def nsite(self) -> int:
        ...
    @property
    def nskin(self) -> int:
        ...
    @property
    def nskinbone(self) -> int:
        ...
    @property
    def nskinbonevert(self) -> int:
        ...
    @property
    def nskinface(self) -> int:
        ...
    @property
    def nskintexvert(self) -> int:
        ...
    @property
    def nskinvert(self) -> int:
        ...
    @property
    def ntendon(self) -> int:
        ...
    @property
    def ntex(self) -> int:
        ...
    @property
    def ntexdata(self) -> int:
        ...
    @property
    def ntext(self) -> int:
        ...
    @property
    def ntextdata(self) -> int:
        ...
    @property
    def ntree(self) -> int:
        ...
    @property
    def ntuple(self) -> int:
        ...
    @property
    def ntupledata(self) -> int:
        ...
    @property
    def nu(self) -> int:
        ...
    @property
    def numeric_adr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @numeric_adr.setter
    def numeric_adr(self, arg1: typing.Any) -> None:
        ...
    @property
    def numeric_data(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @numeric_data.setter
    def numeric_data(self, arg1: typing.Any) -> None:
        ...
    @property
    def numeric_size(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @numeric_size.setter
    def numeric_size(self, arg1: typing.Any) -> None:
        ...
    @property
    def nuser_actuator(self) -> int:
        ...
    @property
    def nuser_body(self) -> int:
        ...
    @property
    def nuser_cam(self) -> int:
        ...
    @property
    def nuser_geom(self) -> int:
        ...
    @property
    def nuser_jnt(self) -> int:
        ...
    @property
    def nuser_sensor(self) -> int:
        ...
    @property
    def nuser_site(self) -> int:
        ...
    @property
    def nuser_tendon(self) -> int:
        ...
    @property
    def nuserdata(self) -> int:
        ...
    @property
    def nv(self) -> int:
        ...
    @property
    def nwrap(self) -> int:
        ...
    @property
    def oct_aabb(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @oct_aabb.setter
    def oct_aabb(self, arg1: typing.Any) -> None:
        ...
    @property
    def oct_child(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @oct_child.setter
    def oct_child(self, arg1: typing.Any) -> None:
        ...
    @property
    def oct_coeff(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @oct_coeff.setter
    def oct_coeff(self, arg1: typing.Any) -> None:
        ...
    @property
    def oct_depth(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @oct_depth.setter
    def oct_depth(self, arg1: typing.Any) -> None:
        ...
    @property
    def opt(self) -> MjOption:
        ...
    @property
    def pair_adhesion(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @pair_adhesion.setter
    def pair_adhesion(self, arg1: typing.Any) -> None:
        ...
    @property
    def pair_dim(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @pair_dim.setter
    def pair_dim(self, arg1: typing.Any) -> None:
        ...
    @property
    def pair_friction(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @pair_friction.setter
    def pair_friction(self, arg1: typing.Any) -> None:
        ...
    @property
    def pair_gap(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @pair_gap.setter
    def pair_gap(self, arg1: typing.Any) -> None:
        ...
    @property
    def pair_geom1(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @pair_geom1.setter
    def pair_geom1(self, arg1: typing.Any) -> None:
        ...
    @property
    def pair_geom2(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @pair_geom2.setter
    def pair_geom2(self, arg1: typing.Any) -> None:
        ...
    @property
    def pair_margin(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @pair_margin.setter
    def pair_margin(self, arg1: typing.Any) -> None:
        ...
    @property
    def pair_signature(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @pair_signature.setter
    def pair_signature(self, arg1: typing.Any) -> None:
        ...
    @property
    def pair_solimp(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @pair_solimp.setter
    def pair_solimp(self, arg1: typing.Any) -> None:
        ...
    @property
    def pair_solref(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @pair_solref.setter
    def pair_solref(self, arg1: typing.Any) -> None:
        ...
    @property
    def pair_solreffriction(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @pair_solreffriction.setter
    def pair_solreffriction(self, arg1: typing.Any) -> None:
        ...
    @property
    def paths(self) -> bytes:
        ...
    @property
    def plugin(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @plugin.setter
    def plugin(self, arg1: typing.Any) -> None:
        ...
    @property
    def plugin_attr(self) -> numpy.typing.NDArray[numpy.int8]:
        ...
    @plugin_attr.setter
    def plugin_attr(self, arg1: typing.Any) -> None:
        ...
    @property
    def plugin_attradr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @plugin_attradr.setter
    def plugin_attradr(self, arg1: typing.Any) -> None:
        ...
    @property
    def plugin_stateadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @plugin_stateadr.setter
    def plugin_stateadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def plugin_statenum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @plugin_statenum.setter
    def plugin_statenum(self, arg1: typing.Any) -> None:
        ...
    @property
    def qpos0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qpos0.setter
    def qpos0(self, arg1: typing.Any) -> None:
        ...
    @property
    def qpos_spring(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qpos_spring.setter
    def qpos_spring(self, arg1: typing.Any) -> None:
        ...
    @property
    def sensor_adr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @sensor_adr.setter
    def sensor_adr(self, arg1: typing.Any) -> None:
        ...
    @property
    def sensor_cutoff(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @sensor_cutoff.setter
    def sensor_cutoff(self, arg1: typing.Any) -> None:
        ...
    @property
    def sensor_datatype(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @sensor_datatype.setter
    def sensor_datatype(self, arg1: typing.Any) -> None:
        ...
    @property
    def sensor_delay(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @sensor_delay.setter
    def sensor_delay(self, arg1: typing.Any) -> None:
        ...
    @property
    def sensor_dim(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @sensor_dim.setter
    def sensor_dim(self, arg1: typing.Any) -> None:
        ...
    @property
    def sensor_history(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @sensor_history.setter
    def sensor_history(self, arg1: typing.Any) -> None:
        ...
    @property
    def sensor_historyadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @sensor_historyadr.setter
    def sensor_historyadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def sensor_interval(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @sensor_interval.setter
    def sensor_interval(self, arg1: typing.Any) -> None:
        ...
    @property
    def sensor_intprm(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @sensor_intprm.setter
    def sensor_intprm(self, arg1: typing.Any) -> None:
        ...
    @property
    def sensor_needstage(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @sensor_needstage.setter
    def sensor_needstage(self, arg1: typing.Any) -> None:
        ...
    @property
    def sensor_noise(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @sensor_noise.setter
    def sensor_noise(self, arg1: typing.Any) -> None:
        ...
    @property
    def sensor_objid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @sensor_objid.setter
    def sensor_objid(self, arg1: typing.Any) -> None:
        ...
    @property
    def sensor_objtype(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @sensor_objtype.setter
    def sensor_objtype(self, arg1: typing.Any) -> None:
        ...
    @property
    def sensor_plugin(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @sensor_plugin.setter
    def sensor_plugin(self, arg1: typing.Any) -> None:
        ...
    @property
    def sensor_refid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @sensor_refid.setter
    def sensor_refid(self, arg1: typing.Any) -> None:
        ...
    @property
    def sensor_reftype(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @sensor_reftype.setter
    def sensor_reftype(self, arg1: typing.Any) -> None:
        ...
    @property
    def sensor_type(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @sensor_type.setter
    def sensor_type(self, arg1: typing.Any) -> None:
        ...
    @property
    def sensor_user(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @sensor_user.setter
    def sensor_user(self, arg1: typing.Any) -> None:
        ...
    @property
    def signature(self) -> int:
        ...
    @property
    def site_bodyid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @site_bodyid.setter
    def site_bodyid(self, arg1: typing.Any) -> None:
        ...
    @property
    def site_group(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @site_group.setter
    def site_group(self, arg1: typing.Any) -> None:
        ...
    @property
    def site_matid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @site_matid.setter
    def site_matid(self, arg1: typing.Any) -> None:
        ...
    @property
    def site_pos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @site_pos.setter
    def site_pos(self, arg1: typing.Any) -> None:
        ...
    @property
    def site_quat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @site_quat.setter
    def site_quat(self, arg1: typing.Any) -> None:
        ...
    @property
    def site_rgba(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @site_rgba.setter
    def site_rgba(self, arg1: typing.Any) -> None:
        ...
    @property
    def site_sameframe(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @site_sameframe.setter
    def site_sameframe(self, arg1: typing.Any) -> None:
        ...
    @property
    def site_size(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @site_size.setter
    def site_size(self, arg1: typing.Any) -> None:
        ...
    @property
    def site_type(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @site_type.setter
    def site_type(self, arg1: typing.Any) -> None:
        ...
    @property
    def site_user(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @site_user.setter
    def site_user(self, arg1: typing.Any) -> None:
        ...
    @property
    def skin_boneadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @skin_boneadr.setter
    def skin_boneadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def skin_bonebindpos(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @skin_bonebindpos.setter
    def skin_bonebindpos(self, arg1: typing.Any) -> None:
        ...
    @property
    def skin_bonebindquat(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @skin_bonebindquat.setter
    def skin_bonebindquat(self, arg1: typing.Any) -> None:
        ...
    @property
    def skin_bonebodyid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @skin_bonebodyid.setter
    def skin_bonebodyid(self, arg1: typing.Any) -> None:
        ...
    @property
    def skin_bonenum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @skin_bonenum.setter
    def skin_bonenum(self, arg1: typing.Any) -> None:
        ...
    @property
    def skin_bonevertadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @skin_bonevertadr.setter
    def skin_bonevertadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def skin_bonevertid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @skin_bonevertid.setter
    def skin_bonevertid(self, arg1: typing.Any) -> None:
        ...
    @property
    def skin_bonevertnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @skin_bonevertnum.setter
    def skin_bonevertnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def skin_bonevertweight(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @skin_bonevertweight.setter
    def skin_bonevertweight(self, arg1: typing.Any) -> None:
        ...
    @property
    def skin_face(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @skin_face.setter
    def skin_face(self, arg1: typing.Any) -> None:
        ...
    @property
    def skin_faceadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @skin_faceadr.setter
    def skin_faceadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def skin_facenum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @skin_facenum.setter
    def skin_facenum(self, arg1: typing.Any) -> None:
        ...
    @property
    def skin_group(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @skin_group.setter
    def skin_group(self, arg1: typing.Any) -> None:
        ...
    @property
    def skin_inflate(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @skin_inflate.setter
    def skin_inflate(self, arg1: typing.Any) -> None:
        ...
    @property
    def skin_matid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @skin_matid.setter
    def skin_matid(self, arg1: typing.Any) -> None:
        ...
    @property
    def skin_pathadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @skin_pathadr.setter
    def skin_pathadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def skin_rgba(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @skin_rgba.setter
    def skin_rgba(self, arg1: typing.Any) -> None:
        ...
    @property
    def skin_texcoord(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @skin_texcoord.setter
    def skin_texcoord(self, arg1: typing.Any) -> None:
        ...
    @property
    def skin_texcoordadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @skin_texcoordadr.setter
    def skin_texcoordadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def skin_vert(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @skin_vert.setter
    def skin_vert(self, arg1: typing.Any) -> None:
        ...
    @property
    def skin_vertadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @skin_vertadr.setter
    def skin_vertadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def skin_vertnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @skin_vertnum.setter
    def skin_vertnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def stat(self) -> ...:
        ...
    @property
    def ten_J_colind(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @ten_J_colind.setter
    def ten_J_colind(self, arg1: typing.Any) -> None:
        ...
    @property
    def ten_J_rowadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @ten_J_rowadr.setter
    def ten_J_rowadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def ten_J_rownnz(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @ten_J_rownnz.setter
    def ten_J_rownnz(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_actfrclimited(self) -> numpy.typing.NDArray[numpy.bool]:
        ...
    @tendon_actfrclimited.setter
    def tendon_actfrclimited(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_actfrcrange(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @tendon_actfrcrange.setter
    def tendon_actfrcrange(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_actuatorid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @tendon_actuatorid.setter
    def tendon_actuatorid(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_adr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @tendon_adr.setter
    def tendon_adr(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_armature(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @tendon_armature.setter
    def tendon_armature(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_damping(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @tendon_damping.setter
    def tendon_damping(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_dampingpoly(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @tendon_dampingpoly.setter
    def tendon_dampingpoly(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_frictionloss(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @tendon_frictionloss.setter
    def tendon_frictionloss(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_group(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @tendon_group.setter
    def tendon_group(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_invweight0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @tendon_invweight0.setter
    def tendon_invweight0(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_length0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @tendon_length0.setter
    def tendon_length0(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_lengthspring(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @tendon_lengthspring.setter
    def tendon_lengthspring(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_limited(self) -> numpy.typing.NDArray[numpy.bool]:
        ...
    @tendon_limited.setter
    def tendon_limited(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_margin(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @tendon_margin.setter
    def tendon_margin(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_matid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @tendon_matid.setter
    def tendon_matid(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_num(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @tendon_num.setter
    def tendon_num(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_range(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @tendon_range.setter
    def tendon_range(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_rgba(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @tendon_rgba.setter
    def tendon_rgba(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_solimp_fri(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @tendon_solimp_fri.setter
    def tendon_solimp_fri(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_solimp_lim(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @tendon_solimp_lim.setter
    def tendon_solimp_lim(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_solref_fri(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @tendon_solref_fri.setter
    def tendon_solref_fri(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_solref_lim(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @tendon_solref_lim.setter
    def tendon_solref_lim(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_stiffness(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @tendon_stiffness.setter
    def tendon_stiffness(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_stiffnesspoly(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @tendon_stiffnesspoly.setter
    def tendon_stiffnesspoly(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_treeid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @tendon_treeid.setter
    def tendon_treeid(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_treenum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @tendon_treenum.setter
    def tendon_treenum(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_user(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @tendon_user.setter
    def tendon_user(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendon_width(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @tendon_width.setter
    def tendon_width(self, arg1: typing.Any) -> None:
        ...
    @property
    def tex_adr(self) -> numpy.typing.NDArray[numpy.int64]:
        ...
    @tex_adr.setter
    def tex_adr(self, arg1: typing.Any) -> None:
        ...
    @property
    def tex_colorspace(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @tex_colorspace.setter
    def tex_colorspace(self, arg1: typing.Any) -> None:
        ...
    @property
    def tex_data(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @tex_data.setter
    def tex_data(self, arg1: typing.Any) -> None:
        ...
    @property
    def tex_height(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @tex_height.setter
    def tex_height(self, arg1: typing.Any) -> None:
        ...
    @property
    def tex_nchannel(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @tex_nchannel.setter
    def tex_nchannel(self, arg1: typing.Any) -> None:
        ...
    @property
    def tex_pathadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @tex_pathadr.setter
    def tex_pathadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def tex_type(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @tex_type.setter
    def tex_type(self, arg1: typing.Any) -> None:
        ...
    @property
    def tex_width(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @tex_width.setter
    def tex_width(self, arg1: typing.Any) -> None:
        ...
    @property
    def text_adr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @text_adr.setter
    def text_adr(self, arg1: typing.Any) -> None:
        ...
    @property
    def text_data(self) -> bytes:
        ...
    @property
    def text_size(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @text_size.setter
    def text_size(self, arg1: typing.Any) -> None:
        ...
    @property
    def tree_bodyadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @tree_bodyadr.setter
    def tree_bodyadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def tree_bodynum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @tree_bodynum.setter
    def tree_bodynum(self, arg1: typing.Any) -> None:
        ...
    @property
    def tree_dofadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @tree_dofadr.setter
    def tree_dofadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def tree_dofnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @tree_dofnum.setter
    def tree_dofnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def tree_sleep_policy(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @tree_sleep_policy.setter
    def tree_sleep_policy(self, arg1: typing.Any) -> None:
        ...
    @property
    def tuple_adr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @tuple_adr.setter
    def tuple_adr(self, arg1: typing.Any) -> None:
        ...
    @property
    def tuple_objid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @tuple_objid.setter
    def tuple_objid(self, arg1: typing.Any) -> None:
        ...
    @property
    def tuple_objprm(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @tuple_objprm.setter
    def tuple_objprm(self, arg1: typing.Any) -> None:
        ...
    @property
    def tuple_objtype(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @tuple_objtype.setter
    def tuple_objtype(self, arg1: typing.Any) -> None:
        ...
    @property
    def tuple_size(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @tuple_size.setter
    def tuple_size(self, arg1: typing.Any) -> None:
        ...
    @property
    def vis(self) -> MjVisual:
        ...
    @property
    def wrap_objid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @wrap_objid.setter
    def wrap_objid(self, arg1: typing.Any) -> None:
        ...
    @property
    def wrap_prm(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @wrap_prm.setter
    def wrap_prm(self, arg1: typing.Any) -> None:
        ...
    @property
    def wrap_type(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @wrap_type.setter
    def wrap_type(self, arg1: typing.Any) -> None:
        ...
class MjOption:
    __hash__: typing.ClassVar[None] = None
    _all_fields: typing.ClassVar[tuple] = ('timestep', 'impratio', 'tolerance', 'ls_tolerance', 'noslip_tolerance', 'ccd_tolerance', 'sleep_tolerance', 'gravity', 'wind', 'magnetic', 'density', 'viscosity', 'o_margin', 'o_solref', 'o_solimp', 'o_friction', 'integrator', 'cone', 'jacobian', 'solver', 'iterations', 'ls_iterations', 'noslip_iterations', 'ccd_iterations', 'disableflags', 'enableflags', 'disableactuator', 'sdf_initpoints', 'sdf_iterations')
    _float_fields: typing.ClassVar[tuple] = ('timestep', 'impratio', 'tolerance', 'ls_tolerance', 'noslip_tolerance', 'ccd_tolerance', 'sleep_tolerance', 'density', 'viscosity', 'o_margin')
    _floatarray_fields: typing.ClassVar[tuple] = ('gravity', 'wind', 'magnetic', 'o_solref', 'o_solimp', 'o_friction')
    _int_fields: typing.ClassVar[tuple] = ('integrator', 'cone', 'jacobian', 'solver', 'iterations', 'ls_iterations', 'noslip_iterations', 'ccd_iterations', 'disableflags', 'enableflags', 'disableactuator', 'sdf_initpoints', 'sdf_iterations')
    def __copy__(self) -> MjOption:
        ...
    def __deepcopy__(self, arg0: dict) -> MjOption:
        ...
    def __eq__(self, arg0: typing.Any) -> bool:
        ...
    def __init__(self) -> None:
        ...
    def __repr__(self) -> str:
        ...
    @property
    def ccd_iterations(self) -> int:
        ...
    @ccd_iterations.setter
    def ccd_iterations(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def ccd_tolerance(self) -> float:
        ...
    @ccd_tolerance.setter
    def ccd_tolerance(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def cone(self) -> int:
        ...
    @cone.setter
    def cone(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def density(self) -> float:
        ...
    @density.setter
    def density(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def disableactuator(self) -> int:
        ...
    @disableactuator.setter
    def disableactuator(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def disableflags(self) -> int:
        ...
    @disableflags.setter
    def disableflags(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def enableflags(self) -> int:
        ...
    @enableflags.setter
    def enableflags(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def gravity(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @gravity.setter
    def gravity(self, arg1: typing.Any) -> None:
        ...
    @property
    def impratio(self) -> float:
        ...
    @impratio.setter
    def impratio(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def integrator(self) -> int:
        ...
    @integrator.setter
    def integrator(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def iterations(self) -> int:
        ...
    @iterations.setter
    def iterations(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def jacobian(self) -> int:
        ...
    @jacobian.setter
    def jacobian(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def ls_iterations(self) -> int:
        ...
    @ls_iterations.setter
    def ls_iterations(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def ls_tolerance(self) -> float:
        ...
    @ls_tolerance.setter
    def ls_tolerance(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def magnetic(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @magnetic.setter
    def magnetic(self, arg1: typing.Any) -> None:
        ...
    @property
    def noslip_iterations(self) -> int:
        ...
    @noslip_iterations.setter
    def noslip_iterations(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def noslip_tolerance(self) -> float:
        ...
    @noslip_tolerance.setter
    def noslip_tolerance(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def o_friction(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @o_friction.setter
    def o_friction(self, arg1: typing.Any) -> None:
        ...
    @property
    def o_margin(self) -> float:
        ...
    @o_margin.setter
    def o_margin(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def o_solimp(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @o_solimp.setter
    def o_solimp(self, arg1: typing.Any) -> None:
        ...
    @property
    def o_solref(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @o_solref.setter
    def o_solref(self, arg1: typing.Any) -> None:
        ...
    @property
    def sdf_initpoints(self) -> int:
        ...
    @sdf_initpoints.setter
    def sdf_initpoints(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def sdf_iterations(self) -> int:
        ...
    @sdf_iterations.setter
    def sdf_iterations(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def sleep_tolerance(self) -> float:
        ...
    @sleep_tolerance.setter
    def sleep_tolerance(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def solver(self) -> int:
        ...
    @solver.setter
    def solver(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def timestep(self) -> float:
        ...
    @timestep.setter
    def timestep(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def tolerance(self) -> float:
        ...
    @tolerance.setter
    def tolerance(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def viscosity(self) -> float:
        ...
    @viscosity.setter
    def viscosity(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def wind(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @wind.setter
    def wind(self, arg1: typing.Any) -> None:
        ...
class MjPreContact:
    __hash__: typing.ClassVar[None] = None
    def __copy__(self) -> MjPreContact:
        ...
    def __deepcopy__(self, arg0: dict) -> MjPreContact:
        ...
    def __eq__(self, arg0: typing.Any) -> bool:
        ...
    def __init__(self) -> None:
        ...
    def __repr__(self) -> str:
        ...
    @property
    def dist(self) -> float:
        ...
    @dist.setter
    def dist(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def normal(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @normal.setter
    def normal(self, arg1: typing.Any) -> None:
        ...
    @property
    def pos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @pos.setter
    def pos(self, arg1: typing.Any) -> None:
        ...
    @property
    def tangent(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @tangent.setter
    def tangent(self, arg1: typing.Any) -> None:
        ...
class MjSolverStat:
    __hash__: typing.ClassVar[None] = None
    def __copy__(self) -> MjSolverStat:
        ...
    def __deepcopy__(self, arg0: dict) -> MjSolverStat:
        ...
    def __eq__(self, arg0: typing.Any) -> bool:
        ...
    def __init__(self) -> None:
        ...
    def __repr__(self) -> str:
        ...
    @property
    def gradient(self) -> float:
        ...
    @gradient.setter
    def gradient(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def improvement(self) -> float:
        ...
    @improvement.setter
    def improvement(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def lineslope(self) -> float:
        ...
    @lineslope.setter
    def lineslope(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def nactive(self) -> int:
        ...
    @nactive.setter
    def nactive(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def nchange(self) -> int:
        ...
    @nchange.setter
    def nchange(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def neval(self) -> int:
        ...
    @neval.setter
    def neval(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def nupdate(self) -> int:
        ...
    @nupdate.setter
    def nupdate(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
class MjStatistic:
    __hash__: typing.ClassVar[None] = None
    def __copy__(self) -> MjStatistic:
        ...
    def __deepcopy__(self, arg0: dict) -> MjStatistic:
        ...
    def __eq__(self, arg0: typing.Any) -> bool:
        ...
    def __init__(self) -> None:
        ...
    def __repr__(self) -> str:
        ...
    @property
    def center(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @center.setter
    def center(self, arg1: typing.Any) -> None:
        ...
    @property
    def extent(self) -> float:
        ...
    @extent.setter
    def extent(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def meaninertia(self) -> float:
        ...
    @meaninertia.setter
    def meaninertia(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def meanmass(self) -> float:
        ...
    @meanmass.setter
    def meanmass(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def meansize(self) -> float:
        ...
    @meansize.setter
    def meansize(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
class MjTimerStat:
    __hash__: typing.ClassVar[None] = None
    def __copy__(self) -> MjTimerStat:
        ...
    def __deepcopy__(self, arg0: dict) -> MjTimerStat:
        ...
    def __eq__(self, arg0: typing.Any) -> bool:
        ...
    def __init__(self) -> None:
        ...
    def __repr__(self) -> str:
        ...
    @property
    def duration(self) -> float:
        ...
    @duration.setter
    def duration(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def number(self) -> int:
        ...
    @number.setter
    def number(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
class MjVisual:
    class Global:
        __hash__: typing.ClassVar[None] = None
        def __copy__(self) -> MjVisual.Global:
            ...
        def __deepcopy__(self, arg0: dict) -> MjVisual.Global:
            ...
        def __eq__(self, arg0: typing.Any) -> bool:
            ...
        def __repr__(self) -> str:
            ...
        @property
        def azimuth(self) -> float:
            ...
        @azimuth.setter
        def azimuth(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def bvactive(self) -> int:
            ...
        @bvactive.setter
        def bvactive(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> None:
            ...
        @property
        def cameraid(self) -> int:
            ...
        @cameraid.setter
        def cameraid(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> None:
            ...
        @property
        def elevation(self) -> float:
            ...
        @elevation.setter
        def elevation(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def ellipsoidinertia(self) -> int:
            ...
        @ellipsoidinertia.setter
        def ellipsoidinertia(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> None:
            ...
        @property
        def fovy(self) -> float:
            ...
        @fovy.setter
        def fovy(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def glow(self) -> float:
            ...
        @glow.setter
        def glow(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def ipd(self) -> float:
            ...
        @ipd.setter
        def ipd(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def linewidth(self) -> float:
            ...
        @linewidth.setter
        def linewidth(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def offheight(self) -> int:
            ...
        @offheight.setter
        def offheight(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> None:
            ...
        @property
        def offwidth(self) -> int:
            ...
        @offwidth.setter
        def offwidth(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> None:
            ...
        @property
        def orthographic(self) -> int:
            ...
        @orthographic.setter
        def orthographic(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> None:
            ...
        @property
        def realtime(self) -> float:
            ...
        @realtime.setter
        def realtime(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
    class Headlight:
        __hash__: typing.ClassVar[None] = None
        def __copy__(self) -> MjVisual.Headlight:
            ...
        def __deepcopy__(self, arg0: dict) -> MjVisual.Headlight:
            ...
        def __eq__(self, arg0: typing.Any) -> bool:
            ...
        def __repr__(self) -> str:
            ...
        @property
        def active(self) -> int:
            ...
        @active.setter
        def active(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> int:
            ...
        @property
        def ambient(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @ambient.setter
        def ambient(self, arg1: typing.Any) -> None:
            ...
        @property
        def diffuse(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @diffuse.setter
        def diffuse(self, arg1: typing.Any) -> None:
            ...
        @property
        def specular(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @specular.setter
        def specular(self, arg1: typing.Any) -> None:
            ...
    class Map:
        __hash__: typing.ClassVar[None] = None
        def __copy__(self) -> MjVisual.Map:
            ...
        def __deepcopy__(self, arg0: dict) -> MjVisual.Map:
            ...
        def __eq__(self, arg0: typing.Any) -> bool:
            ...
        def __repr__(self) -> str:
            ...
        @property
        def actuatortendon(self) -> float:
            ...
        @actuatortendon.setter
        def actuatortendon(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def alpha(self) -> float:
            ...
        @alpha.setter
        def alpha(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def fogend(self) -> float:
            ...
        @fogend.setter
        def fogend(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def fogstart(self) -> float:
            ...
        @fogstart.setter
        def fogstart(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def force(self) -> float:
            ...
        @force.setter
        def force(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def haze(self) -> float:
            ...
        @haze.setter
        def haze(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def shadowclip(self) -> float:
            ...
        @shadowclip.setter
        def shadowclip(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def shadowscale(self) -> float:
            ...
        @shadowscale.setter
        def shadowscale(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def stiffness(self) -> float:
            ...
        @stiffness.setter
        def stiffness(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def stiffnessrot(self) -> float:
            ...
        @stiffnessrot.setter
        def stiffnessrot(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def torque(self) -> float:
            ...
        @torque.setter
        def torque(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def zfar(self) -> float:
            ...
        @zfar.setter
        def zfar(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def znear(self) -> float:
            ...
        @znear.setter
        def znear(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
    class Quality:
        __hash__: typing.ClassVar[None] = None
        def __copy__(self) -> MjVisual.Quality:
            ...
        def __deepcopy__(self, arg0: dict) -> MjVisual.Quality:
            ...
        def __eq__(self, arg0: typing.Any) -> bool:
            ...
        def __repr__(self) -> str:
            ...
        @property
        def numquads(self) -> int:
            ...
        @numquads.setter
        def numquads(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> None:
            ...
        @property
        def numslices(self) -> int:
            ...
        @numslices.setter
        def numslices(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> None:
            ...
        @property
        def numstacks(self) -> int:
            ...
        @numstacks.setter
        def numstacks(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> None:
            ...
        @property
        def offsamples(self) -> int:
            ...
        @offsamples.setter
        def offsamples(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> None:
            ...
        @property
        def shadowsize(self) -> int:
            ...
        @shadowsize.setter
        def shadowsize(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> None:
            ...
    class Rgba:
        __hash__: typing.ClassVar[None] = None
        def __copy__(self) -> MjVisual.Rgba:
            ...
        def __deepcopy__(self, arg0: dict) -> MjVisual.Rgba:
            ...
        def __eq__(self, arg0: typing.Any) -> bool:
            ...
        def __repr__(self) -> str:
            ...
        @property
        def actuator(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @actuator.setter
        def actuator(self, arg1: typing.Any) -> None:
            ...
        @property
        def actuatornegative(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @actuatornegative.setter
        def actuatornegative(self, arg1: typing.Any) -> None:
            ...
        @property
        def actuatorpositive(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @actuatorpositive.setter
        def actuatorpositive(self, arg1: typing.Any) -> None:
            ...
        @property
        def bv(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @bv.setter
        def bv(self, arg1: typing.Any) -> None:
            ...
        @property
        def bvactive(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @bvactive.setter
        def bvactive(self, arg1: typing.Any) -> None:
            ...
        @property
        def camera(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @camera.setter
        def camera(self, arg1: typing.Any) -> None:
            ...
        @property
        def com(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @com.setter
        def com(self, arg1: typing.Any) -> None:
            ...
        @property
        def connect(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @connect.setter
        def connect(self, arg1: typing.Any) -> None:
            ...
        @property
        def constraint(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @constraint.setter
        def constraint(self, arg1: typing.Any) -> None:
            ...
        @property
        def contactforce(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @contactforce.setter
        def contactforce(self, arg1: typing.Any) -> None:
            ...
        @property
        def contactfriction(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @contactfriction.setter
        def contactfriction(self, arg1: typing.Any) -> None:
            ...
        @property
        def contactgap(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @contactgap.setter
        def contactgap(self, arg1: typing.Any) -> None:
            ...
        @property
        def contactpoint(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @contactpoint.setter
        def contactpoint(self, arg1: typing.Any) -> None:
            ...
        @property
        def contacttorque(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @contacttorque.setter
        def contacttorque(self, arg1: typing.Any) -> None:
            ...
        @property
        def crankbroken(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @crankbroken.setter
        def crankbroken(self, arg1: typing.Any) -> None:
            ...
        @property
        def fog(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @fog.setter
        def fog(self, arg1: typing.Any) -> None:
            ...
        @property
        def force(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @force.setter
        def force(self, arg1: typing.Any) -> None:
            ...
        @property
        def frustum(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @frustum.setter
        def frustum(self, arg1: typing.Any) -> None:
            ...
        @property
        def haze(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @haze.setter
        def haze(self, arg1: typing.Any) -> None:
            ...
        @property
        def inertia(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @inertia.setter
        def inertia(self, arg1: typing.Any) -> None:
            ...
        @property
        def joint(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @joint.setter
        def joint(self, arg1: typing.Any) -> None:
            ...
        @property
        def light(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @light.setter
        def light(self, arg1: typing.Any) -> None:
            ...
        @property
        def rangefinder(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @rangefinder.setter
        def rangefinder(self, arg1: typing.Any) -> None:
            ...
        @property
        def selectpoint(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @selectpoint.setter
        def selectpoint(self, arg1: typing.Any) -> None:
            ...
        @property
        def slidercrank(self) -> numpy.typing.NDArray[numpy.float32]:
            ...
        @slidercrank.setter
        def slidercrank(self, arg1: typing.Any) -> None:
            ...
    class Scale:
        __hash__: typing.ClassVar[None] = None
        def __copy__(self) -> MjVisual.Scale:
            ...
        def __deepcopy__(self, arg0: dict) -> MjVisual.Scale:
            ...
        def __eq__(self, arg0: typing.Any) -> bool:
            ...
        def __repr__(self) -> str:
            ...
        @property
        def actuatorlength(self) -> float:
            ...
        @actuatorlength.setter
        def actuatorlength(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def actuatorwidth(self) -> float:
            ...
        @actuatorwidth.setter
        def actuatorwidth(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def camera(self) -> float:
            ...
        @camera.setter
        def camera(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def com(self) -> float:
            ...
        @com.setter
        def com(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def connect(self) -> float:
            ...
        @connect.setter
        def connect(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def constraint(self) -> float:
            ...
        @constraint.setter
        def constraint(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def contactheight(self) -> float:
            ...
        @contactheight.setter
        def contactheight(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def contactwidth(self) -> float:
            ...
        @contactwidth.setter
        def contactwidth(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def forcewidth(self) -> float:
            ...
        @forcewidth.setter
        def forcewidth(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def framelength(self) -> float:
            ...
        @framelength.setter
        def framelength(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def framewidth(self) -> float:
            ...
        @framewidth.setter
        def framewidth(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def frustum(self) -> float:
            ...
        @frustum.setter
        def frustum(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def jointlength(self) -> float:
            ...
        @jointlength.setter
        def jointlength(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def jointwidth(self) -> float:
            ...
        @jointwidth.setter
        def jointwidth(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def light(self) -> float:
            ...
        @light.setter
        def light(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def selectpoint(self) -> float:
            ...
        @selectpoint.setter
        def selectpoint(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
        @property
        def slidercrank(self) -> float:
            ...
        @slidercrank.setter
        def slidercrank(self, arg0: typing.SupportsFloat | typing.SupportsIndex) -> None:
            ...
    __hash__: typing.ClassVar[None] = None
    def __copy__(self) -> MjVisual:
        ...
    def __deepcopy__(self, arg0: dict) -> MjVisual:
        ...
    def __eq__(self, arg0: typing.Any) -> bool:
        ...
    def __repr__(self) -> str:
        ...
    @property
    def global_(self) -> MjVisual.Global:
        ...
    @property
    def headlight(self) -> MjVisual.Headlight:
        ...
    @property
    def map(self) -> MjVisual.Map:
        ...
    @property
    def quality(self) -> MjVisual.Quality:
        ...
    @property
    def rgba(self) -> MjVisual.Rgba:
        ...
    @property
    def scale(self) -> MjVisual.Scale:
        ...
class MjWarningStat:
    __hash__: typing.ClassVar[None] = None
    def __copy__(self) -> MjWarningStat:
        ...
    def __deepcopy__(self, arg0: dict) -> MjWarningStat:
        ...
    def __eq__(self, arg0: typing.Any) -> bool:
        ...
    def __init__(self) -> None:
        ...
    def __repr__(self) -> str:
        ...
    @property
    def lastinfo(self) -> int:
        ...
    @lastinfo.setter
    def lastinfo(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def number(self) -> int:
        ...
    @number.setter
    def number(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
class MjrRect:
    __hash__: typing.ClassVar[None] = None
    def __copy__(self) -> MjrRect:
        ...
    def __deepcopy__(self, arg0: dict) -> MjrRect:
        ...
    def __eq__(self, arg0: typing.Any) -> bool:
        ...
    def __init__(self, left: typing.SupportsInt | typing.SupportsIndex, bottom: typing.SupportsInt | typing.SupportsIndex, width: typing.SupportsInt | typing.SupportsIndex, height: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    def __repr__(self) -> str:
        ...
    @property
    def bottom(self) -> int:
        ...
    @bottom.setter
    def bottom(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def height(self) -> int:
        ...
    @height.setter
    def height(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def left(self) -> int:
        ...
    @left.setter
    def left(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def width(self) -> int:
        ...
    @width.setter
    def width(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
class MjrVertexAttribute:
    __hash__: typing.ClassVar[None] = None
    def __copy__(self) -> MjrVertexAttribute:
        ...
    def __deepcopy__(self, arg0: dict) -> MjrVertexAttribute:
        ...
    def __eq__(self, arg0: typing.Any) -> bool:
        ...
    def __init__(self, usage: typing.SupportsInt | typing.SupportsIndex = 0, type: typing.SupportsInt | typing.SupportsIndex = 0) -> None:
        ...
    def __repr__(self) -> str:
        ...
    @property
    def type(self) -> int:
        ...
    @type.setter
    def type(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def usage(self) -> int:
        ...
    @usage.setter
    def usage(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
class MjvCamera:
    __hash__: typing.ClassVar[None] = None
    def __copy__(self) -> MjvCamera:
        ...
    def __deepcopy__(self, arg0: dict) -> MjvCamera:
        ...
    def __eq__(self, arg0: typing.Any) -> bool:
        ...
    def __init__(self) -> None:
        ...
    def __repr__(self) -> str:
        ...
    @property
    def azimuth(self) -> float:
        ...
    @azimuth.setter
    def azimuth(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def distance(self) -> float:
        ...
    @distance.setter
    def distance(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def elevation(self) -> float:
        ...
    @elevation.setter
    def elevation(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def fixedcamid(self) -> int:
        ...
    @fixedcamid.setter
    def fixedcamid(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def lookat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @lookat.setter
    def lookat(self, arg1: typing.Any) -> None:
        ...
    @property
    def orthographic(self) -> int:
        ...
    @orthographic.setter
    def orthographic(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def trackbodyid(self) -> int:
        ...
    @trackbodyid.setter
    def trackbodyid(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def type(self) -> int:
        ...
    @type.setter
    def type(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
class MjvFigure:
    minwidth: str
    title: str
    xformat: str
    xlabel: str
    yformat: str
    def __copy__(self) -> MjvFigure:
        ...
    def __deepcopy__(self, arg0: dict) -> MjvFigure:
        ...
    def __init__(self) -> None:
        ...
    @property
    def figurergba(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @figurergba.setter
    def figurergba(self, arg1: typing.Any) -> None:
        ...
    @property
    def flg_barplot(self) -> int:
        ...
    @flg_barplot.setter
    def flg_barplot(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def flg_extend(self) -> int:
        ...
    @flg_extend.setter
    def flg_extend(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def flg_legend(self) -> int:
        ...
    @flg_legend.setter
    def flg_legend(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def flg_selection(self) -> int:
        ...
    @flg_selection.setter
    def flg_selection(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def flg_symmetric(self) -> int:
        ...
    @flg_symmetric.setter
    def flg_symmetric(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def flg_ticklabel(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flg_ticklabel.setter
    def flg_ticklabel(self, arg1: typing.Any) -> None:
        ...
    @property
    def gridrgb(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @gridrgb.setter
    def gridrgb(self, arg1: typing.Any) -> None:
        ...
    @property
    def gridsize(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @gridsize.setter
    def gridsize(self, arg1: typing.Any) -> None:
        ...
    @property
    def gridwidth(self) -> float:
        ...
    @gridwidth.setter
    def gridwidth(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def highlight(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @highlight.setter
    def highlight(self, arg1: typing.Any) -> None:
        ...
    @property
    def highlightid(self) -> int:
        ...
    @highlightid.setter
    def highlightid(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def legendoffset(self) -> int:
        ...
    @legendoffset.setter
    def legendoffset(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def legendrgba(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @legendrgba.setter
    def legendrgba(self, arg1: typing.Any) -> None:
        ...
    @property
    def linedata(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @linedata.setter
    def linedata(self, arg1: typing.Any) -> None:
        ...
    @property
    def linename(self) -> numpy.ndarray:
        ...
    @property
    def linepnt(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @linepnt.setter
    def linepnt(self, arg1: typing.Any) -> None:
        ...
    @property
    def linergb(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @linergb.setter
    def linergb(self, arg1: typing.Any) -> None:
        ...
    @property
    def linewidth(self) -> float:
        ...
    @linewidth.setter
    def linewidth(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def panergba(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @panergba.setter
    def panergba(self, arg1: typing.Any) -> None:
        ...
    @property
    def range(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @range.setter
    def range(self, arg1: typing.Any) -> None:
        ...
    @property
    def selection(self) -> float:
        ...
    @selection.setter
    def selection(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def subplot(self) -> int:
        ...
    @subplot.setter
    def subplot(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def textrgb(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @textrgb.setter
    def textrgb(self, arg1: typing.Any) -> None:
        ...
    @property
    def xaxisdata(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @xaxisdata.setter
    def xaxisdata(self, arg1: typing.Any) -> None:
        ...
    @property
    def xaxispixel(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @xaxispixel.setter
    def xaxispixel(self, arg1: typing.Any) -> None:
        ...
    @property
    def yaxisdata(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @yaxisdata.setter
    def yaxisdata(self, arg1: typing.Any) -> None:
        ...
    @property
    def yaxispixel(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @yaxispixel.setter
    def yaxispixel(self, arg1: typing.Any) -> None:
        ...
class MjvGLCamera:
    __hash__: typing.ClassVar[None] = None
    def __copy__(self) -> MjvGLCamera:
        ...
    def __deepcopy__(self, arg0: dict) -> MjvGLCamera:
        ...
    def __eq__(self, arg0: typing.Any) -> bool:
        ...
    def __init__(self) -> None:
        ...
    def __repr__(self) -> str:
        ...
    @property
    def forward(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @forward.setter
    def forward(self, arg1: typing.Any) -> None:
        ...
    @property
    def frustum_bottom(self) -> float:
        ...
    @frustum_bottom.setter
    def frustum_bottom(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def frustum_center(self) -> float:
        ...
    @frustum_center.setter
    def frustum_center(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def frustum_far(self) -> float:
        ...
    @frustum_far.setter
    def frustum_far(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def frustum_near(self) -> float:
        ...
    @frustum_near.setter
    def frustum_near(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def frustum_top(self) -> float:
        ...
    @frustum_top.setter
    def frustum_top(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def frustum_width(self) -> float:
        ...
    @frustum_width.setter
    def frustum_width(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def orthographic(self) -> int:
        ...
    @orthographic.setter
    def orthographic(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def pos(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @pos.setter
    def pos(self, arg1: typing.Any) -> None:
        ...
    @property
    def up(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @up.setter
    def up(self, arg1: typing.Any) -> None:
        ...
class MjvGeom:
    __hash__: typing.ClassVar[None] = None
    label: str
    def __copy__(self) -> MjvGeom:
        ...
    def __deepcopy__(self, arg0: dict) -> MjvGeom:
        ...
    def __eq__(self, arg0: typing.Any) -> bool:
        ...
    def __init__(self) -> None:
        ...
    def __repr__(self) -> str:
        ...
    @property
    def camdist(self) -> float:
        ...
    @camdist.setter
    def camdist(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def category(self) -> int:
        ...
    @category.setter
    def category(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def dataid(self) -> int:
        ...
    @dataid.setter
    def dataid(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def emission(self) -> float:
        ...
    @emission.setter
    def emission(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def mat(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @mat.setter
    def mat(self, arg1: typing.Any) -> None:
        ...
    @property
    def matid(self) -> int:
        ...
    @matid.setter
    def matid(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def modelrbound(self) -> float:
        ...
    @modelrbound.setter
    def modelrbound(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def objid(self) -> int:
        ...
    @objid.setter
    def objid(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def objtype(self) -> int:
        ...
    @objtype.setter
    def objtype(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def pos(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @pos.setter
    def pos(self, arg1: typing.Any) -> None:
        ...
    @property
    def reflectance(self) -> float:
        ...
    @reflectance.setter
    def reflectance(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def rgba(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @rgba.setter
    def rgba(self, arg1: typing.Any) -> None:
        ...
    @property
    def segid(self) -> int:
        ...
    @segid.setter
    def segid(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def shininess(self) -> float:
        ...
    @shininess.setter
    def shininess(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def size(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @size.setter
    def size(self, arg1: typing.Any) -> None:
        ...
    @property
    def specular(self) -> float:
        ...
    @specular.setter
    def specular(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def texcoord(self) -> int:
        ...
    @texcoord.setter
    def texcoord(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def texid(self) -> int:
        ...
    @texid.setter
    def texid(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def texrepeat(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @texrepeat.setter
    def texrepeat(self, arg1: typing.Any) -> None:
        ...
    @property
    def texuniform(self) -> int:
        ...
    @texuniform.setter
    def texuniform(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def transparent(self) -> int:
        ...
    @transparent.setter
    def transparent(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def type(self) -> int:
        ...
    @type.setter
    def type(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
class MjvLight:
    __hash__: typing.ClassVar[None] = None
    def __copy__(self) -> MjvLight:
        ...
    def __deepcopy__(self, arg0: dict) -> MjvLight:
        ...
    def __eq__(self, arg0: typing.Any) -> bool:
        ...
    def __init__(self) -> None:
        ...
    def __repr__(self) -> str:
        ...
    @property
    def ambient(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @ambient.setter
    def ambient(self, arg1: typing.Any) -> None:
        ...
    @property
    def attenuation(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @attenuation.setter
    def attenuation(self, arg1: typing.Any) -> None:
        ...
    @property
    def bulbradius(self) -> float:
        ...
    @bulbradius.setter
    def bulbradius(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def castshadow(self) -> int:
        ...
    @castshadow.setter
    def castshadow(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def cutoff(self) -> float:
        ...
    @cutoff.setter
    def cutoff(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def diffuse(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @diffuse.setter
    def diffuse(self, arg1: typing.Any) -> None:
        ...
    @property
    def dir(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @dir.setter
    def dir(self, arg1: typing.Any) -> None:
        ...
    @property
    def exponent(self) -> float:
        ...
    @exponent.setter
    def exponent(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def headlight(self) -> int:
        ...
    @headlight.setter
    def headlight(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def id(self) -> int:
        ...
    @id.setter
    def id(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def intensity(self) -> float:
        ...
    @intensity.setter
    def intensity(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def pos(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @pos.setter
    def pos(self, arg1: typing.Any) -> None:
        ...
    @property
    def range(self) -> float:
        ...
    @range.setter
    def range(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def specular(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @specular.setter
    def specular(self, arg1: typing.Any) -> None:
        ...
    @property
    def texid(self) -> int:
        ...
    @texid.setter
    def texid(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def type(self) -> int:
        ...
    @type.setter
    def type(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
class MjvOption:
    __hash__: typing.ClassVar[None] = None
    def __copy__(self) -> MjvOption:
        ...
    def __deepcopy__(self, arg0: dict) -> MjvOption:
        ...
    def __eq__(self, arg0: typing.Any) -> bool:
        ...
    def __init__(self) -> None:
        ...
    def __repr__(self) -> str:
        ...
    @property
    def actuatorgroup(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @actuatorgroup.setter
    def actuatorgroup(self, arg1: typing.Any) -> None:
        ...
    @property
    def bvh_depth(self) -> int:
        ...
    @bvh_depth.setter
    def bvh_depth(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def flags(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @flags.setter
    def flags(self, arg1: typing.Any) -> None:
        ...
    @property
    def flex_layer(self) -> int:
        ...
    @flex_layer.setter
    def flex_layer(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def flexgroup(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @flexgroup.setter
    def flexgroup(self, arg1: typing.Any) -> None:
        ...
    @property
    def frame(self) -> int:
        ...
    @frame.setter
    def frame(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def geomgroup(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @geomgroup.setter
    def geomgroup(self, arg1: typing.Any) -> None:
        ...
    @property
    def jointgroup(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @jointgroup.setter
    def jointgroup(self, arg1: typing.Any) -> None:
        ...
    @property
    def label(self) -> int:
        ...
    @label.setter
    def label(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def sitegroup(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @sitegroup.setter
    def sitegroup(self, arg1: typing.Any) -> None:
        ...
    @property
    def skingroup(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @skingroup.setter
    def skingroup(self, arg1: typing.Any) -> None:
        ...
    @property
    def tendongroup(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @tendongroup.setter
    def tendongroup(self, arg1: typing.Any) -> None:
        ...
class MjvPerturb:
    __hash__: typing.ClassVar[None] = None
    def __copy__(self) -> MjvPerturb:
        ...
    def __deepcopy__(self, arg0: dict) -> MjvPerturb:
        ...
    def __eq__(self, arg0: typing.Any) -> bool:
        ...
    def __init__(self) -> None:
        ...
    def __repr__(self) -> str:
        ...
    @property
    def active(self) -> int:
        ...
    @active.setter
    def active(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def active2(self) -> int:
        ...
    @active2.setter
    def active2(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def flexselect(self) -> int:
        ...
    @flexselect.setter
    def flexselect(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def localmass(self) -> float:
        ...
    @localmass.setter
    def localmass(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def localpos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @localpos.setter
    def localpos(self, arg1: typing.Any) -> None:
        ...
    @property
    def refpos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @refpos.setter
    def refpos(self, arg1: typing.Any) -> None:
        ...
    @property
    def refquat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @refquat.setter
    def refquat(self, arg1: typing.Any) -> None:
        ...
    @property
    def refselpos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @refselpos.setter
    def refselpos(self, arg1: typing.Any) -> None:
        ...
    @property
    def scale(self) -> float:
        ...
    @scale.setter
    def scale(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def select(self) -> int:
        ...
    @select.setter
    def select(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def skinselect(self) -> int:
        ...
    @skinselect.setter
    def skinselect(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
class MjvScene:
    def __copy__(self) -> MjvScene:
        ...
    def __deepcopy__(self, arg0: dict) -> MjvScene:
        ...
    @typing.overload
    def __init__(self) -> None:
        ...
    @typing.overload
    def __init__(self, model: MjModel, maxgeom: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def camera(self) -> tuple:
        ...
    @property
    def enabletransform(self) -> int:
        ...
    @enabletransform.setter
    def enabletransform(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def flags(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @flags.setter
    def flags(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexedge(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flexedge.setter
    def flexedge(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexedgeadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flexedgeadr.setter
    def flexedgeadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexedgenum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flexedgenum.setter
    def flexedgenum(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexedgeopt(self) -> int:
        ...
    @flexedgeopt.setter
    def flexedgeopt(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def flexface(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @flexface.setter
    def flexface(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexfaceadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flexfaceadr.setter
    def flexfaceadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexfacenum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flexfacenum.setter
    def flexfacenum(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexfaceopt(self) -> int:
        ...
    @flexfaceopt.setter
    def flexfaceopt(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def flexfaceused(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flexfaceused.setter
    def flexfaceused(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexnormal(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @flexnormal.setter
    def flexnormal(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexskinopt(self) -> int:
        ...
    @flexskinopt.setter
    def flexskinopt(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def flextexcoord(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @flextexcoord.setter
    def flextexcoord(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexvert(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @flexvert.setter
    def flexvert(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexvertadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flexvertadr.setter
    def flexvertadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexvertnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @flexvertnum.setter
    def flexvertnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def flexvertopt(self) -> int:
        ...
    @flexvertopt.setter
    def flexvertopt(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def framergb(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @framergb.setter
    def framergb(self, arg1: typing.Any) -> None:
        ...
    @property
    def framewidth(self) -> int:
        ...
    @framewidth.setter
    def framewidth(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def geomorder(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @geomorder.setter
    def geomorder(self, arg1: typing.Any) -> None:
        ...
    @property
    def geoms(self) -> tuple:
        ...
    @property
    def lights(self) -> tuple:
        ...
    @property
    def maxgeom(self) -> int:
        ...
    @maxgeom.setter
    def maxgeom(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def nflex(self) -> int:
        ...
    @nflex.setter
    def nflex(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def ngeom(self) -> int:
        ...
    @ngeom.setter
    def ngeom(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def nlight(self) -> int:
        ...
    @nlight.setter
    def nlight(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def nskin(self) -> int:
        ...
    @nskin.setter
    def nskin(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def rotate(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @rotate.setter
    def rotate(self, arg1: typing.Any) -> None:
        ...
    @property
    def scale(self) -> float:
        ...
    @scale.setter
    def scale(self, arg1: typing.SupportsFloat | typing.SupportsIndex) -> None:
        ...
    @property
    def skinfacenum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @skinfacenum.setter
    def skinfacenum(self, arg1: typing.Any) -> None:
        ...
    @property
    def skinnormal(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @skinnormal.setter
    def skinnormal(self, arg1: typing.Any) -> None:
        ...
    @property
    def skinvert(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @skinvert.setter
    def skinvert(self, arg1: typing.Any) -> None:
        ...
    @property
    def skinvertadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @skinvertadr.setter
    def skinvertadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def skinvertnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @skinvertnum.setter
    def skinvertnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def status(self) -> int:
        ...
    @status.setter
    def status(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def stereo(self) -> int:
        ...
    @stereo.setter
    def stereo(self, arg1: typing.SupportsInt | typing.SupportsIndex) -> None:
        ...
    @property
    def translate(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @translate.setter
    def translate(self, arg1: typing.Any) -> None:
        ...
class _MjContactList:
    __hash__: typing.ClassVar[None] = None
    def __eq__(self, arg0: typing.Any) -> bool:
        ...
    @typing.overload
    def __getitem__(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> MjContact:
        ...
    @typing.overload
    def __getitem__(self, arg0: slice) -> _MjContactList:
        ...
    def __len__(self) -> int:
        ...
    def __repr__(self) -> str:
        ...
    @property
    def H(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def adhesion(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def dim(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def dist(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def efc_address(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def elem(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def exclude(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def flex(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def frame(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def friction(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def geom(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def geom1(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def geom2(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def includemargin(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def mu(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def pos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def solimp(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def solref(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def solreffriction(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def vert(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
class _MjDataActuatorViews:
    def __repr__(self) -> str:
        ...
    @property
    def ctrl(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @ctrl.setter
    def ctrl(self, arg1: typing.Any) -> None:
        ...
    @property
    def force(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @force.setter
    def force(self, arg1: typing.Any) -> None:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def length(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @length.setter
    def length(self, arg1: typing.Any) -> None:
        ...
    @property
    def moment(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @moment.setter
    def moment(self, arg1: typing.Any) -> None:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def velocity(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @velocity.setter
    def velocity(self, arg1: typing.Any) -> None:
        ...
class _MjDataBodyViews:
    def __repr__(self) -> str:
        ...
    @property
    def cacc(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cacc.setter
    def cacc(self, arg1: typing.Any) -> None:
        ...
    @property
    def cfrc_ext(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cfrc_ext.setter
    def cfrc_ext(self, arg1: typing.Any) -> None:
        ...
    @property
    def cfrc_int(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cfrc_int.setter
    def cfrc_int(self, arg1: typing.Any) -> None:
        ...
    @property
    def cinert(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cinert.setter
    def cinert(self, arg1: typing.Any) -> None:
        ...
    @property
    def crb(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @crb.setter
    def crb(self, arg1: typing.Any) -> None:
        ...
    @property
    def cvel(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cvel.setter
    def cvel(self, arg1: typing.Any) -> None:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def subtree_angmom(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @subtree_angmom.setter
    def subtree_angmom(self, arg1: typing.Any) -> None:
        ...
    @property
    def subtree_com(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @subtree_com.setter
    def subtree_com(self, arg1: typing.Any) -> None:
        ...
    @property
    def subtree_linvel(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @subtree_linvel.setter
    def subtree_linvel(self, arg1: typing.Any) -> None:
        ...
    @property
    def xfrc_applied(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @xfrc_applied.setter
    def xfrc_applied(self, arg1: typing.Any) -> None:
        ...
    @property
    def ximat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @ximat.setter
    def ximat(self, arg1: typing.Any) -> None:
        ...
    @property
    def xipos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @xipos.setter
    def xipos(self, arg1: typing.Any) -> None:
        ...
    @property
    def xmat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @xmat.setter
    def xmat(self, arg1: typing.Any) -> None:
        ...
    @property
    def xpos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @xpos.setter
    def xpos(self, arg1: typing.Any) -> None:
        ...
    @property
    def xquat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @xquat.setter
    def xquat(self, arg1: typing.Any) -> None:
        ...
class _MjDataCameraViews:
    def __repr__(self) -> str:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def xmat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @xmat.setter
    def xmat(self, arg1: typing.Any) -> None:
        ...
    @property
    def xpos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @xpos.setter
    def xpos(self, arg1: typing.Any) -> None:
        ...
class _MjDataGeomViews:
    def __repr__(self) -> str:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def xmat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @xmat.setter
    def xmat(self, arg1: typing.Any) -> None:
        ...
    @property
    def xpos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @xpos.setter
    def xpos(self, arg1: typing.Any) -> None:
        ...
class _MjDataJointViews:
    def __repr__(self) -> str:
        ...
    @property
    def cdof(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cdof.setter
    def cdof(self, arg1: typing.Any) -> None:
        ...
    @property
    def cdof_dot(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cdof_dot.setter
    def cdof_dot(self, arg1: typing.Any) -> None:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def qLDiagInv(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qLDiagInv.setter
    def qLDiagInv(self, arg1: typing.Any) -> None:
        ...
    @property
    def qacc(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qacc.setter
    def qacc(self, arg1: typing.Any) -> None:
        ...
    @property
    def qacc_smooth(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qacc_smooth.setter
    def qacc_smooth(self, arg1: typing.Any) -> None:
        ...
    @property
    def qacc_warmstart(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qacc_warmstart.setter
    def qacc_warmstart(self, arg1: typing.Any) -> None:
        ...
    @property
    def qfrc_actuator(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qfrc_actuator.setter
    def qfrc_actuator(self, arg1: typing.Any) -> None:
        ...
    @property
    def qfrc_applied(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qfrc_applied.setter
    def qfrc_applied(self, arg1: typing.Any) -> None:
        ...
    @property
    def qfrc_bias(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qfrc_bias.setter
    def qfrc_bias(self, arg1: typing.Any) -> None:
        ...
    @property
    def qfrc_constraint(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qfrc_constraint.setter
    def qfrc_constraint(self, arg1: typing.Any) -> None:
        ...
    @property
    def qfrc_inverse(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qfrc_inverse.setter
    def qfrc_inverse(self, arg1: typing.Any) -> None:
        ...
    @property
    def qfrc_passive(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qfrc_passive.setter
    def qfrc_passive(self, arg1: typing.Any) -> None:
        ...
    @property
    def qfrc_smooth(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qfrc_smooth.setter
    def qfrc_smooth(self, arg1: typing.Any) -> None:
        ...
    @property
    def qpos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qpos.setter
    def qpos(self, arg1: typing.Any) -> None:
        ...
    @property
    def qvel(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qvel.setter
    def qvel(self, arg1: typing.Any) -> None:
        ...
    @property
    def xanchor(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @xanchor.setter
    def xanchor(self, arg1: typing.Any) -> None:
        ...
    @property
    def xaxis(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @xaxis.setter
    def xaxis(self, arg1: typing.Any) -> None:
        ...
class _MjDataLightViews:
    def __repr__(self) -> str:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def xdir(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @xdir.setter
    def xdir(self, arg1: typing.Any) -> None:
        ...
    @property
    def xpos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @xpos.setter
    def xpos(self, arg1: typing.Any) -> None:
        ...
class _MjDataSensorViews:
    def __repr__(self) -> str:
        ...
    @property
    def data(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @data.setter
    def data(self, arg1: typing.Any) -> None:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def name(self) -> str:
        ...
class _MjDataSiteViews:
    def __repr__(self) -> str:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def xmat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @xmat.setter
    def xmat(self, arg1: typing.Any) -> None:
        ...
    @property
    def xpos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @xpos.setter
    def xpos(self, arg1: typing.Any) -> None:
        ...
class _MjDataTendonViews:
    def __repr__(self) -> str:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def length(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @length.setter
    def length(self, arg1: typing.Any) -> None:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def velocity(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @velocity.setter
    def velocity(self, arg1: typing.Any) -> None:
        ...
    @property
    def wrapadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @wrapadr.setter
    def wrapadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def wrapnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @wrapnum.setter
    def wrapnum(self, arg1: typing.Any) -> None:
        ...
class _MjModelActuatorViews:
    def __repr__(self) -> str:
        ...
    @property
    def acc0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @acc0.setter
    def acc0(self, arg1: typing.Any) -> None:
        ...
    @property
    def actadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @actadr.setter
    def actadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def actlimited(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @actlimited.setter
    def actlimited(self, arg1: typing.Any) -> None:
        ...
    @property
    def actnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @actnum.setter
    def actnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def actrange(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @actrange.setter
    def actrange(self, arg1: typing.Any) -> None:
        ...
    @property
    def biasprm(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @biasprm.setter
    def biasprm(self, arg1: typing.Any) -> None:
        ...
    @property
    def biastype(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @biastype.setter
    def biastype(self, arg1: typing.Any) -> None:
        ...
    @property
    def cranklength(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cranklength.setter
    def cranklength(self, arg1: typing.Any) -> None:
        ...
    @property
    def ctrllimited(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @ctrllimited.setter
    def ctrllimited(self, arg1: typing.Any) -> None:
        ...
    @property
    def ctrlrange(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @ctrlrange.setter
    def ctrlrange(self, arg1: typing.Any) -> None:
        ...
    @property
    def dynprm(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @dynprm.setter
    def dynprm(self, arg1: typing.Any) -> None:
        ...
    @property
    def dyntype(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @dyntype.setter
    def dyntype(self, arg1: typing.Any) -> None:
        ...
    @property
    def forcelimited(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @forcelimited.setter
    def forcelimited(self, arg1: typing.Any) -> None:
        ...
    @property
    def forcerange(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @forcerange.setter
    def forcerange(self, arg1: typing.Any) -> None:
        ...
    @property
    def gainprm(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @gainprm.setter
    def gainprm(self, arg1: typing.Any) -> None:
        ...
    @property
    def gaintype(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @gaintype.setter
    def gaintype(self, arg1: typing.Any) -> None:
        ...
    @property
    def gear(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @gear.setter
    def gear(self, arg1: typing.Any) -> None:
        ...
    @property
    def group(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @group.setter
    def group(self, arg1: typing.Any) -> None:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def length0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @length0.setter
    def length0(self, arg1: typing.Any) -> None:
        ...
    @property
    def lengthrange(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @lengthrange.setter
    def lengthrange(self, arg1: typing.Any) -> None:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def trnid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @trnid.setter
    def trnid(self, arg1: typing.Any) -> None:
        ...
    @property
    def trntype(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @trntype.setter
    def trntype(self, arg1: typing.Any) -> None:
        ...
    @property
    def user(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @user.setter
    def user(self, arg1: typing.Any) -> None:
        ...
class _MjModelBodyViews:
    def __repr__(self) -> str:
        ...
    @property
    def dofadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @dofadr.setter
    def dofadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def dofnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @dofnum.setter
    def dofnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def geomadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @geomadr.setter
    def geomadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def geomnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @geomnum.setter
    def geomnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def inertia(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @inertia.setter
    def inertia(self, arg1: typing.Any) -> None:
        ...
    @property
    def invweight0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @invweight0.setter
    def invweight0(self, arg1: typing.Any) -> None:
        ...
    @property
    def ipos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @ipos.setter
    def ipos(self, arg1: typing.Any) -> None:
        ...
    @property
    def iquat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @iquat.setter
    def iquat(self, arg1: typing.Any) -> None:
        ...
    @property
    def jntadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @jntadr.setter
    def jntadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def jntnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @jntnum.setter
    def jntnum(self, arg1: typing.Any) -> None:
        ...
    @property
    def mass(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @mass.setter
    def mass(self, arg1: typing.Any) -> None:
        ...
    @property
    def mocapid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mocapid.setter
    def mocapid(self, arg1: typing.Any) -> None:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def parentid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @parentid.setter
    def parentid(self, arg1: typing.Any) -> None:
        ...
    @property
    def pos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @pos.setter
    def pos(self, arg1: typing.Any) -> None:
        ...
    @property
    def quat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @quat.setter
    def quat(self, arg1: typing.Any) -> None:
        ...
    @property
    def rootid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @rootid.setter
    def rootid(self, arg1: typing.Any) -> None:
        ...
    @property
    def sameframe(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @sameframe.setter
    def sameframe(self, arg1: typing.Any) -> None:
        ...
    @property
    def simple(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @simple.setter
    def simple(self, arg1: typing.Any) -> None:
        ...
    @property
    def subtreemass(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @subtreemass.setter
    def subtreemass(self, arg1: typing.Any) -> None:
        ...
    @property
    def user(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @user.setter
    def user(self, arg1: typing.Any) -> None:
        ...
    @property
    def weldid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @weldid.setter
    def weldid(self, arg1: typing.Any) -> None:
        ...
class _MjModelCameraViews:
    def __repr__(self) -> str:
        ...
    @property
    def bodyid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @bodyid.setter
    def bodyid(self, arg1: typing.Any) -> None:
        ...
    @property
    def fovy(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @fovy.setter
    def fovy(self, arg1: typing.Any) -> None:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def ipd(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @ipd.setter
    def ipd(self, arg1: typing.Any) -> None:
        ...
    @property
    def mat0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @mat0.setter
    def mat0(self, arg1: typing.Any) -> None:
        ...
    @property
    def mode(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mode.setter
    def mode(self, arg1: typing.Any) -> None:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def pos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @pos.setter
    def pos(self, arg1: typing.Any) -> None:
        ...
    @property
    def pos0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @pos0.setter
    def pos0(self, arg1: typing.Any) -> None:
        ...
    @property
    def poscom0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @poscom0.setter
    def poscom0(self, arg1: typing.Any) -> None:
        ...
    @property
    def quat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @quat.setter
    def quat(self, arg1: typing.Any) -> None:
        ...
    @property
    def targetbodyid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @targetbodyid.setter
    def targetbodyid(self, arg1: typing.Any) -> None:
        ...
    @property
    def user(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @user.setter
    def user(self, arg1: typing.Any) -> None:
        ...
class _MjModelEqualityViews:
    def __repr__(self) -> str:
        ...
    @property
    def active0(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @active0.setter
    def active0(self, arg1: typing.Any) -> None:
        ...
    @property
    def data(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @data.setter
    def data(self, arg1: typing.Any) -> None:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def obj1id(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @obj1id.setter
    def obj1id(self, arg1: typing.Any) -> None:
        ...
    @property
    def obj2id(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @obj2id.setter
    def obj2id(self, arg1: typing.Any) -> None:
        ...
    @property
    def solimp(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @solimp.setter
    def solimp(self, arg1: typing.Any) -> None:
        ...
    @property
    def solref(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @solref.setter
    def solref(self, arg1: typing.Any) -> None:
        ...
    @property
    def type(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @type.setter
    def type(self, arg1: typing.Any) -> None:
        ...
class _MjModelExcludeViews:
    def __repr__(self) -> str:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def signature(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @signature.setter
    def signature(self, arg1: typing.Any) -> None:
        ...
class _MjModelGeomViews:
    def __repr__(self) -> str:
        ...
    @property
    def bodyid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @bodyid.setter
    def bodyid(self, arg1: typing.Any) -> None:
        ...
    @property
    def conaffinity(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @conaffinity.setter
    def conaffinity(self, arg1: typing.Any) -> None:
        ...
    @property
    def condim(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @condim.setter
    def condim(self, arg1: typing.Any) -> None:
        ...
    @property
    def contype(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @contype.setter
    def contype(self, arg1: typing.Any) -> None:
        ...
    @property
    def dataid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @dataid.setter
    def dataid(self, arg1: typing.Any) -> None:
        ...
    @property
    def friction(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @friction.setter
    def friction(self, arg1: typing.Any) -> None:
        ...
    @property
    def gap(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @gap.setter
    def gap(self, arg1: typing.Any) -> None:
        ...
    @property
    def group(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @group.setter
    def group(self, arg1: typing.Any) -> None:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def margin(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @margin.setter
    def margin(self, arg1: typing.Any) -> None:
        ...
    @property
    def matid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @matid.setter
    def matid(self, arg1: typing.Any) -> None:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def pos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @pos.setter
    def pos(self, arg1: typing.Any) -> None:
        ...
    @property
    def priority(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @priority.setter
    def priority(self, arg1: typing.Any) -> None:
        ...
    @property
    def quat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @quat.setter
    def quat(self, arg1: typing.Any) -> None:
        ...
    @property
    def rbound(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @rbound.setter
    def rbound(self, arg1: typing.Any) -> None:
        ...
    @property
    def rgba(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @rgba.setter
    def rgba(self, arg1: typing.Any) -> None:
        ...
    @property
    def sameframe(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @sameframe.setter
    def sameframe(self, arg1: typing.Any) -> None:
        ...
    @property
    def size(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @size.setter
    def size(self, arg1: typing.Any) -> None:
        ...
    @property
    def solimp(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @solimp.setter
    def solimp(self, arg1: typing.Any) -> None:
        ...
    @property
    def solmix(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @solmix.setter
    def solmix(self, arg1: typing.Any) -> None:
        ...
    @property
    def solref(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @solref.setter
    def solref(self, arg1: typing.Any) -> None:
        ...
    @property
    def type(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @type.setter
    def type(self, arg1: typing.Any) -> None:
        ...
    @property
    def user(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @user.setter
    def user(self, arg1: typing.Any) -> None:
        ...
class _MjModelHfieldViews:
    def __repr__(self) -> str:
        ...
    @property
    def adr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @adr.setter
    def adr(self, arg1: typing.Any) -> None:
        ...
    @property
    def data(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @data.setter
    def data(self, arg1: typing.Any) -> None:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def ncol(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @ncol.setter
    def ncol(self, arg1: typing.Any) -> None:
        ...
    @property
    def nrow(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @nrow.setter
    def nrow(self, arg1: typing.Any) -> None:
        ...
    @property
    def size(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @size.setter
    def size(self, arg1: typing.Any) -> None:
        ...
class _MjModelJointViews:
    def __repr__(self) -> str:
        ...
    @property
    def M0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @M0.setter
    def M0(self, arg1: typing.Any) -> None:
        ...
    @property
    def Madr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @Madr.setter
    def Madr(self, arg1: typing.Any) -> None:
        ...
    @property
    def armature(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @armature.setter
    def armature(self, arg1: typing.Any) -> None:
        ...
    @property
    def axis(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @axis.setter
    def axis(self, arg1: typing.Any) -> None:
        ...
    @property
    def bodyid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @bodyid.setter
    def bodyid(self, arg1: typing.Any) -> None:
        ...
    @property
    def damping(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @damping.setter
    def damping(self, arg1: typing.Any) -> None:
        ...
    @property
    def dampingpoly(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @dampingpoly.setter
    def dampingpoly(self, arg1: typing.Any) -> None:
        ...
    @property
    def dofadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @dofadr.setter
    def dofadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def frictionloss(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @frictionloss.setter
    def frictionloss(self, arg1: typing.Any) -> None:
        ...
    @property
    def group(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @group.setter
    def group(self, arg1: typing.Any) -> None:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def invweight0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @invweight0.setter
    def invweight0(self, arg1: typing.Any) -> None:
        ...
    @property
    def jntid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @jntid.setter
    def jntid(self, arg1: typing.Any) -> None:
        ...
    @property
    def limited(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @limited.setter
    def limited(self, arg1: typing.Any) -> None:
        ...
    @property
    def margin(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @margin.setter
    def margin(self, arg1: typing.Any) -> None:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def parentid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @parentid.setter
    def parentid(self, arg1: typing.Any) -> None:
        ...
    @property
    def pos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @pos.setter
    def pos(self, arg1: typing.Any) -> None:
        ...
    @property
    def qpos0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qpos0.setter
    def qpos0(self, arg1: typing.Any) -> None:
        ...
    @property
    def qpos_spring(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qpos_spring.setter
    def qpos_spring(self, arg1: typing.Any) -> None:
        ...
    @property
    def qposadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @qposadr.setter
    def qposadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def range(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @range.setter
    def range(self, arg1: typing.Any) -> None:
        ...
    @property
    def simplenum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @simplenum.setter
    def simplenum(self, arg1: typing.Any) -> None:
        ...
    @property
    def solimp(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @solimp.setter
    def solimp(self, arg1: typing.Any) -> None:
        ...
    @property
    def solref(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @solref.setter
    def solref(self, arg1: typing.Any) -> None:
        ...
    @property
    def stiffness(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @stiffness.setter
    def stiffness(self, arg1: typing.Any) -> None:
        ...
    @property
    def stiffnesspoly(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @stiffnesspoly.setter
    def stiffnesspoly(self, arg1: typing.Any) -> None:
        ...
    @property
    def type(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @type.setter
    def type(self, arg1: typing.Any) -> None:
        ...
    @property
    def user(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @user.setter
    def user(self, arg1: typing.Any) -> None:
        ...
class _MjModelKeyframeViews:
    def __repr__(self) -> str:
        ...
    @property
    def act(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @act.setter
    def act(self, arg1: typing.Any) -> None:
        ...
    @property
    def ctrl(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @ctrl.setter
    def ctrl(self, arg1: typing.Any) -> None:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def mpos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @mpos.setter
    def mpos(self, arg1: typing.Any) -> None:
        ...
    @property
    def mquat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @mquat.setter
    def mquat(self, arg1: typing.Any) -> None:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def qpos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qpos.setter
    def qpos(self, arg1: typing.Any) -> None:
        ...
    @property
    def qvel(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @qvel.setter
    def qvel(self, arg1: typing.Any) -> None:
        ...
    @property
    def time(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @time.setter
    def time(self, arg1: typing.Any) -> None:
        ...
class _MjModelLightViews:
    def __repr__(self) -> str:
        ...
    @property
    def active(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @active.setter
    def active(self, arg1: typing.Any) -> None:
        ...
    @property
    def ambient(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @ambient.setter
    def ambient(self, arg1: typing.Any) -> None:
        ...
    @property
    def attenuation(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @attenuation.setter
    def attenuation(self, arg1: typing.Any) -> None:
        ...
    @property
    def bodyid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @bodyid.setter
    def bodyid(self, arg1: typing.Any) -> None:
        ...
    @property
    def castshadow(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @castshadow.setter
    def castshadow(self, arg1: typing.Any) -> None:
        ...
    @property
    def cutoff(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @cutoff.setter
    def cutoff(self, arg1: typing.Any) -> None:
        ...
    @property
    def diffuse(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @diffuse.setter
    def diffuse(self, arg1: typing.Any) -> None:
        ...
    @property
    def dir(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @dir.setter
    def dir(self, arg1: typing.Any) -> None:
        ...
    @property
    def dir0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @dir0.setter
    def dir0(self, arg1: typing.Any) -> None:
        ...
    @property
    def exponent(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @exponent.setter
    def exponent(self, arg1: typing.Any) -> None:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def mode(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @mode.setter
    def mode(self, arg1: typing.Any) -> None:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def pos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @pos.setter
    def pos(self, arg1: typing.Any) -> None:
        ...
    @property
    def pos0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @pos0.setter
    def pos0(self, arg1: typing.Any) -> None:
        ...
    @property
    def poscom0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @poscom0.setter
    def poscom0(self, arg1: typing.Any) -> None:
        ...
    @property
    def specular(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @specular.setter
    def specular(self, arg1: typing.Any) -> None:
        ...
    @property
    def targetbodyid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @targetbodyid.setter
    def targetbodyid(self, arg1: typing.Any) -> None:
        ...
    @property
    def type(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @type.setter
    def type(self, arg1: typing.Any) -> None:
        ...
class _MjModelMaterialViews:
    def __repr__(self) -> str:
        ...
    @property
    def emission(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @emission.setter
    def emission(self, arg1: typing.Any) -> None:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def reflectance(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @reflectance.setter
    def reflectance(self, arg1: typing.Any) -> None:
        ...
    @property
    def rgba(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @rgba.setter
    def rgba(self, arg1: typing.Any) -> None:
        ...
    @property
    def shininess(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @shininess.setter
    def shininess(self, arg1: typing.Any) -> None:
        ...
    @property
    def specular(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @specular.setter
    def specular(self, arg1: typing.Any) -> None:
        ...
    @property
    def texid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @texid.setter
    def texid(self, arg1: typing.Any) -> None:
        ...
    @property
    def texrepeat(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @texrepeat.setter
    def texrepeat(self, arg1: typing.Any) -> None:
        ...
    @property
    def texuniform(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @texuniform.setter
    def texuniform(self, arg1: typing.Any) -> None:
        ...
class _MjModelMeshViews:
    def __repr__(self) -> str:
        ...
    @property
    def faceadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @faceadr.setter
    def faceadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def facenum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @facenum.setter
    def facenum(self, arg1: typing.Any) -> None:
        ...
    @property
    def graphadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @graphadr.setter
    def graphadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def texcoordadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @texcoordadr.setter
    def texcoordadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def vertadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @vertadr.setter
    def vertadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def vertnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @vertnum.setter
    def vertnum(self, arg1: typing.Any) -> None:
        ...
class _MjModelNumericViews:
    def __repr__(self) -> str:
        ...
    @property
    def adr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @adr.setter
    def adr(self, arg1: typing.Any) -> None:
        ...
    @property
    def data(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @data.setter
    def data(self, arg1: typing.Any) -> None:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def size(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @size.setter
    def size(self, arg1: typing.Any) -> None:
        ...
class _MjModelPairViews:
    def __repr__(self) -> str:
        ...
    @property
    def dim(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @dim.setter
    def dim(self, arg1: typing.Any) -> None:
        ...
    @property
    def friction(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @friction.setter
    def friction(self, arg1: typing.Any) -> None:
        ...
    @property
    def gap(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @gap.setter
    def gap(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom1(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @geom1.setter
    def geom1(self, arg1: typing.Any) -> None:
        ...
    @property
    def geom2(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @geom2.setter
    def geom2(self, arg1: typing.Any) -> None:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def margin(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @margin.setter
    def margin(self, arg1: typing.Any) -> None:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def signature(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @signature.setter
    def signature(self, arg1: typing.Any) -> None:
        ...
    @property
    def solimp(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @solimp.setter
    def solimp(self, arg1: typing.Any) -> None:
        ...
    @property
    def solref(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @solref.setter
    def solref(self, arg1: typing.Any) -> None:
        ...
class _MjModelSensorViews:
    def __repr__(self) -> str:
        ...
    @property
    def adr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @adr.setter
    def adr(self, arg1: typing.Any) -> None:
        ...
    @property
    def cutoff(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @cutoff.setter
    def cutoff(self, arg1: typing.Any) -> None:
        ...
    @property
    def datatype(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @datatype.setter
    def datatype(self, arg1: typing.Any) -> None:
        ...
    @property
    def dim(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @dim.setter
    def dim(self, arg1: typing.Any) -> None:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def needstage(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @needstage.setter
    def needstage(self, arg1: typing.Any) -> None:
        ...
    @property
    def noise(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @noise.setter
    def noise(self, arg1: typing.Any) -> None:
        ...
    @property
    def objid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @objid.setter
    def objid(self, arg1: typing.Any) -> None:
        ...
    @property
    def objtype(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @objtype.setter
    def objtype(self, arg1: typing.Any) -> None:
        ...
    @property
    def refid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @refid.setter
    def refid(self, arg1: typing.Any) -> None:
        ...
    @property
    def reftype(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @reftype.setter
    def reftype(self, arg1: typing.Any) -> None:
        ...
    @property
    def type(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @type.setter
    def type(self, arg1: typing.Any) -> None:
        ...
    @property
    def user(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @user.setter
    def user(self, arg1: typing.Any) -> None:
        ...
class _MjModelSiteViews:
    def __repr__(self) -> str:
        ...
    @property
    def bodyid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @bodyid.setter
    def bodyid(self, arg1: typing.Any) -> None:
        ...
    @property
    def group(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @group.setter
    def group(self, arg1: typing.Any) -> None:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def matid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @matid.setter
    def matid(self, arg1: typing.Any) -> None:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def pos(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @pos.setter
    def pos(self, arg1: typing.Any) -> None:
        ...
    @property
    def quat(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @quat.setter
    def quat(self, arg1: typing.Any) -> None:
        ...
    @property
    def rgba(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @rgba.setter
    def rgba(self, arg1: typing.Any) -> None:
        ...
    @property
    def sameframe(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @sameframe.setter
    def sameframe(self, arg1: typing.Any) -> None:
        ...
    @property
    def size(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @size.setter
    def size(self, arg1: typing.Any) -> None:
        ...
    @property
    def type(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @type.setter
    def type(self, arg1: typing.Any) -> None:
        ...
    @property
    def user(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @user.setter
    def user(self, arg1: typing.Any) -> None:
        ...
class _MjModelSkinViews:
    def __repr__(self) -> str:
        ...
    @property
    def boneadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @boneadr.setter
    def boneadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def bonenum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @bonenum.setter
    def bonenum(self, arg1: typing.Any) -> None:
        ...
    @property
    def faceadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @faceadr.setter
    def faceadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def facenum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @facenum.setter
    def facenum(self, arg1: typing.Any) -> None:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def inflate(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @inflate.setter
    def inflate(self, arg1: typing.Any) -> None:
        ...
    @property
    def matid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @matid.setter
    def matid(self, arg1: typing.Any) -> None:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def rgba(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @rgba.setter
    def rgba(self, arg1: typing.Any) -> None:
        ...
    @property
    def texcoordadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @texcoordadr.setter
    def texcoordadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def vertadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @vertadr.setter
    def vertadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def vertnum(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @vertnum.setter
    def vertnum(self, arg1: typing.Any) -> None:
        ...
class _MjModelTendonViews:
    def __repr__(self) -> str:
        ...
    @property
    def J_colind(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @J_colind.setter
    def J_colind(self, arg1: typing.Any) -> None:
        ...
    @property
    def J_rowadr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @J_rowadr.setter
    def J_rowadr(self, arg1: typing.Any) -> None:
        ...
    @property
    def J_rownnz(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @J_rownnz.setter
    def J_rownnz(self, arg1: typing.Any) -> None:
        ...
    @property
    def _adr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @_adr.setter
    def _adr(self, arg1: typing.Any) -> None:
        ...
    @property
    def _damping(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @_damping.setter
    def _damping(self, arg1: typing.Any) -> None:
        ...
    @property
    def _dampingpoly(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @_dampingpoly.setter
    def _dampingpoly(self, arg1: typing.Any) -> None:
        ...
    @property
    def _frictionloss(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @_frictionloss.setter
    def _frictionloss(self, arg1: typing.Any) -> None:
        ...
    @property
    def _group(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @_group.setter
    def _group(self, arg1: typing.Any) -> None:
        ...
    @property
    def _invweight0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @_invweight0.setter
    def _invweight0(self, arg1: typing.Any) -> None:
        ...
    @property
    def _length0(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @_length0.setter
    def _length0(self, arg1: typing.Any) -> None:
        ...
    @property
    def _lengthspring(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @_lengthspring.setter
    def _lengthspring(self, arg1: typing.Any) -> None:
        ...
    @property
    def _limited(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @_limited.setter
    def _limited(self, arg1: typing.Any) -> None:
        ...
    @property
    def _margin(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @_margin.setter
    def _margin(self, arg1: typing.Any) -> None:
        ...
    @property
    def _matid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @_matid.setter
    def _matid(self, arg1: typing.Any) -> None:
        ...
    @property
    def _num(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @_num.setter
    def _num(self, arg1: typing.Any) -> None:
        ...
    @property
    def _range(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @_range.setter
    def _range(self, arg1: typing.Any) -> None:
        ...
    @property
    def _rgba(self) -> numpy.typing.NDArray[numpy.float32]:
        ...
    @_rgba.setter
    def _rgba(self, arg1: typing.Any) -> None:
        ...
    @property
    def _solimp_fri(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @_solimp_fri.setter
    def _solimp_fri(self, arg1: typing.Any) -> None:
        ...
    @property
    def _solimp_lim(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @_solimp_lim.setter
    def _solimp_lim(self, arg1: typing.Any) -> None:
        ...
    @property
    def _solref_fri(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @_solref_fri.setter
    def _solref_fri(self, arg1: typing.Any) -> None:
        ...
    @property
    def _solref_lim(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @_solref_lim.setter
    def _solref_lim(self, arg1: typing.Any) -> None:
        ...
    @property
    def _stiffness(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @_stiffness.setter
    def _stiffness(self, arg1: typing.Any) -> None:
        ...
    @property
    def _stiffnesspoly(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @_stiffnesspoly.setter
    def _stiffnesspoly(self, arg1: typing.Any) -> None:
        ...
    @property
    def _user(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @_user.setter
    def _user(self, arg1: typing.Any) -> None:
        ...
    @property
    def _width(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @_width.setter
    def _width(self, arg1: typing.Any) -> None:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def name(self) -> str:
        ...
class _MjModelTextureViews:
    def __repr__(self) -> str:
        ...
    @property
    def adr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @adr.setter
    def adr(self, arg1: typing.Any) -> None:
        ...
    @property
    def data(self) -> numpy.typing.NDArray[numpy.uint8]:
        ...
    @data.setter
    def data(self, arg1: typing.Any) -> None:
        ...
    @property
    def height(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @height.setter
    def height(self, arg1: typing.Any) -> None:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def nchannel(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @nchannel.setter
    def nchannel(self, arg1: typing.Any) -> None:
        ...
    @property
    def type(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @type.setter
    def type(self, arg1: typing.Any) -> None:
        ...
    @property
    def width(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @width.setter
    def width(self, arg1: typing.Any) -> None:
        ...
class _MjModelTupleViews:
    def __repr__(self) -> str:
        ...
    @property
    def adr(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @adr.setter
    def adr(self, arg1: typing.Any) -> None:
        ...
    @property
    def id(self) -> int:
        ...
    @property
    def name(self) -> str:
        ...
    @property
    def objid(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @objid.setter
    def objid(self, arg1: typing.Any) -> None:
        ...
    @property
    def objprm(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @objprm.setter
    def objprm(self, arg1: typing.Any) -> None:
        ...
    @property
    def objtype(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @objtype.setter
    def objtype(self, arg1: typing.Any) -> None:
        ...
    @property
    def size(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @size.setter
    def size(self, arg1: typing.Any) -> None:
        ...
class _MjSolverStatList:
    __hash__: typing.ClassVar[None] = None
    def __eq__(self, arg0: typing.Any) -> bool:
        ...
    @typing.overload
    def __getitem__(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> MjSolverStat:
        ...
    @typing.overload
    def __getitem__(self, arg0: slice) -> _MjSolverStatList:
        ...
    def __len__(self) -> int:
        ...
    def __repr__(self) -> str:
        ...
    @property
    def gradient(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def improvement(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def lineslope(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def nactive(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def nchange(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def neval(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def nupdate(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
class _MjTimerStatList:
    __hash__: typing.ClassVar[None] = None
    def __eq__(self, arg0: typing.Any) -> bool:
        ...
    @typing.overload
    def __getitem__(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> MjTimerStat:
        ...
    @typing.overload
    def __getitem__(self, arg0: mujoco._enums.mjtTimer) -> MjTimerStat:
        ...
    @typing.overload
    def __getitem__(self, arg0: slice) -> _MjTimerStatList:
        ...
    def __len__(self) -> int:
        ...
    def __repr__(self) -> str:
        ...
    @property
    def duration(self) -> numpy.typing.NDArray[numpy.float64]:
        ...
    @property
    def number(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
class _MjWarningStatList:
    __hash__: typing.ClassVar[None] = None
    def __eq__(self, arg0: typing.Any) -> bool:
        ...
    @typing.overload
    def __getitem__(self, arg0: typing.SupportsInt | typing.SupportsIndex) -> MjWarningStat:
        ...
    @typing.overload
    def __getitem__(self, arg0: mujoco._enums.mjtWarning) -> MjWarningStat:
        ...
    @typing.overload
    def __getitem__(self, arg0: slice) -> _MjWarningStatList:
        ...
    def __len__(self) -> int:
        ...
    def __repr__(self) -> str:
        ...
    @property
    def lastinfo(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
    @property
    def number(self) -> numpy.typing.NDArray[numpy.int32]:
        ...
def _recompile_spec_addr(arg0: typing.SupportsInt | typing.SupportsIndex, arg1: MjModel, arg2: MjData) -> tuple:
    ...
def mjv_averageCamera(cam1: MjvGLCamera, cam2: MjvGLCamera) -> MjvGLCamera:
    """
    Return the average of two OpenGL cameras.
    """
