import { Component } from "react";
import "./index.less";
interface CampaignItemProps {
    campaignItem: any;
    choseShop: any;
    onDelItem: (any: any) => {};
    onLikeItem: (any: any) => {};
    onCartItemChange: any;
    onChooseGift: any;
    shopId: any;
}
interface CampaignItemState {
    campaignInfo: any;
    itemList: Array<any>;
}
/**
 * @class CampaignItem
 * 一个满系活动，包含其中的商品
 */
export declare class CampaignItem extends Component<CampaignItemProps, CampaignItemState> {
    constructor(props: any);
    componentWillReceiveProps(nextProps: any): void;
    /**
   * @method composeItemCampaignList
   * @param campaignList {Array} 商品的营销活动数组
   * 组装商品的营销活动选择列表
   */
    private composeItemCampaignList;
    private changeItemCampaign;
    /**
   * @method itemSpecPopoverChange
   * 把商品上已经选中的参数同步到备选参数数组中去。
   * @param visible 弹出框当前的可见状态
   * @param item 商品条目
   */
    private itemSpecPopoverChange;
    /**
     * @method chooseItemSpec
     * 修改商品参数
     * @param val
     * @param attr
     */
    private chooseItemSpec;
    /**
     * @method commitItemSpecChange
     * 点OK正式修改商品属性
     * @param item
     */
    private commitItemSpecChange;
    /***
     * @method composeAttrOptions
     * 组装编辑商品属性的弹出框
     * @param item 商品
     */
    private composeAttrOptions;
    private updateTotalAmount;
    private deleteItem;
    private likeItem;
    private triggerCartItemChange;
    choseAll(status: any): void;
    /**
     * @method setItemCheckStates 设置单个商品的选中和反选状态
     * @param item
     */
    private setItemCheckStates;
    /**
     * @method getItemStateAll
     * 获取所有商品的状态，暴露给外部调用方。
     */
    getItemStateAll(): string;
    /**
     * @determinItemStyle
     * 根据商品的属性决定背景样式
     * @param item
     */
    determinItemStyle(item: any): string;
    /**
     * @determinGiftStyle
     * 根据赠品的属性决定背景样式
     * @param item
     */
    determinGiftStyle(item: any): string;
    giftElement: (gift: any) => JSX.Element;
    chooseGift(e: any): void;
    renderGift(): JSX.Element;
    render(): JSX.Element;
}
interface CartItemProps {
    cartItem: any;
    dropDownCoupon: (any: any) => {};
    onCollectCoupon: (any: any) => {};
    onDelItem: (any: any) => {};
    onLikeItem: (any: any) => {};
    onCartItemChange: (any: any) => {};
    onChooseGift: any;
}
interface CartItemState {
    shopInfo: any;
    campaigns: Array<any>;
}
/**
 * @class CartItem
 * 购物车中的一个店铺，包含满系活动和产品条目，此组件界面和数据结构都比较复杂，状态全部由组件自己管理。
 */
export default class CartItem extends Component<CartItemProps, CartItemState> {
    constructor(props: any);
    componentWillReceiveProps(nextProps: any): void;
    choseShop(val: any): void;
    /**
     * @method composeShopCoupons
     * 组装店铺级的优惠券结构
     */
    private composeShopCoupons;
    /**
     * @determinShopStyle
     * 根据店铺的属性决定背景样式
     * @param item
     */
    determinShopStyle(shopInfo: any): string;
    /**
     * @method setCheckStatusAll 设置全部商品的选中状态
     */
    private setCheckStatusAll;
    cartItemChange(val: any): void;
    render(): JSX.Element;
}
export {};
