/**
* 获取关联设备的结构化功能点操作方法集合,需配合 dp-kit 拦截器使用
* @public
* @since @ray-js/panel-sdk 1.16.0
* @returns 结构化操作方法集合,key 为设备标识,value 为该设备的结构化 actions。
* 使用方式与单设备 useStructuredActions 一致
* @typeOverride returns DevicesActions
* @remarks
* 使用前需同时满足:
* 1. 挂载 SdmDevicesProvider 并配置关联设备映射
* 2. 各设备初始化时已配置 dp-kit 拦截器(createDpKit)
* 注意事项:
* 该 Hooks 返回的 actions 方法是对底层 `publishDps` 的封装,调用 actions 并不会导致组件立即重渲染。
* 只有当指令下发成功且设备上报新的 DP 状态时,使用了对应 `useStructuredDevicesProps` 且 `selector` 命中的组件才会被触发重渲染。
* @example 完整链路:配置 dp-kit + 读取 + 下发(以照明 colour_data 为例)
* ```tsx
* // ---- 1. devices/protocols/index.ts:实例化 parser 并映射到 DP code ----
* import { protocols as sdkProtocols } from '@ray-js/panel-sdk';
* import { lampSchemaMap } from '../schema';
*
* export const protocols = {
* [lampSchemaMap.colour_data.code]: new sdkProtocols.ColourTransformer(),
* // ColourTransformer.parser() 返回 { hue, saturation, value } → useStructuredDevicesProps 读
* // ColourTransformer.formatter() 接收 { hue, saturation, value } → useStructuredDevicesActions 写
* };
*
* // ---- 2. devices/index.ts:创建 dpKit 并注入 SmartDevicesManager ----
* import { createDpKit, SmartDevicesManager } from '@ray-js/panel-sdk';
* import { protocols } from '@/devices/protocols';
*
* export const dpKit = createDpKit({ protocols });
* export const deviceManager = new SmartDevicesManager();
*
* // batchAdd 时注入 dp-kit 拦截器
* deviceManager.batchAdd([
* { key: 'lamp1', deviceId: 'xxx_device_id_1', interceptors: dpKit.interceptors },
* { key: 'lamp2', deviceId: 'xxx_device_id_2', interceptors: dpKit.interceptors },
* ]);
*
* // ---- 3. 页面组件:通过 useStructuredDevicesActions 下发结构化数据 ----
* import { View, Text } from '@ray-js/ray';
* import { useStructuredDevicesProps, useStructuredDevicesActions } from '@ray-js/panel-sdk';
*
* export default function ColourControl() {
* // 推荐:精确选用需要的状态,避免无关变化引起无意义渲染
* const colourData = useStructuredDevicesProps(props => props.lamp1?.colour_data);
* const actions = useStructuredDevicesActions();
*
* const setHue = (hue: number) => {
* actions.lamp1?.colour_data.set({ ...colourData, hue });
* };
*
* return (
* setHue(120)}>
* 当前 hue: {colourData?.hue}
* 点击设置 hue 为 120
*
* );
* }
* ```
*/
export declare function useStructuredDevicesActions>(): T;