import { Category, OrderItem, Product, ProductChoice, ProductChoiceGroup, ProductIngredient, ShoppingCart, ShoppingCartItem, ShoppingCartOption } from '../restaurant-manager.models'; import { ApiService } from './api.service'; import { Observable } from 'rxjs'; import { RestaurantService } from './restaurant.service'; export declare class ShoppingCartService { protected apiService: ApiService; protected restaurantService: RestaurantService; shoppingCart: ShoppingCart; constructor(apiService: ApiService, restaurantService: RestaurantService); createNewShoppingCart(): void; getOptions(): Observable; getOptionsByRestaurant(restaurantId: string): Observable; count(): number; save(): void; set(shoppingCartItems: ShoppingCartItem[]): void; add(shoppingCartItem: ShoppingCartItem): void; reorderItemsByCategories(categories: Category[]): void; update(shoppingCartItem: ShoppingCartItem): void; remove(shoppingCartItem: ShoppingCartItem): void; getCountByProductId(productId: string): number; getItems(): ShoppingCartItem[]; total(): number; vat(): number; emptyCart(): void; convertToOrderItem(item: ShoppingCartItem, type?: 'product' | 'menu_item'): OrderItem; isEnabled(c: ProductChoice | ProductIngredient): boolean; enabledChoices(choices: ProductChoice[]): ProductChoice[]; availableChoices(cg: ProductChoiceGroup): ProductChoice[]; hasStocks(c: ProductChoice | ProductIngredient): boolean; createShoppingCartItem(product: Product, category: Category, quantity?: number): ShoppingCartItem; }