/**
 * @title: 格式化购物车列表
 * @description:
 * @param {any} state
 * @return {*}
 * @Author: WangHan
 * @Date: 2024-11-28 16:52
 */
export declare const formatCartList: (state: any) => any;
/**
 * @title: 是否是空页面
 * @description:
 * @param {any} state
 * @return {*}
 * @Author: WangHan
 * @Date: 2024-11-28 16:47
 */
export declare const isEmptyStatus: (state: any) => boolean;
/**
 * @title: 是否是商品列表页面
 * @description:
 * @param {any} state
 * @return {*}
 * @Author: WangHan
 * @Date: 2024-11-28 17:23
 */
export declare const isProductList: (state: any) => boolean;
/**
 * @title: 格式化数据最终结果
 * @description:
 * @param {any} state
 * @return {*}
 * @Author: WangHan
 * @Date: 2024-11-28 18:35
 */
export declare const formatState: (state: any) => {
    isEmpty: boolean;
    isProductList: boolean;
    carts: any;
};
/**
 * @title: 更新商品
 * @description:
 * @param {any} newState
 * @param {any} state
 * @return {*}
 * @Author: WangHan
 * @Date: 2024-11-28 22:30
 */
export declare const updateProduct: (state: any, newProducts: any[]) => {
    products: any[];
    carts: any;
};
/**
 * @title: 格式化服务
 * @description:
 * @param {any} service
 * @param {number} id holder_id
 * @return {*}
 * @Author: WangHan
 * @Date: 2024-12-09 22:47
 */
export declare const formatService: (service: any[], id: number) => any[];
/**
 * 格式化商品列表：合并相同 product_id 的商品，将 product_variant_id 设置为数组
 * @param products - 原始商品列表
 * @returns 格式化后的商品列表
 */
export declare const formatProductsByVariant: (products: any[]) => any[];
/**
 * @description: 赠品将商品价格设置为0
 * @param {any} product
 * @return {*}
 */
declare const isGiftProductPrice: (product: any) => {
    price: number;
    origin_price: any;
    total: number;
    origin_total: any;
    base_price: number;
    _isGift: boolean;
};
/**
 * @description: 将赠品的组合规格的价格设置为0
 * @param {any} variant
 * @return {*}
 */
export declare const giftVariants: (variant: any[]) => any[];
/**
 * @description: 批量转换商品列表数据
 * @param {any[]} products - 商品列表
 * @param {boolean} isGift - 是否为赠品
 * @param {any[]} selectedOriginGifts - 已选择的赠品列表（用于回填数据）
 * @return {any[]} 转换后的商品列表
 */
declare const transformInitProductLists: (products: any[], isGift?: boolean, selectedOriginGifts?: any[]) => any[];
declare const transformSkuValue: (skuValue: any) => any;
/**
 * @description: 弹窗最大可选择数量
 * @param {any} currentItem
 * @return {*}
 */
export declare const getMaxAvailableCount: (currentItem: any) => any;
/**
 * @description: 计算当前商品编辑弹窗最大可选数量
 * @param {any} product 当前商品
 * @param {any[]} selected 已选择商品
 * @param {any} currentItem 当前配置信息
 * @param {boolean} isFilterCurrentProduct 是否过滤当前商品
 * @return {*}
 */
export declare const getCurrentMaxProductCount: (product: any, selected: any[], currentItem: any, isFilterCurrentProduct?: boolean) => any;
/**
 * @description: 格式化商品列表数据
 * @param {any} products 商品列表
 * @param {any} currentItem 当前配置信息
 * @return {*}
 */
export declare const formatProductDatas: (products: any[], currentItem: any, selected: any[]) => any[];
declare const updateProductInList: (props: any) => {
    originProducts: any;
    cartProducts?: undefined;
} | {
    originProducts: never[];
    cartProducts: never[];
};
declare const formatCartProducts: (props: any) => any[];
/**
 * @description: 检查商品是否需要选择规格
 * @param {any} product - 商品数据
 * @return {boolean} 是否需要选择规格
 */
declare const isProductNeedSku: (product: any) => boolean;
/**
 * @description: 从商品列表中查找商品
 * @param {any[]} products - 商品列表
 * @param {string} productId - 商品 ID
 * @return {any} 找到的商品或 undefined
 */
declare const findProductById: (products: any[], productId: any) => any;
/**
 * @description: 从列表中查找匹配的商品
 */
declare const findMatchedProductFromList: (products: any[], targetProduct: any) => any;
/**
 * @description: 提取并标准化商品的 product_variant_id 为数组
 */
declare const extractVariantIds: (product: any) => number[];
/**
 * @description: 根据允许的规格ID列表过滤商品的 variant 数据
 */
declare const filterProductVariants: (product: any, allowedVariantIds: number[]) => any;
/**
 * @description: 根据过滤后的 variant 重新生成 variant_group
 */
declare const filterVariantGroupByVariants: (product: any) => any;
/**
 * @description: 根据列表数据中找到匹配的商品，并提取允许的规格 ID
 */
declare const filterProductByPromotionRules: (product: any, currentItem: any) => any;
/**
 * @description: 根据 selected ID(s) 从 products 中查找对应的商品
 * @param {any[]} products - 商品列表
 * @param {string | string[]} selected - 选中的商品 ID 或 ID 数组
 * @return {any[]} 匹配的商品数组
 */
declare const findSelectedProductsFromList: (products: any[], selected: string | string[]) => any[];
/**
 * @description: 设置赠品discount_list数据
 * @param {any} product
 * @param {any} strategyName
 * @return {*}
 */
declare const formatDiscountLists: (product: any, strategyName: any) => {
    type: string;
    amount: number;
    discount: {
        original_amount: number;
        fixed_amount: number;
        title: any;
        resource_id: string;
    };
}[];
declare const getPureSourceProductId: (sourceProductId: string) => string;
export { isGiftProductPrice, transformInitProductLists, transformSkuValue, updateProductInList, isProductNeedSku, findProductById, findMatchedProductFromList, extractVariantIds, filterProductVariants, filterVariantGroupByVariants, filterProductByPromotionRules, findSelectedProductsFromList, formatDiscountLists, formatCartProducts, getPureSourceProductId };
