import { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { FeaturedProductContentModal, FeaturedProductModal, FeaturedProductStylesModel } from './featured-products.modal';
import { Product, ItemVariant } from '../../styles/product.modal';
import { EventsService } from '.././../../services/events.service';
import BaseSection from '../../../sections/BaseSection';
import { BackgroundModel, ButtonModel, LayOutModel, PositionLayoutModal } from '../../../styles/style.model';
import { RestService } from '../../../services/rest.service';
import { Router } from '@angular/router';
import { CartService } from '../../../services/cart.service';
import { StorageServiceService } from '../../../services/storage.service';
import { MessageService } from 'primeng/api';
import { ProductCardTheme } from '../../../styles/index';
import * as i0 from "@angular/core";
export declare class FeaturedProductsComponent extends BaseSection implements OnInit, OnDestroy, OnChanges, AfterViewInit {
    private platformId;
    private readonly _eventService;
    private readonly restService;
    private readonly router;
    private readonly cartService;
    private readonly storageService;
    private readonly messageService;
    data: FeaturedProductModal | null;
    responseData?: Product[];
    index?: number;
    isRelatedProduct: boolean;
    isBrowseProduct: boolean;
    isLoading: boolean;
    apiLoading: boolean;
    edit?: boolean;
    customClass?: string;
    delete?: boolean;
    nextComponentColor?: BackgroundModel;
    changeDetailProduct: EventEmitter<Product>;
    content?: FeaturedProductContentModal;
    styles?: FeaturedProductStylesModel;
    button?: ButtonModel;
    viewAllButton?: ButtonModel;
    containerRef: ElementRef<HTMLDivElement> | undefined;
    private _eventSubscriber;
    constructor(platformId: Object, _eventService: EventsService, restService: RestService, router: Router, cartService: CartService, storageService: StorageServiceService, messageService: MessageService);
    screenWidth: number;
    private USER_CART;
    private USER_WISHLIST;
    userDetails: any;
    userId: any;
    theme: typeof ProductCardTheme;
    getScreenSize(): void;
    ngAfterViewInit(): void;
    IsEcommerce: boolean;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    applyProductWidth(): boolean;
    getProductWidth(): string;
    getSliceParameters(): number[];
    raiseLead(): void;
    getFeatureProduct(): void;
    getBrowseProduct(): void;
    addItemToCart(product: Product, type: 'ADD' | 'SUBSTRACT'): void;
    toggleItemToFav(event: PointerEvent | MouseEvent, product: Product, type: 'ADD' | 'REMOVE'): void;
    proceedToProductDesc(product: Product): void;
    private toSlug;
    isItemOutOfStock(product: Product): boolean;
    getItemVarient(product: Product, varientId: string): ItemVariant | null;
    selectVarient(product: Product, varient: ItemVariant): void;
    scrollRight(): void;
    scrollLeft(): void;
    showRightArrow: boolean;
    showLeftArrow: boolean;
    updateArrows(): void;
    get currency(): string;
    get isMobile(): boolean;
    private getVarientQuantity;
    private isVarientPresentInWishtlist;
    get stylesLayout(): LayOutModel;
    proceedToProductList(): void;
    editSection(): void;
    get getPositionLayout(): PositionLayoutModal;
    getBtnId(index: number): string;
    getBtnStyle(index: number): any;
    getBtnData(index: number): any;
    redirectTo(data: any): void;
    getJustifyContent(): "center" | "flex-start" | "flex-end";
    static ɵfac: i0.ɵɵFactoryDeclaration<FeaturedProductsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FeaturedProductsComponent, "simpo-featured-products", never, { "data": { "alias": "data"; "required": false; }; "responseData": { "alias": "responseData"; "required": false; }; "index": { "alias": "index"; "required": false; }; "isRelatedProduct": { "alias": "isRelatedProduct"; "required": false; }; "isBrowseProduct": { "alias": "isBrowseProduct"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "delete": { "alias": "delete"; "required": false; }; "nextComponentColor": { "alias": "nextComponentColor"; "required": false; }; }, { "changeDetailProduct": "changeDetailProduct"; }, never, never, true, never>;
}
