import { InitDpStateInterceptor, InitDpStateInterceptorParams } from '../../types/interceptors'; /** * `initMatterDpStateInterceptor` 工厂的可选配置(非文档站单独页面;与 `createMatterKit` 内部同源)。 * @since 1.15.0 * @example * ```ts * const opts = { * shouldConvert: (p: { action: string }) => p.action === 'init', * debug: false, * }; * ``` */ export interface InitMatterDpStateInterceptorOps { /** * 是否在拦截链路中对本次 DP 做 Matter → 标准换算。 * @param params - `InitDpStateInterceptorParams` * @example * ```ts * (params) => params.action === 'init' || params.action === 'onDpDataChange'; * ``` * @returns {boolean} 是否换算 */ shouldConvert?: (params: InitDpStateInterceptorParams) => boolean; /** * 是否打印 matter-kit DP 状态转换调试日志。 * @example * ```ts * { debug: true }; * ``` */ debug?: boolean; } /** * 将 Matter DP 状态映射为标准 DP 状态(上报 / 合并场景:matterDpState → standardDpState)。 * @public * @since 1.15.0 * @param dpState - 当前完整 DP 状态 * @param updateDpState - 本次变更涉及的 DP 子集,用于判断需转换的键 * @param dpSchema - dpSchema 对象 * @param shouldConvert - 是否做数值换算;默认 `true`(与拦截器内 `shouldConvert` 语义配合) * @example * ```ts * import { createMatterKit } from '@ray-js/panel-sdk'; * * const matterKit = createMatterKit(); * const next = matterKit.mapMatterDpState(dpState, updateDpState, dpSchema); * ``` * @returns {Record} 转换后的 DP 状态 */ export declare const mapMatterDpState: (dpState: Record, updateDpState: Record, dpSchema: Record, shouldConvert?: boolean) => { [x: string]: any; }; /** * 创建 matter-kit 的 `initDpState` 拦截器,在初始化与 DP 变更时把 Matter DP 转为标准 DP。 * @public * @since 1.15.0 * @param opts - 拦截器选项:`shouldConvert` 控制是否做数值换算(默认在 `init` / `onDpDataChange` 时换算),`debug` 输出调试日志 * @example * ```ts * import { createMatterKit } from '@ray-js/panel-sdk'; * * const matterKit = createMatterKit({ debug: false }); * const interceptor = matterKit.matterDpStateInterceptor; * ``` * @returns {InitDpStateInterceptor} SDM `initDpState` 拦截器 */ export declare function initMatterDpStateInterceptor(opts?: InitMatterDpStateInterceptorOps): InitDpStateInterceptor;