import { ActionsSubject } from '@ngrx/store'; import { CartActions } from '@spartacus/core'; import { Observable } from 'rxjs'; import { ProductData, ProductImportInfo } from './import-to-cart.model'; /** * An abstract class for contexts based on cart (active cart, saved cart) which share part of logic - mainly handle cart actions and map results. */ export declare abstract class CartOrderEntriesContext { protected actionsSubject: ActionsSubject; protected constructor(actionsSubject: ActionsSubject); addEntries(products: ProductData[]): Observable; /** * Add products and returns cartId of context cart * * @param { ProductData[] } products * @returns {string} cartId - necessary to get results */ protected abstract add(products: ProductData[]): Observable; /** * Get emission of add entry results from actions subject * * @param {string} cartId * @returns {Observable} */ protected getResults(cartId: string): Observable; /** * Map actions to summary messages * * @param {CartActions.CartAddEntrySuccess | CartActions.CartAddEntryFail} action * @returns ProductImportInfo */ protected mapMessages(action: CartActions.CartAddEntrySuccess | CartActions.CartAddEntryFail): ProductImportInfo; }