import { ApiProvider } from '../../services/api/api.provider'; import { Subject } from 'rxjs/Subject'; import { Cart, CartItem } from './cart'; import 'rxjs/add/operator/map'; export declare class CartsProvider { apiProvider: ApiProvider; carts: Cart[]; currentCart: Cart; cartObservable: Subject; cartsObservable: Subject; constructor(apiProvider: ApiProvider); cartState(result: Cart): void; emptyCart(tenantId?: any, storeId?: any): { '__v': string; 'userId': string; 'storeId': any; 'tenantId': any; 'id': string; 'created': string; 'status': string; 'items': any[]; 'numItems': number; 'total': number; }; create(tenantId: string, storeId: string, userId: string): Promise<{}>; retrieve(cartId: string): Promise<{}>; retrieveAllCarts(tenantId?: string, storeId?: string): Promise<{}>; retrieveByUser(tenantId: string, userId: string): Promise<{}>; retrieveByUserAndStore(tenantId: string, storeId: string, userId: string): Promise<{}>; addItem(cartId: string, product: CartItem): Promise<{}>; update(tenantId: string, storeId: string, userId: string, cartId: string, tableId?: string): Promise<{}>; delete(cartId: string): Promise<{}>; changeStatus(cartId: string): Promise<{}>; paid(cartId: string): Promise<{}>; retrieveItem(cartId: string, productId: string): Promise<{}>; updateCartItem(cartId: string, productId: string, updatedProduct: CartItem): Promise<{}>; deleteItem(cartId: string, productId: string): Promise<{}>; deleteAllItems(cartId: string): Promise<{}>; deserializeCarts(incoming: any): Cart[]; }