import type { ScalePricedProduct } from './types'; interface SkuValueLike { product_variant_id?: number | null; } interface UseWeighingParams { /** 商品数据,含 variant[] 及根级 open_sold_weight / unit / unit_value / base_price */ productData: unknown; /** * 当前生效的 sku 值(activeSkuValue)。 * product_variant_id 变化时 hook 会重新定位对应 variant。 */ skuValue: SkuValueLike; } interface UseWeighingResult { /** * 当前 variant(或商品根级)是否为称重商品。 * 对应字段 open_sold_weight === 1。 */ isWeighingProduct: boolean; /** * 称重商品的计价配置。 * 形状与 nativeScaleTools.calculateScaleItemTotal 所需的 ScalePricedProduct 对齐: * `{ unit, unit_value, price(=base_price) }`。 */ scalePriceProduct?: ScalePricedProduct; } /** * 推导当前选中 variant(或商品根级)的称重状态及计价所需配置。 * * 价格来源规则(对齐 getSelectedUnitPrice): * - 有 variant:取 variant.base_price ?? variant.original_price * - 无 variant:取 productData.base_price ?? productData._extend?.price */ export declare const useWeighing: ({ productData, skuValue, }: UseWeighingParams) => UseWeighingResult; export {};