import type { V4DeviceDescriptor, V4DeviceInfo, V4SlotPatch } from './types'; export declare class V4Client { readonly clientId: string; devices: V4DeviceInfo[]; constructor(clientId: string, devices?: V4DeviceInfo[]); /** * 获取设备 * @param slotId 设备 ID */ getDevice(slotId: string): V4DeviceInfo | undefined; /** * 分发被控方上行数据并同步设备列表 * @param data 上行数据 * @return 是否产生设备列表变更 */ dispatch(data: unknown): boolean; /** * 替换全部设备 * @param devices 设备列表 */ replaceDevices(devices: (V4DeviceDescriptor | V4DeviceInfo)[]): void; /** * 新增或替换设备 * @param device 设备信息 */ upsertDevice(device: V4DeviceInfo): void; /** * 移除设备 * @param slotId 设备 ID */ removeDevice(slotId: string): void; /** * 增量更新设备列表 * @param added 新增或替换的设备 * @param removed 移除的设备 ID */ patchDevices(added: V4DeviceInfo[], removed: string[]): void; /** * 增量更新插槽状态 * @param slots 插槽增量列表 */ patchSlots(slots: V4SlotPatch[]): void; /** * 销毁连接状态 */ destroy(): void; private updateDevicesFromEvent; private updateDevicesFromResponse; private findDeviceIndex; private static isRpcResponse; private static isEventPayload; private static hasDevicesResult; private mergePatch; }