import { TareOption, WeightUnit } from './types'; import type { SkuValue as SkuValueBase } from '../../../../plus/skuOptionsSelection/types'; export declare const CUSTOM_TARE_STORAGE_KEY = "pisell-weighing-custom-tares"; export declare const DEFAULT_TARE_STORAGE_KEY = "pisell-weighing-default-tare"; /** 插件返回 3 位小数精度,展示与其保持一致。 */ export declare const formatWeight: (value: number) => string; /** @param symbol 货币符号,默认 '$' */ export declare const formatMoney: (value: number, symbol?: string) => string; export declare const getScaleTag: (status: string, error: string) => "Error" | "Stable" | "Unstable" | "Overload" | "Listening"; /** 过滤非数字字符,保证只有一个小数点。 */ export declare const sanitizeManualWeight: (value: string) => string; /** * 为 initialValue.tare 还原项生成确定性 ID,保证 customTareOptions 初始化与 * selectedTare 初始化使用同一个 ID,不需要在两处传递中间状态。 */ export declare const getRestoredTareId: (tare: { label: string; value: number; }) => string; export declare const readCustomTares: () => TareOption[]; export declare const readDefaultTareId: () => string | undefined; export declare const PRODUCT_TARE_MAP_KEY = "pisell-weighing-product-tare-map"; /** * 构造商品 + 规格的皮重偏好存储 key。 * 无 variantId 时 key 形如 `{productId}:`,有 variantId 时形如 `{productId}:{variantId}`。 */ export declare const getProductTareKey: (productId: number, variantId?: number | null) => string; /** * 读取商品皮重偏好映射表(productKey → tareId)。 */ export declare const readProductTareMap: () => Record; /** * 保存某个商品 + 规格的皮重偏好。 */ export declare const saveProductTarePref: (productKey: string, tareId: string) => void; /** 每种重量单位对应的展示缩写。 */ export declare const UNIT_LABEL: Record; /** * 判断商品是否为称重商品(按重量计价,依赖秤读数结算)。 * 对应后台字段 open_sold_weight === 1。 */ export declare const isWeighingProduct: (productData: unknown) => boolean; /** * 按 variantId 在 productData.variant[] 中定位当前选中的 variant, * 若存在则返回 variant 级数据,否则降级到商品根级。 * * 用于称重相关字段(open_sold_weight / unit / unit_value)的数据源解析, * 确保多规格商品中每个 variant 可以独立配置称重信息。 */ export declare const resolveWeighingSource: (productData: unknown, variantId?: number | null) => Record; export declare const getWeighedUnitPrice: (params: { weighedTotalAmount: number; productData: unknown; skuValue: SkuValueBase; }) => number;