import { ChangeDetectorRef, OnInit } from '@angular/core'; import { FormControl } from '@angular/forms'; import { ActivatedRoute } from '@angular/router'; import { CurrencyCode, DataService, DeactivateAware, GetProductVariantOptionsQuery, ModalService, NotificationService, SelectionManager } from '@vendure/admin-ui/core'; import { Observable } from 'rxjs'; import { ProductDetailService } from '../../providers/product-detail/product-detail.service'; import * as i0 from "@angular/core"; export declare class GeneratedVariant { isDefault: boolean; options: Array<{ name: string; id?: string; }>; productVariantId?: string; enabled: boolean; existing: boolean; sku: string; price: number; stock: number; constructor(config: Partial); } interface OptionGroupUiModel { id?: string; isNew: boolean; name: string; locked: boolean; values: Array<{ id: string; name: string; locked: boolean; }>; } export declare class ProductVariantsEditorComponent implements OnInit, DeactivateAware { private route; private dataService; private productDetailService; private notificationService; private modalService; private changeDetector; formValueChanged: boolean; optionsChanged: boolean; optionGroups: OptionGroupUiModel[]; product: NonNullable; variants$: Observable['variants']>; optionGroups$: Observable['optionGroups']>; totalItems$: Observable; currencyCode: CurrencyCode; itemsPerPage: number; currentPage: number; searchTermControl: FormControl; selectionManager: SelectionManager; optionsToAddToVariant: { [variantId: string]: { [groupId: string]: string; }; }; private refresh$; private languageCode; constructor(route: ActivatedRoute, dataService: DataService, productDetailService: ProductDetailService, notificationService: NotificationService, modalService: ModalService, changeDetector: ChangeDetectorRef); ngOnInit(): void; setItemsPerPage(itemsPerPage: number): void; setPageNumber(page: number): void; onFormChanged(variantInfo: GeneratedVariant): void; canDeactivate(): boolean; addOptionGroup(): void; removeOptionGroup(optionGroup: NonNullable['optionGroups'][number]): void; addOption(index: number, optionName: string): void; removeOption(index: number, { id, name }: { id: string; name: string; }): void; setOptionToAddToVariant(variantId: string, optionGroupId: string, optionId?: string): void; addOptionToVariant(variant: NonNullable['variants'][number]): void; deleteVariant(variant: NonNullable['variants'][number]): void; createNewVariant(): void; getOption(variant: NonNullable['variants'][number], groupId: string): { __typename?: "ProductOption"; id: string; createdAt: any; updatedAt: any; name: string; code: string; groupId: string; } | undefined; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export {};