import { ElementRef, OnDestroy, OnInit } from '@angular/core';
import { CartSectionModal, CartSectionStylesModel } from './cart.modal';
import BaseSection from '../../../sections/BaseSection';
import { EventsService } from '.././../../services/events.service';
import { CartService } from '../../../services/cart.service';
import { ActivatedRoute, Router } from '@angular/router';
import { MatDialog, MatDialogRef } from '@angular/material/dialog';
import { RestService } from "../../../services/rest.service";
import { StorageServiceService } from '../../../services/storage.service';
import { AddressDetails } from '../../styles/user.modal';
import { OrderedItems } from '../../styles/OrderedItems.modal';
import { MessageService } from 'primeng/api';
import { MatBottomSheet } from '@angular/material/bottom-sheet';
import { Subscription } from 'rxjs';
import { LayOutModel } from '../../../styles/style.model';
import { FeaturedProductModal } from '../featured-products/featured-products.modal';
import * as i0 from "@angular/core";
interface Coupon {
    discountType: string;
    discountName: string;
    discountDescription: string;
    applicable: boolean;
    couponCode: string;
    couponId: string;
    status: boolean;
    validFrom: Date;
    validTo: Date;
}
export declare class CartComponent extends BaseSection implements OnInit, OnDestroy {
    private readonly _eventService;
    private readonly cartService;
    private readonly router;
    private readonly restService;
    private readonly matDialog;
    private readonly storageService;
    private readonly messageService;
    private readonly bottomSheet;
    private readonly activatedRoute;
    matDialogData: any;
    dialogRef: MatDialogRef<CartComponent>;
    data?: CartSectionModal;
    responseData?: any;
    index?: number;
    edit?: boolean;
    delete?: boolean;
    customClass?: string;
    isLoading: boolean;
    styles?: CartSectionStylesModel;
    currentTab: 'BAG' | 'ADDRESS' | 'PAYMENT';
    cartType: 'SHOPPING' | 'TRIAL';
    d2: ElementRef;
    pincode: any;
    constructor(_eventService: EventsService, cartService: CartService, router: Router, restService: RestService, matDialog: MatDialog, storageService: StorageServiceService, messageService: MessageService, bottomSheet: MatBottomSheet, activatedRoute: ActivatedRoute, matDialogData: any, dialogRef: MatDialogRef<CartComponent>);
    quantity: number[];
    private userDetails;
    private USER_CART_ITEMS;
    selectedAddressIdx: number;
    defaultAddress?: AddressDetails;
    enteredCouponCode: string;
    couponList: Coupon[];
    featureProductData: FeaturedProductModal | null;
    private USER_CART;
    private USER_WISHLIST;
    trialCartItem: OrderedItems[] | null;
    selectMatureScheme: boolean;
    cartInfo: any;
    loadingSubscription?: Subscription;
    subIndustryName: string;
    isJewellery: boolean;
    selectedRedemption: boolean;
    ecomConfigs: any;
    userId: any;
    recommededData: any;
    ngOnInit(): void;
    dummyCartItems: any;
    getEcommerceConfigs(): void;
    schemeList: any[];
    getSchemeDetails(): void;
    ngOnDestroy(): void;
    onToggleChange(): void;
    getTrialCart(): void;
    getTrialCartIndexDBData(): void;
    updateUserCart(): void;
    getDefaultAddress(): void;
    get stylesLayout(): LayOutModel;
    mergeOrderItems(syncedItems: any[]): void;
    getCouponList(): void;
    removeCoupon(event: MouseEvent): void;
    getIndexDBData(): void;
    proceedToCheckout(): void;
    private toSlug;
    goToProductDetails(product: OrderedItems): void;
    proceedToListPage(): void;
    removeItem(item: OrderedItems): void;
    private moveItemToWishlist;
    private removeItemFromCart;
    addToCart(item: OrderedItems, quantity: number): void;
    cartId: any;
    placeOrderLoader: boolean;
    proceedToPayment(): Promise<void>;
    addressSelected(index: number): void;
    isItemOutOfStock(product: OrderedItems): boolean;
    getKeys(object: Object): string[];
    editSection(): void;
    closeWindow(): void;
    couponDialogRef: MatDialogRef<unknown> | null;
    isCouponDialogOpening: boolean;
    openDialog(container: any): void;
    listRedemptionCoupons: any;
    appliedVoucher: any;
    redemptionType: "COUPONS" | "VOUCHERS";
    redemptionCouponType: "REWARDS" | "DISCOUNTS";
    selectedVoucherId: any;
    selectedVoucherAmount: any;
    selectedVoucherCode: any;
    listRedemptionVouchers: any;
    selectedVoucherPercentage: any;
    percentageReduced: any;
    couponValueType: string;
    addRedemptionCoupon(container: any): void;
    applyRedemptionCoupon(voucher: any): void;
    removeRedemptionCoupon(event?: Event): void;
    searchIfApplicable(): void;
    closeDialogRef(): void;
    applyCoupon(coupon: Coupon): void;
    calculateCart(response: any): void;
    getTaxAmount(): number;
    get getAddressList(): AddressDetails[];
    get isMobile(): boolean;
    get currency(): string;
    changeAddress(): void;
    addAddress(): void;
    scroll(e: WheelEvent): void;
    selectedRedmpationData: any;
    selectScheme(): void;
    scheduleVideoCall(items: any): void;
    getButtonId(index: number): string;
    getButtonStyle(index: number): import("../../../styles/style.model").ButtonStyleModel | undefined;
    changeQuantity(quantity: any, item: OrderedItems): void;
    removeTrialItem(item: OrderedItems): void;
    bookAppointment(): void;
    showReedemError: boolean;
    vaildAmount: number;
    redeemScheme(scheme: any, action: boolean): void;
    getUrl(): boolean;
    get fontColor(): string;
    get accentBackground(): string;
    getGradientDirection(direction: string | undefined): string;
    increaseQty(item: any): void;
    decreaseQty(item: any): void;
    referEarnExist: boolean;
    isPointsRedeeming: boolean;
    redemptionPoints: any;
    checkAppInstalled(): void;
    totalSavingAmt: number;
    totalSavingPoints: number;
    pointsConverted: number;
    usedPoints: any;
    getRedeemPoints(): void;
    onPointsRedeemingChange(event: Event): void;
    get getRemainingPoints(): number;
    get getRemainingRupees(): any;
    paymentWithCompletePoints(): void;
    getCartRecommendations(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<CartComponent, [null, null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CartComponent, "simpo-cart", 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; }; }, {}, never, never, true, never>;
}
export {};
