import { publishDps } from '../../kit'; import SmartDeviceModel from '../SmartDeviceModel'; import { GroupDpDataChangeParams, GroupInfoChangeParams, ReadonlyDpSchemaList, DpDataChangeParams, DeviceOnlineStatusUpdateParams, DeviceInfoUpdatedParams, NetworkStatusChangeParams, BluetoothAdapterStatusChangeParams, GetSmartDeviceModelDevInfo } from './SdmModel'; import { log } from '../utils/log'; type Context = { /** * 类型 */ type: string; /** * 日志 */ log: typeof log; /** * 实例 */ instance: SmartDeviceModel; }; export type Interceptor = (context: Context) => (next: (params: P) => any) => (data: NP) => any; export type PublishDpsInterceptor> = (context: Context) => (next: (...params: P) => any) => (...params: Parameters) => any; export type OnDpDataChangeInterceptor = Interceptor; export type OnDeviceOnlineStatusUpdateInterceptor = Interceptor; export type OnDeviceInfoUpdatedInterceptor = Interceptor; export type OnNetworkStatusChangeInterceptor = Interceptor; export type OnBluetoothAdapterStateChangeInterceptor = Interceptor; export type OnGroupDpDataChangeInterceptor = Interceptor; export type OnGroupInfoChangeInterceptor = Interceptor; export type InitDpStateInterceptorAction = 'init' | 'onDpDataChange' | 'onDeviceInfoUpdated' | 'dp-kit'; export type InitDpStateInterceptorParams = { /** * 当前设备功能点状态 */ dpState: Record; /** * 新的设备功能点状态 */ newDpState: Record; /** * 拦截器动作 */ action: InitDpStateInterceptorAction; }; export type InitDpStateInterceptor = Interceptor; export type InitDevInfoInterceptorAction = 'init' | 'onDeviceInfoUpdated' | 'onDeviceOnlineStatusUpdate' | 'onGroupInfoUpdated'; /** * @typeOverride devInfo DevInfo */ export type InitDevInfoInterceptor; action: InitDevInfoInterceptorAction; }> = Interceptor; action: InitDevInfoInterceptorAction; }>; export {};