import { ElementRef, EventEmitter, OnInit, QueryList } from '@angular/core'; import { AbstractControl, FormBuilder, FormControl, FormGroup } from '@angular/forms'; import { CurrencyCode, DataService, GetStockLocationListQuery, ItemOf } from '@vendure/admin-ui/core'; import { Observable } from 'rxjs'; import { OptionValueInputComponent } from '../option-value-input/option-value-input.component'; import * as i0 from "@angular/core"; export type CreateVariantValues = { optionValues: string[]; enabled: boolean; sku: string; price: number; stock: number; }; export type CreateProductVariantsConfig = { groups: Array<{ name: string; values: string[]; }>; variants: CreateVariantValues[]; stockLocationId: string; }; export declare class GenerateProductVariantsComponent implements OnInit { private dataService; private formBuilder; variantsChange: EventEmitter; groupNameInputs: QueryList; optionGroups: Array<{ name: string; values: Array<{ name: string; locked: boolean; }>; }>; currencyCode: CurrencyCode; variants: Array<{ id: string; values: string[]; }>; variantFormValues: { [id: string]: FormGroup<{ optionValues: FormControl; enabled: FormControl; price: FormControl; sku: FormControl; stock: FormControl; }>; }; stockLocations$: Observable>>; selectedStockLocationId: string | null; constructor(dataService: DataService, formBuilder: FormBuilder); ngOnInit(): void; addOption(): void; removeOption(name: string): void; generateVariants(): void; trackByFn(index: number, variant: { name: string; values: string[]; }): string; handleEnter(event: KeyboardEvent, optionValueInputComponent: OptionValueInputComponent): void; copyValuesToPristine(field: 'price' | 'sku' | 'stock', formControl: AbstractControl | null): void; onFormChange(): void; private copyFromDefault; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }