import { CartActionRequest, CartCompleteRequest, CartData, CartDiscountRequest, CartUpdateRequest, DeleteCart } from '../types/Cart'; import { OrderData } from '../types/Order'; import { BaseClient } from './BaseClient'; export declare class CartClient extends BaseClient { private readonly accessToken; /** * @ignore */ constructor(accessToken: string); /** * * @param {string} customerId Customer ID * * @param {string} lineItemsBefore * If `data.cart.lineItems.pageInfo.hasPreviousPage` is `true`, then request previous page by passing * `data.cart.lineItems.pageInfo.startCursor` as `lineItemsBefore` parameter. You can also pass `data.cart.lineItems.edges[i].cursor` * as `lineItemsBefore` parameter to get results before that cursor. * * @param {string} lineItemsAfter * If `data.cart.lineItems.pageInfo.hasNextPage` is `true`, then request next page by passing * `data.cart.lineItems.pageInfo.endCursor` as `lineItemsAfter` parameter. You can also pass `data.cart.lineItems.edges[i].cursor` * as `lineItemsAfter` parameter to get results after that cursor. * * @returns {Promise} * Cart object containing maximum `20` line items * To request further line items, use `lineItemsAfter` parameter * To request previous line items, use `lineItemsBefore` parameter. * * Cart object contains `availableShippingRates` key which you can show to your customers so that they can select the * shipping (COD or Prepaid) they would like to avail. Appropriate order charges (items charges + shipping charges) should * be collected from the customer (in case of Prepaid) or shown to the customer (in case of COD - to be collected at the time * of delivery). */ getByCustomerId(customerId: string, lineItemsBefore?: string, lineItemsAfter?: string): Promise; /** * * @param cartActionRequest Object that contains Customer ID, Product variant ID and Product variant quantity * * @returns {Promise} * Cart object containing maximum `20` line items */ addToCart(cartActionRequest: CartActionRequest): Promise; /** * * @param cartActionRequest Object that contains Customer ID, Product variant ID and Product variant quantity * * @returns {Promise} * Cart object containing maximum `20` line items */ deleteFromCart(cartActionRequest: CartActionRequest): Promise; /** * @param id Cart ID * * @param cartUpdateRequest Object that contains 'Customer', 'AddressInput' or 'shippingLineInput' * * @returns {Promise} * Cart object containing maximum `20` line items */ updateById(id: string, cartUpdateRequest: CartUpdateRequest): Promise; /** * @param id Cart ID * * @param cartDiscountRequest Object that contains array of 'DiscountCodeInput' * * @returns {Promise} * Cart object containing maximum `20` line items */ addDiscountById(id: string, cartDiscountRequest: CartDiscountRequest): Promise; /** * @param id Cart ID * * @param cartDiscountRequest Object that contains array of 'DiscountCodeInput' * * @returns {Promise} * Cart object containing maximum `20` line items */ removeDiscountById(id: string, cartDiscountRequest: CartDiscountRequest): Promise; /** * * @param id Cart ID * * @param cartCompleteRequest Object that contains `PaymentInfo` * * @returns {Promise} * Order Object containing maximum `20` line items and each line item containing maximum `10` images */ completeCartById(id: string, cartCompleteRequest: CartCompleteRequest): Promise; /** * @param {string} customerId Customer ID * * @return {Promise} * Cart object contain `Deleted Draft Order ID` */ deleteCartByCustomerId(customerId: string): Promise; }