/** * Message conversion between plain JS objects and rclnodejs typed messages. * * The RosTransport interface works with `Record`, but * rclnodejs works with typed message class instances. This module bridges * the two — analogous to rosbridge_library's `dict_to_msg` / `msg_to_dict`. */ /** * Load a ROS2 message/service/action class via rclnodejs, with caching. */ export declare function loadMessageClass(typeStr: string): any; /** * Convert a plain JS object to an rclnodejs message instance. * * Recursively assigns fields from `obj` onto a new message instance, * handling nested sub-messages (e.g. Twist.linear is a Vector3). */ export declare function toRosMessage(typeStr: string, obj: Record): any; /** * Convert an rclnodejs message instance to a plain JS object. * * Uses `toPlainObject()` if available (rclnodejs >= 0.21), otherwise * falls back to manual recursive field extraction. */ export declare function fromRosMessage(msg: any, rosTypeHint?: string): Record; /** * Clear the type cache. Called during shutdown. */ export declare function clearTypeCache(): void; //# sourceMappingURL=conversion.d.ts.map