import { Transformer } from './interface'; type TColorData = { hue: number; saturation: number; value: number; }; /** * 彩光标准 DP 协议转换器,用于 HSV 色值与设备 DP 十六进制协议的双向转换 * * @public * @since @ray-js/panel-sdk 1.0.0 * @remarks * 适用于灯类产品的彩光控制 DP(如 `colour_data`),将前端 HSV 色值(hue/saturation/value) * 与 12 位十六进制 DP 字符串互转。每个分量占 4 位十六进制(2 字节)。 * * @example * ```ts * import { ColourTransformer } from '@ray-js/panel-sdk'; * * const transformer = new ColourTransformer(); * // 解析 DP 字符串为 HSV 对象 * const hsv = transformer.parser('000003e803e8'); * // => { hue: 0, saturation: 1000, value: 1000 } * * // 将 HSV 对象格式化为 DP 字符串 * const dpStr = transformer.formatter({ hue: 120, saturation: 800, value: 900 }); * // => '007803200384' * ``` */ declare class ColourTransformer implements Transformer { /** * @internal */ defaultValue: TColorData; /** * @internal */ uuid: string; /** * 创建彩光转换器实例 * * @public * @since @ray-js/panel-sdk 1.0.0 * @param uuid - DP 标识符,默认为 `'colour_data'` * @param defaultValue - 默认 HSV 值,当解析失败时返回此值 */ constructor(uuid?: string, defaultValue?: null); /** * 将 DP 十六进制字符串解析为 HSV 色值对象 * * @public * @since @ray-js/panel-sdk 1.0.0 * @param value - 12 位十六进制 DP 字符串(hue 4位 + saturation 4位 + value 4位) * @returns 包含 hue、saturation、value 的色值对象;字符串长度不为 12 时返回默认值 * * @example * ```ts * const hsv = transformer.parser('016803e803e8'); * // => { hue: 360, saturation: 1000, value: 1000 } * ``` */ parser(value: string): { hue: any; saturation: any; value: any; }; /** * 将十进制数值转为指定长度的十六进制字符串 * * @internal * @param value - 十进制数值 * @param length - 目标十六进制字符串长度,默认 4 * @returns 补零后的十六进制字符串 */ to16(value: any, length?: number): string; /** * 将 HSV 色值对象格式化为 DP 十六进制字符串 * * @public * @since @ray-js/panel-sdk 1.0.0 * @param data - 包含 hue、saturation、value 的色值对象 * @returns 12 位十六进制 DP 字符串 * * @example * ```ts * const dpStr = transformer.formatter({ hue: 360, saturation: 1000, value: 1000 }); * // => '016803e803e8' * ``` */ formatter(data: TColorData): string; } export default ColourTransformer;