import { SelectionModel } from '@angular/cdk/collections'; import { AfterViewInit, ElementRef, OnInit } from '@angular/core'; import { FormBuilder, FormGroup, FormArray } from '@angular/forms'; import { MatDialog, MatDialogRef } from '@angular/material/dialog'; import { MatTableDataSource } from '@angular/material/table'; import { CommonService } from '../common.service'; import * as i0 from "@angular/core"; export interface Product { productName: string; productDescription: string; quantity: any; price: any; text: any; id: any; value: any; otherInformation0: any; otherInformation1: any; otherInformation2: any; } export declare class AddOnProductsComponent implements AfterViewInit, OnInit { matDialogRef: MatDialogRef; private fb; private dialog; private commonSevice; form: FormGroup; dropdownOne: string[]; dropdownTwo: string[]; dropdownThree: string[]; dropdownFour: string[]; filteredDropdownOne: string[]; filteredDropdownTwo: string[]; filteredDropdownThree: string[]; filteredDropdownFour: string[]; addProductsColumns: string[]; showAllproductsColumns: string[]; quantityList: number[]; ELEMENT_DATA: Product[]; dataSource: MatTableDataSource; selection: SelectionModel; selectedDataSource: MatTableDataSource; selectedCategory: any; selectedSubCategory: any; showCategory: boolean; showSubcategory: boolean; showPrice: boolean; showQuantity: boolean; showSkuNumber: boolean; showInventory: boolean; showNewProductPicker: boolean; setCategory: string; setSubCategory: string; loadingFlag: boolean; pageNumber: number; pageSize: number; totalPages: number; searchQuery: string; itemList: any[]; trackHeight: any; prevScrollPosition: number; firstscrollableDiv: ElementRef; spinnerFlag: boolean; dropdownL1: boolean; dropdownL2: boolean; dropdownL3: boolean; dropdownL4: boolean; dropdownL1Label: string; dropdownL2Label: string; dropdownL3Label: string; dropdownL4Label: string; dropDownCount: number; levelOneId: any; levelTwoId: any; levelThreeId: any; levelFourId: any; disablePrice: boolean; checkSubmissionStatus: boolean; currentPage: string; isVisible: boolean; isDisabled2: boolean; isDisabled3: boolean; isDisabled4: boolean; isPriceDisable: boolean; activeFiltersCount: number; emptyImage: string; getTotalRecords: number; priceFieldLable: string; targetCost: string; showCost: boolean; skuTweek: string; costTweek: string; priceTweek: string; productTweek: string; quantityTweek: string; categoryTweek: string; subCategoryTweek: string; inventoryTweek: string; alphanumeric: boolean; constructor(matDialogRef: MatDialogRef, data: any, fb: FormBuilder, dialog: MatDialog, commonSevice: CommonService); removeColumn(columnName: string): void; initializeFormArray(): void; initializeDataSources(): void; ngAfterViewInit(): void; ngOnInit(): void; handleDropdownFilter(): void; loadDropdownL1(): void; loadDropdownL2(levelOneId: any): void; loadDropdownL3(levelOneId: any, levelTwoId: any): void; loadDropdownL4(levelOneId: any, levelTwoId: any, levelThreeId: any): void; filterProducts(value: string, cat: string): string[]; onSubmit(): void; isAllSelected(): boolean; isIndeterminate(): boolean; masterToggle(): void; toggleSelection(row: Product): void; get selectedProducts(): FormArray; updateSelectedProducts(): void; getTotalRows(): number; getSelectedRowsCount(): number; onOptionSelected(event: any, category: string): void; getProducts(flag: boolean): void; removeRow(event: Event, element: Product): void; onScroll(event: any): void; countTrueDropdowns(obj: any): number; displayFn(option: any): string; onQuantityChange(event: any, index: number): void; goToNextPage(): void; goToPreviousPage(): void; toggleSection(): void; clearField(field: string, category: string, event: Event): void; onInputChange(event: Event, category: string): void; getDropdownLevel(category: string): number; updateActiveFiltersCount(): void; clearIfEmpty(event: any): void; resetTable(): void; shouldResetTable(search: string, levelOneId: number, levelTwoId: number, levelThreeId: number, levelFourId: number): boolean; applyValidationRule(event: any, index: number, controlName: string): void; restrictInput(event: KeyboardEvent, controlName: string): void; handlePaste(event: ClipboardEvent, controlName: string): void; scrollToFirstInvalidControl(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }