import { HttpClient } from '@angular/common/http'; import { BehaviorSubject, Subject, Observable, Subscription } from 'rxjs'; import { Router } from '@angular/router'; import { TimeSlot } from '../models/timeSlot.modal'; import { PaymentMethodRoot } from '../models/paymentmethods.modal'; import { FormGroup } from '@angular/forms'; import { ConfService } from '../../services/conf.service'; import { FacebookPixelService } from '../../services/facebookPixel.service'; import { GoogleAnalyticsService } from '../../services/google-analytics.service'; import * as i0 from "@angular/core"; export declare class CheckoutService { private http; private router; private confService; private fbService; private analyticService; private tiktok; errorMsgPayFort: BehaviorSubject; errorMsgAaib: BehaviorSubject; nextStep: Subject; fullData: Subject<{}>; hideNextButtonSubject: Subject; private checkCheckoutStateSubject; storeIdentitySubscription: Subscription; checkoutStateSource: Observable; private cartId; private orderPlacedSubject; checkoutData: Subject; orderPlacedSource: Observable<{}>; checkToAddNewAddress: BehaviorSubject; isCheckToSaveAddress: Observable; constructor(http: HttpClient, router: Router, confService: ConfService, fbService: FacebookPixelService, analyticService: GoogleAnalyticsService, tiktok: GoogleAnalyticsService); /** * Represent the countries that will be displayed in the checkout addressing * @returns the countries From Api */ getCountriesFromApi(): Observable; /** * Represent the cities that will be displayed in the checkout addressing * @returns the cities From Api */ getCitiesFromApi(countryId: number): Observable; /** * Represent the areas that will be displayed in the checkout addressing * @returns the areas From Api */ getAreasFromApi(cityId: number): Observable; /** * represent the countries that has cities and provinces */ getCountriesCitiesProvinces(): Observable; /** * Represents the old address * @returns the old address if the type of the end user is USER */ selectOldAddressing(): Observable; /** * Represents the addressing info for the end user in checkout details * @returns return {} * message: "A cart updated successfully" * status: "success" */ sendShippingAddressing(body: any): Observable>; /** * Represents the shipping methods from api that will display in the checkout shipping * @returns the shipping methods */ getShippingMethods(): Observable; handleError(error: any): Observable; /** * Represents the shipping methods from api that will display in the checkout shipping * @param methodCode the shipping method that will be selected from the end user * @returns the shipping methods */ selectShippingMethod(methodCode: any): Observable>; /** * Represents the payment methos that will be displayed in the payment page * @returns the payment methods */ getPaymentsMethodsFromApi(): Observable; /** * Represents the payment methos that will be displayed in the payment page. * @param paymentCode the payment code that will be selected by the end user. * @returns the payment methods. */ selectPaymentMethod(paymentCode: any, paynow: boolean): Observable>; upgSuccess(data: any): Observable; payFortMethod(payFortData: {}): Observable; /** * Represents the full checkout data from Api. * @returns checkout data. */ getFullyCheckoutData(): Observable<{}>; getCheckoutData(): Observable<{}>; getShippingData(): Observable<{}>; /** * Represents the next step for checkout. * @returns the next page of checkout page. */ getNextStep(active: any): Observable; /** * Represents the nagivation to top of the checkout pages. * @returns the top of the page. */ nagivateTop(): void; /** * Represents the nagivation to top of the checkout pages. * @param orders this is the checkout data; * @param adjustments this will represent the final adjustments * @returns the adjustment from the checkout data. */ getItemsAdjustment(orders: any, adjustments: any[]): Set; /** * Represents the summary of the checkout. * @param orders this is the checkout data; * @param orderSummary this will represent the final adjustments * @returns the summary of the checkout */ getOrderSummary(orders: any, orderSummary: any): any; saveOrderInfo(order: any): void; /** * Represents the checkout data from the api. * @returns the checkout data from the api */ private getFullyCheckoutDataFromApi; getOrder(orderId: any): Observable; getStoreInfo(): Observable; /** * @Todo get the avaliable time slot */ getTimeSlotsFromApi(): Observable; /** * @Todo send time slot to api * @param order_id * @param selected_date * @param selected_time * @param selectedDayName */ getCart(): Observable; sendTimeSlotsToApi(order_id: number, selected_date: string, selected_time: string, selectedDayName: string): Observable; setShippingAddressData(formName: FormGroup, value: any): void; setBillingAddressData(formName: FormGroup, value: any): void; kashierChecker(data: any): Observable; getPhoneNumberWithoutKey(phoneKey: string, phoneNumber: string): string; separateFloor(street: any): any; downloadInvoice(url: string): Observable; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }