import { ElementRef, OnInit } from '@angular/core';
import { CategoryProductContentModal, CategoryProductModal, CategoryProductStylesModel } from './category-product.model';
import { RestService } from '../../../services/rest.service';
import { EventsService } from '../../../services/events.service';
import { Category } from '../../styles/category.modal';
import { ItemVariant, Product } from '../../styles/product.modal';
import { FeaturedProductModal } from '../featured-products/featured-products.modal';
import { CartService } from '../../../services/cart.service';
import BaseSection from '../../../sections/BaseSection';
import { BackgroundModel, LayOutModel } from '../../../styles/style.model';
import * as i0 from "@angular/core";
export declare class CategoryProductComponent extends BaseSection implements OnInit {
    private readonly restService;
    private readonly cartService;
    private readonly _eventService;
    data?: CategoryProductModal;
    index?: number;
    edit?: boolean;
    delete?: boolean;
    customClass?: string;
    nextComponentColor?: BackgroundModel;
    apiLoading: boolean;
    containerRef: ElementRef<HTMLDivElement> | undefined;
    styles?: CategoryProductStylesModel;
    content?: CategoryProductContentModal;
    selectCategoryId: string | null;
    categoryList: Category[];
    private USER_CART;
    constructor(restService: RestService, cartService: CartService, _eventService: EventsService);
    featureProductData: FeaturedProductModal | null;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    getAllCategoriesById(): void;
    dataList: Product[];
    selectCategory(categoryId: string): void;
    addItemToCart(product: Product, type: 'ADD' | 'SUBSTRACT'): void;
    getItemVarient(product: Product, varientId: string): ItemVariant | null;
    getPercentage(product: Product): string;
    getSupportingColor(color: string): string;
    scrollRight(): void;
    scrollLeft(): void;
    showRightArrow: boolean;
    showLeftArrow: boolean;
    updateArrows(): void;
    editSection(): void;
    get isMobile(): boolean;
    get getSpacingLayout(): LayOutModel;
    static ɵfac: i0.ɵɵFactoryDeclaration<CategoryProductComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CategoryProductComponent, "simpo-category-product", never, { "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>;
}
