"""ROS2 trajectory_msgs message definitions.

Auto-generated by scripts/generate_messages.py
Source: https://github.com/ros2/common_interfaces/tree/kilted/trajectory_msgs
"""
from __future__ import annotations

from dataclasses import dataclass, field
from typing import Literal

import pybag.ros2.kilted.builtin_interfaces as builtin_interfaces
import pybag.ros2.kilted.geometry_msgs as geometry_msgs
import pybag.ros2.kilted.std_msgs as std_msgs
import pybag.types as t


@dataclass(kw_only=True)
class JointTrajectoryPoint:
    __msg_name__ = 'trajectory_msgs/msg/JointTrajectoryPoint'

    positions: t.Array[t.float64]
    velocities: t.Array[t.float64]
    accelerations: t.Array[t.float64]
    effort: t.Array[t.float64]
    time_from_start: builtin_interfaces.Duration


@dataclass(kw_only=True)
class MultiDOFJointTrajectoryPoint:
    __msg_name__ = 'trajectory_msgs/msg/MultiDOFJointTrajectoryPoint'

    transforms: t.Array[geometry_msgs.Transform]
    velocities: t.Array[geometry_msgs.Twist]
    accelerations: t.Array[geometry_msgs.Twist]
    time_from_start: builtin_interfaces.Duration


@dataclass(kw_only=True)
class JointTrajectory:
    __msg_name__ = 'trajectory_msgs/msg/JointTrajectory'

    header: std_msgs.Header
    joint_names: t.Array[t.string]
    points: t.Array[JointTrajectoryPoint]


@dataclass(kw_only=True)
class MultiDOFJointTrajectory:
    __msg_name__ = 'trajectory_msgs/msg/MultiDOFJointTrajectory'

    header: std_msgs.Header
    joint_names: t.Array[t.string]
    points: t.Array[MultiDOFJointTrajectoryPoint]
