import { ElementRef, OnDestroy, OnInit } from '@angular/core';
import BaseSection from '../../../sections/BaseSection';
import { RestService } from '../../../services/rest.service';
import { Category } from '../../styles/category.modal';
import { ItemVariant, Product } from '../../styles/product.modal';
import { OrderedItems } from '../../styles/OrderedItems.modal';
import { CartService } from '../../../services/cart.service';
import { ActivatedRoute } from '@angular/router';
import { ProductCategoryListModal, ProductCategoryListStylesModal } from './product-category-list.model';
import { SPACING } from '../../../styles/index';
import { BackgroundModel, LayOutModel } from '../../../styles/style.model';
import { EventsService } from '../../../services/events.service';
import * as i0 from "@angular/core";
export declare class ProductCategoryListComponent extends BaseSection implements OnInit, OnDestroy {
    private readonly restService;
    private readonly cartService;
    private readonly _eventService;
    private readonly activatedRoute;
    responseData?: any[];
    data?: ProductCategoryListModal;
    index?: number;
    edit?: boolean;
    delete?: boolean;
    customClass?: string;
    nextComponentColor?: BackgroundModel;
    styles?: ProductCategoryListStylesModal;
    productListContainer: ElementRef<HTMLDivElement> | undefined;
    productCategoryListSection: ElementRef<HTMLDivElement> | undefined;
    categories: Category[];
    productList: Product[];
    USER_CART: OrderedItems[];
    selectedCategory: Category | null;
    apiLoading: boolean;
    constructor(restService: RestService, cartService: CartService, _eventService: EventsService, activatedRoute: ActivatedRoute);
    collectionId: string | null;
    ngOnInit(): void;
    ngOnDestroy(): void;
    getAllCategoriesById(): void;
    selectCategory(category: Category): void;
    scrollElementToTop(): void;
    addItemToCart(product: Product, type: 'ADD' | 'SUBSTRACT'): void;
    getItemVarient(product: Product, varientId: string): ItemVariant | null;
    getPercentage(product: Product): string;
    getSupportingColor(color: string): string;
    editSection(): void;
    get getSpacingLayout(): LayOutModel;
    get headingSpace(): SPACING;
    get isMobile(): boolean;
    get currency(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<ProductCategoryListComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ProductCategoryListComponent, "simpo-product-category-list", never, { "responseData": { "alias": "responseData"; "required": false; }; "data": { "alias": "data"; "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>;
}
