import { BehaviorSubject, Observable } from "rxjs"; import { HttpClient } from "@angular/common/http"; import { Product, Variant } from "../classes/product"; import { ToastrService } from "ngx-toastr"; import { LanguageService } from "./language.service"; import { Router } from "@angular/router"; import { Cart, CartItem } from "../classes/cart"; import { TranslatePipe } from "../pipes/translate.pipe"; import { Area } from "../classes/country"; import { FacebookPixelService } from "./facebookPixel.service"; import { GoogleTagManagerService } from "./google-tag-manager.service"; import { GoogleAnalyticsService } from "./google-analytics.service"; import { ConfService } from "./conf.service"; import { TiktokPixelService } from "./tiktokPixelService"; import * as i0 from "@angular/core"; export declare class CartService { private httpClient; private toastr; private languageService; private router; private translatePipe; private fbService; private tagManagerService; protected confService: ConfService; private analyticService; private tiktok; private cartId; private cardLoading; private cardLoaded; private cart; private cartCounter; private language; private orderSubjectSource; addedToCart: BehaviorSubject; disablePurchase: BehaviorSubject; outOfStock: BehaviorSubject; cartItems: BehaviorSubject; unitAdjustments$: BehaviorSubject<{ type: string; amount: number; }[]>; orderPromoAmonut: number; taxAmount: number; constructor(httpClient: HttpClient, toastr: ToastrService, languageService: LanguageService, router: Router, translatePipe: TranslatePipe, fbService: FacebookPixelService, tagManagerService: GoogleTagManagerService, confService: ConfService, analyticService: GoogleAnalyticsService, tiktok: TiktokPixelService); emptyCartLastStep(notes?: string, orderValue?: number, orderCurrency?: string): void; verifyMpgsPayment(orderId: any, details: any): Observable; emptyCartLastStepOnlinePayment(notes?: string, orderValue?: number, orderCurrency?: string, orderId?: string): void; emptyCartLastStepWeAccept(notes?: string, orderValue?: number, orderCurrency?: string, orderId?: string): void; emptyCartLastStepStripePayment(paymentData: any, cartId: any): void; emptyCartLastStepPayFort(notes?: string, orderValue?: number, orderCurrency?: string): void; emptyCartLastStepAaib(notes?: string, orderValue?: number, orderCurrency?: string): void; emptyCartLastStepKashier(notes?: string, orderValue?: number, orderCurrency?: string, orderId?: string): void; emptyCartLastStepStripe(orderId: any, notes: string, orderValue: number, orderCurrency: string, order: any, sk: any, stripeId: any): void; completeCheckoutStripe(note: any, stripeId: any, sk: any, cartId: any): Observable; checkOrderCompleted(orderId: any): Observable; initializeStripePayment(sk: any, amount: any, currency: any, cartId: any): void; getStripePayment(stripeId: any, order: any): void; /** * Represents the order data that returned from the last step in checkout * @returns order data */ getOrderData(): Observable; completeCheckout(body: any): Observable; checkoutCompleted(): void; addToCart(variant: any, quantity: any, product: any): void; addToCartAddOns(id: number[], quantity: any, product: any): void; removeItem(code: any): void; clearCart(items: any): void; /** * inputs * @param item the item we need to change its quantity * EG: quantity was 3, send quantity value 1 the quantity will be 1 and NOT 4 * * @return void * * @functionality * change the quantity of the selected item and send it to the api * */ changeQuantity(item: CartItem): void; /** * inputs * @variant the variant we are looking to check if exists on the cart or not * output * * !why you return array while you actually in fn return type is opject ?! * TODO: we should fix the return type to match what actually returned * @return [ * 0: index of the cart item and its quantity * 1: item quantity in the cart * ] * or FALSE if this variant doesn't exists * */ checkIfVariantInCart(variant: Variant): boolean | { 0: number; 1: number; }; /** * get the specific variant of this product with these options * @param product the product that we need to search in * @param options the options we need to find the variant based on * @returns variant if found, undefined if not * */ getVariant(product: Product, options: any): Variant; setCartCounter(count: number): void; getCartCounter(): Observable; getCartItems(): Observable; getCart(): Observable; applyCoupon(coupon: string): void; removeCoupon(coupon: string): void; loadCart(): void; getCartDisable(): boolean; manageItemUnits(item: any): void; checkExist(item: any): boolean; validateGeofence(area: any): Observable; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }