import { DpSchema } from '../../types'; import { SmartSupportAbility } from '../abilities'; export interface SupportAbilityMethods { /** 判断设备是否支持指定功能点 */ isSupportDp: (dpCode: string, isForce?: boolean) => boolean; /** 判断设备是否支持白光亮度 */ isSupportBright: (isForce?: boolean) => boolean; /** 判断设备是否支持色温 */ isSupportTemp: (isForce?: boolean) => boolean; /** 判断设备是否支持彩光 */ isSupportColour: (isForce?: boolean) => boolean; /** 判断设备是否支持云端定时 */ isSupportCloudTimer: () => boolean; /** 判断是否支持 Matter 白光 */ isSupportMatterWhite: (force?: boolean) => boolean; /** 判断设备是否已添加到网关下 */ isInGateway: () => boolean; /** 判断当前是否是群组设备 */ isGroupDevice: () => boolean; /** 判断设备是否具有指定的协议能力(入参为 DeviceCapability 枚举值) */ hasCapability: (id: number) => boolean; /** 判断是否是 WiFi 设备 */ isWifiDevice: () => boolean; /** 判断是否是 GPRS 设备 */ isGprsDevice: () => boolean; /** 判断是否是蓝牙 Bluetooth 设备 */ isBluetoothDevice: () => boolean; /** 判断是否是 BLE Mesh 设备 */ isBleMeshDevice: () => boolean; /** 判断是否是 Zigbee 设备 */ isZigbeeDevice: () => boolean; /** 判断是否是 SIG Mesh 设备 */ isSigMeshDevice: () => boolean; /** 判断是否是蓝牙类设备(含 Bluetooth / BLE Mesh / SIG Mesh) */ isBleDevice: () => boolean; /** 判断是否是 Cat.1 设备 */ isCat1Device: () => boolean; /** 判断是否是 Beacon 设备 */ isBeaconDevice: () => boolean; /** 判断是否是 LTE Cat.4 设备 */ isLteCat4Device: () => boolean; /** 判断是否是 LTE Cat.10 设备 */ isLteCat10Device: () => boolean; /** 判断是否是 LTE Cat.M 设备 */ isLteCatMDevice: () => boolean; /** 判断是否是 Thread 设备 */ isThreadDevice: () => boolean; /** 判断是否是 Matter 设备(含涂鸦 Matter 和三方 Matter) */ isMatterDevice: () => boolean; /** 判断是否是涂鸦 Matter 设备(排除三方 Matter) */ isTuyaMatterDevice: () => boolean; /** 判断是否是三方 Matter 设备 */ isTripartiteMatter: () => boolean; } /** * 获取设备能力检测实例,用于判断设备支持的功能与协议 * @public * @since @ray-js/panel-sdk 1.10.0 * @returns SmartSupportAbility 实例对象 * @typeOverride returns SupportAbilityMethods * @remarks * 使用前需同时满足两个条件: * 1. 项目已挂载 SdmProvider * 2. SmartDeviceModel 初始化时已配置 SmartSupportAbility * @example * ```tsx * import { useSupport } from '@ray-js/panel-sdk'; * * function SupportPage() { * const support = useSupport(); * return ( * * {support.isSupportCloudTimer() ? '支持云定时' : '不支持云定时'} * {support.isSupportDp('switch_led') ? '有开关' : '无开关'} * * ); * } * ``` */ export declare function useSupport(): SmartSupportAbility;