import { ElementRef, Renderer2, TemplateRef } from '@angular/core';
import { ProductDescModal, ProductDescStylesModal } from './product-desc.modal';
import { ItemImage, ItemVariant, Product } from '../../styles/product.modal';
import { BackgroundModel, ButtonModel, LayOutModel } from '../../../styles/style.model';
import BaseSection from '../../../sections/BaseSection';
import { EventsService } from '.././../../services/events.service';
import { ActivatedRoute, Router } from '@angular/router';
import { RestService } from '../../../services/rest.service';
import { CartService } from '../../../services/cart.service';
import { FeaturedProductModal } from '../featured-products/featured-products.modal';
import { StorageServiceService } from '../../../services/storage.service';
import { MenuItem, MessageService } from 'primeng/api';
import { Meta, Title } from '@angular/platform-browser';
import { MatDialog } from '@angular/material/dialog';
import { MatBottomSheet } from '@angular/material/bottom-sheet';
import { CustomerReviewComponent } from '../../sections/customer-review/customer-review.component';
import { AnalyticsService } from '../../../services/analytics.service';
import * as i0 from "@angular/core";
export declare class ProductDescComponent extends BaseSection {
    private platformId;
    private readonly _eventService;
    private readonly router;
    private readonly activatedRoute;
    private readonly restService;
    private readonly cartService;
    private readonly storageService;
    private readonly messageService;
    private readonly metaTagService;
    private readonly titleService;
    private readonly bottomSheet;
    private renderer;
    private matDialog;
    private analyticsService;
    reviewComponent: CustomerReviewComponent;
    aboveHeight: ElementRef<HTMLDivElement>;
    container: ElementRef<HTMLDivElement>;
    imageSection: ElementRef<HTMLDivElement>;
    detailSection: ElementRef<HTMLDivElement>;
    data?: ProductDescModal;
    responseData: Product;
    index?: number;
    edit?: boolean;
    delete?: boolean;
    customClass?: string;
    nextComponentColor?: BackgroundModel;
    isLoading: boolean;
    featureProductData: FeaturedProductModal | null;
    recentViewedData: FeaturedProductModal | null;
    varients: Map<string, string[]>;
    selectedVarient: Map<string, string>;
    relatedProductData: Product[];
    productReview: number;
    totalReview: number;
    showReview: boolean;
    selectedReview: any;
    currentImageIndex: number;
    constructor(platformId: Object, _eventService: EventsService, router: Router, activatedRoute: ActivatedRoute, restService: RestService, cartService: CartService, storageService: StorageServiceService, messageService: MessageService, metaTagService: Meta, titleService: Title, bottomSheet: MatBottomSheet, renderer: Renderer2, matDialog: MatDialog, analyticsService: AnalyticsService);
    buttonId?: string;
    button?: ButtonModel;
    styles?: ProductDescStylesModal;
    subIndustryName: string;
    isItemAsFavorite: boolean;
    isItemAddedAsTrial: boolean;
    private USER_CART;
    private USER_WISHLIST;
    itemImages: ItemImage[];
    items: MenuItem[] | null;
    businessDetails: any;
    trialCartItem: any[];
    userDetails: any;
    userId: any;
    recommededData: Product[];
    isPinCode: boolean;
    toShowInJewellery: boolean;
    IsEcommerce: boolean;
    materialBasedPricing: boolean;
    activeTab: string;
    changeTab(tab: string): void;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    varientLoading: boolean;
    recentViewItemList: Product[];
    getRelatedProducts(): void;
    selectVarient(key: string, value: string): void;
    raiseLead(): void;
    getItemVarient(): ItemVariant | null;
    checkItemAlreadyAddedInTrial(): void;
    getTrialCartIndexDBData(): void;
    shareProduct(): void;
    routeToHome(): void;
    screenWidth: any;
    getScreenSize(): void;
    currentImg: any;
    changeImg(url: any): void;
    getKeys(varient: Object): string[];
    goToCart(): void;
    addToCart(type?: 'ADD' | 'SUBSTRACT'): void;
    goToFilter(category: string): void;
    addToFavourite(): void;
    removeToFavourite(): void;
    getProductByCategory(): void;
    getProductByCollection(): void;
    changeProduct(product: Product): void;
    getKeyByIdx(property: any, index: number): string;
    isVarientAvailable(varient: any): boolean;
    reviewTitle: string;
    reviewDescription: string;
    addProductReview(): void;
    private getVarientQuantity;
    private isVarientPresentInWishtlist;
    editSection(): void;
    get isItemOutOfStock(): boolean;
    get currency(): string;
    get isItemLowStock(): boolean;
    get isMobile(): boolean;
    getCarat(carat: any): "24 Carats" | "22 Carats" | "18 Carats" | "14 Carats" | "10 Carats" | "99.9% Pure" | "92.5% Pure" | "90% Pure" | "Very Slightly Included" | "Slightly Included";
    getPricePerGram(price: any, materialType: string): any;
    isDescriptionCollapsed: boolean;
    toggleDescription(): void;
    isPriceBreakup: boolean;
    togglePriceBreakDown(): void;
    getDifference(sellingPrice: any, mrp: any): number;
    getBackgroundColor(type: string): string;
    getHeaderColor(type: string): string;
    getTextColor(color: any): "#000000" | "#ffffff";
    languages: string[];
    selectedLang: string;
    getClass(map: any): "col-4" | "col-6" | "col-3" | "width-max";
    onFindInStore(id: string): void;
    onBookAppointment(): void;
    isDetails: boolean;
    pincode: any;
    storeDetails: any;
    getStoreDetails(): void;
    brandPromises: any[];
    ecomConfigs: any;
    getEcommerceConfigs(): void;
    locate: boolean;
    otherLanguage: string;
    videoCallPayload: any;
    validationErrors: any;
    isSubmitting: boolean;
    scheduled: boolean;
    scheduleVideoCall(): void;
    resetValidationErrors(): void;
    resetForm(): void;
    onInputChange(field: any): void;
    closeModal(): void;
    getButtonId(index: number): string;
    getButtonStyle(index: number): import("../../../styles/style.model").ButtonStyleModel | undefined;
    openDialogBox(template: TemplateRef<HTMLDivElement>): void;
    matCloseDialog(): void;
    closeDialog(): void;
    getRatings(noofratings: any): any;
    addToTrialCart(): void;
    reviewsData: any[];
    ratingCounts: any;
    pageNumber: number;
    loadMoreReviews(): void;
    getReviews(productId: string): void;
    getPercentage(rating: number): string;
    getRGBA(bgColor: any, opacity: number): any;
    showDetailReview(review: any): void;
    get stylesLayout(): LayOutModel;
    getDateAfterxDays(): Date;
    getProductDescriptionRecommendations(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ProductDescComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ProductDescComponent, "simpo-product-desc", never, { "data": { "alias": "data"; "required": false; }; "responseData": { "alias": "responseData"; "required": false; }; "index": { "alias": "index"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; "delete": { "alias": "delete"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "nextComponentColor": { "alias": "nextComponentColor"; "required": false; }; }, {}, never, never, true, never>;
}
