import { ChangeDetectorRef, OnInit } from '@angular/core'; import { UntypedFormArray, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; import { ActivatedRoute, Router } from '@angular/router'; import { BaseDetailComponent, CustomFieldConfig, DataService, GetProductVariantOptionsQuery, LanguageCode, NotificationService, Permission, PermissionsService, ServerConfigService, TranslationOf } from '@vendure/admin-ui/core'; import { Observable } from 'rxjs'; import { ProductDetailService } from '../../providers/product-detail/product-detail.service'; import * as i0 from "@angular/core"; type ProductWithOptions = NonNullable; export declare class ProductOptionsEditorComponent extends BaseDetailComponent implements OnInit { protected route: ActivatedRoute; protected router: Router; protected serverConfigService: ServerConfigService; protected dataService: DataService; protected permissionsService: PermissionsService; private productDetailService; private formBuilder; private changeDetector; private notificationService; detailForm: UntypedFormGroup; optionGroups$: Observable; languageCode$: Observable; availableLanguages$: Observable; optionGroupCustomFields: CustomFieldConfig[]; optionCustomFields: CustomFieldConfig[]; autoUpdateVariantNames: boolean; paginationSettings: { [groupId: string]: { currentPage: number; itemsPerPage: number; }; }; readonly updatePermission: Permission[]; constructor(route: ActivatedRoute, router: Router, serverConfigService: ServerConfigService, dataService: DataService, permissionsService: PermissionsService, productDetailService: ProductDetailService, formBuilder: UntypedFormBuilder, changeDetector: ChangeDetectorRef, notificationService: NotificationService); ngOnInit(): void; getOptionGroups(): UntypedFormGroup[]; getOptions(optionGroup: UntypedFormGroup): UntypedFormGroup[]; save(): void; private getUpdatedOptionGroup; private getUpdatedOption; protected setFormValues(entity: ProductWithOptions, languageCode: LanguageCode): void; protected setCustomFieldsForm(customFields: CustomFieldConfig[], formGroup: UntypedFormGroup, entity: T, currentTranslation?: TranslationOf): void; protected setOptionGroupForm(entity: ProductWithOptions['optionGroups'][0], groupsForm: UntypedFormArray, currentTranslation?: TranslationOf): UntypedFormGroup; protected setOptionForm(entity: ProductWithOptions['optionGroups'][0]['options'][0], optionsForm: UntypedFormArray, currentTranslation?: TranslationOf): UntypedFormGroup; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export {};