import { OnInit, TemplateRef, ElementRef, OnDestroy } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; import { BsModalService } from 'ngx-bootstrap/modal'; import { TabsetComponent } from 'ngx-bootstrap/tabs'; import { ToastrService } from 'ngx-toastr'; import { BreadcrumbService, CartService, CheckoutService, CompareService, ConfService, LanguageService, LoginService, ProductService, WishListService } from '../../../../services'; import { CartItem, Product, Review, Variant } from '../../../../classes'; import { Observable, Subscription } from 'rxjs'; import { FormArray, FormBuilder, FormGroup } from '@angular/forms'; import { Location } from '@angular/common'; import { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service'; import { TranslatePipe } from '../../../pipes/translate.pipe'; import { Meta, Title } from '@angular/platform-browser'; import { StoreIdentity } from '../../../classes/store-identity'; import { GoogleAnalyticsService } from '../../../services/google-analytics.service'; import { AddOnsModel } from '../../../classes/addOns'; import * as i0 from "@angular/core"; export declare class ProductAddonsBaseComponent implements OnInit, OnDestroy { protected route: ActivatedRoute; protected languageService: LanguageService; protected productDetailsService: ProductService; cartService: CartService; protected wishlistService: WishListService; protected compareService: CompareService; protected breadcrumbService: BreadcrumbService; protected translatePipe: TranslatePipe; protected loginService: LoginService; protected formBuilder: FormBuilder; protected modalService: BsModalService; protected location: Location; private toastr; protected titleService: Title; protected meta: Meta; protected confService: ConfService; protected router: Router; protected googleAnalyticsService: GoogleAnalyticsService; protected langaugeService: LanguageService; private checkoutService; constructor(route: ActivatedRoute, languageService: LanguageService, productDetailsService: ProductService, cartService: CartService, wishlistService: WishListService, compareService: CompareService, breadcrumbService: BreadcrumbService, translatePipe: TranslatePipe, loginService: LoginService, formBuilder: FormBuilder, modalService: BsModalService, location: Location, toastr: ToastrService, titleService: Title, meta: Meta, confService: ConfService, router: Router, googleAnalyticsService: GoogleAnalyticsService, langaugeService: LanguageService, checkoutService: CheckoutService); get sellingPoints(): FormArray; modalRef: BsModalRef; defaultPrice: boolean; choices: any[]; showAddtoCartOrPlaceHolder?: boolean; storeid: Subscription; isDisabled: boolean; addonsLength: number; carouselOptions: { margin: number; items: number; autoplayHoverPause: boolean; dots: boolean; nav: boolean; navSpeed: number; autoplaySpeed: number; slideTransition: string; }; bestsellersOption: { items: number; responsive: { 0: { stagePadding: number; items: number; nav: boolean; dots: boolean; }; 576: { stagePadding: number; items: number; nav: boolean; dots: boolean; }; 768: { items: number; nav: boolean; dots: boolean; }; 992: { items: number; nav: boolean; dots: boolean; }; }; }; SamirCustomOption: { margin: number; stagePadding: number; responsive: { 0: { stagePadding: number; items: number; dost: boolean; nav: boolean; margin: number; }; 576: { stagePadding: number; items: number; dost: boolean; nav: boolean; margin: number; }; 768: { stagePadding: number; items: number; dots: boolean; nav: boolean; }; 992: { items: number; dots: boolean; nav: boolean; }; 1024: { items: number; dots: boolean; nav: boolean; }; 1100: { items: number; dots: boolean; nav: boolean; }; }; }; thumbnialOptions: { items: number; margin: number; navSpeed: number; autoplaySpeed: number; responsive: { 0: { items: number; }; 576: { items: number; }; 768: { items: number; }; 991: { items: number; }; 1199: { items: number; }; }; }; OwlCustom_3: { margin: number; stagePadding: number; responsive: { 0: { stagePadding: number; items: number; dost: boolean; nav: boolean; margin: number; }; 576: { stagePadding: number; items: number; dost: boolean; nav: boolean; margin: number; }; 768: { stagePadding: number; items: number; margin: number; dots: boolean; nav: boolean; }; 992: { items: number; dots: boolean; nav: boolean; }; 1024: { items: number; dots: boolean; nav: boolean; }; 1100: { items: number; dots: boolean; nav: boolean; }; }; }; language: {}; cartItems: CartItem[]; selectedOption: {}; percent: number; thisImage: HTMLImageElement; staticTabs: TabsetComponent; product: Product; productInput: Product; reviews$: Observable; simple: boolean; max: number; quantity: number; options: {}; prices: any; price: number; variant: any; src: any; variantExists: boolean; cartId: number; fav: Observable; compare: Observable; canAddToCart: boolean; variantUndefined: boolean; disableQuantity: boolean; imageUrl: string; defaultImage: string; maxRate: number; rate: number; rating: number; logged$: Observable; reviewForm: FormGroup; email: string; slug: string; actualCode: string; selectedVariant: Variant; wishListFeature$: Observable; compareFeature$: Observable; reviewsFeature$: Observable; Addons: AddOnsModel[]; store$: Observable; myStore: StoreIdentity; storeSubscription: Subscription; lastPrice: any[]; lastindex: any[]; private childreenBreadcrumbs; defaultVariantCode: string; notFound: boolean; imgIsLoaded: boolean; productSubscription: Subscription; showDetails: boolean; languageUrl: string; toggleHeight: boolean; AddonsForm: FormGroup; increment: number; imagePath: string; highImage: string; mediumImage: string; lowImage: string; addonsUndfined: boolean; totalMalePrice: number; thumbnailWrapper: ElementRef; currencyCode: string; formAddons: FormGroup; optansArray: FormArray; mealname: string; lastRqc: any; id: number; store: Subscription; prego: boolean; kfc: boolean; ngOnInit(): void; openModal(template_: TemplateRef): void; quantityChanged(): void; quantityChange(event: Event): number; slideThumbnail(clickedArrow: Event): void; optionChanged(code: any, value: any): void; manageVariant(): void; addToCart(): void; handleEasyZoom(): void; toggleEasyZoom(): void; ngOnDestroy(): void; rateChange(rate: any): void; submitReview(): void; changeCarouselOptions(options?: object, extras?: object): { rtl: boolean; margin: number; items: number; autoplayHoverPause: boolean; dots: boolean; nav: boolean; navSpeed: number; autoplaySpeed: number; slideTransition: string; }; goBack(): void; protected getReview(): void; protected handleBreadcrumb(): void; protected getTaxonName(): any; protected getTaxonChildName(): void; protected getTaxonParams(): any; protected autoSelect(): void; manageProduct(product: any): void; private containsObject; toggleShow(): void; toggleDescriptionHeight(): void; toggleShowElement(element: HTMLElement): void; toggleProperties(): void; isCombinationCheck(product: any): void; AddonsChecker(product: any): void; AddonsSetup(addons: AddOnsModel[]): void; collectChooes(val: any, checked: boolean, index: any, addName: any, ctrIndex: any, optional: any, mul: any): void; checkCombinationPrice(val: any, operation: any, mul: boolean, index: any): void; validatorCheck(): boolean; validateRequiredOptionsCheck(add: any): number; generatArrays(length: number): void; downloadCatalogue(): void; download(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }