import { Event } from "../../../event/core/event"; /** * Product in a cart event. * * @export * @interface CartProduct */ export interface CartProduct { product: string; skuId?: string; quantity: number; } /** * Cart Event data. * * @interface CartEventData */ export interface CartEventData { session?: string; anonymous?: string; } /** * Base Cart Event. * * @export * @abstract * @class CartEvent * @extends {Event} */ export declare abstract class CartEvent extends Event { products: CartProduct[]; /** * Creates an instance of CartEvent. * * @memberof CartEvent * @param {CartEventData} data */ constructor(data?: CartEventData); /** * Add a product to this cart event. * * @param {string} product Product's ID. * @param {number} [quantity=1] Quantity inside the basket. * @param {string} skuId SKU's ID. * @return {CartEvent} * @memberof CartEvent */ withProduct(product: string, quantity?: number, skuId?: string): CartEvent; /** * Add multiple product's to this cart event. * * @param {CartProduct[]} products All the products to be added. * @return {CartEvent} * @memberof CartEvent */ withProducts(products: CartProduct[]): CartEvent; }