import { ChangeDetectorRef, EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core'; import { FormBuilder, FormGroup } from '@angular/forms'; import { DynamicSelectFieldConfig } from '../../dynamic-select/dynamic-select-field.component'; import { TestDataModalData, TestDataModalTab } from './test-data-modal-data'; import { TestDataModalRef } from './test-data-modal-ref'; import { TestDataModalResult } from './test-data-modal.service'; import { EnvironmentItem } from './test-data-modal-environment.model'; import { ParameterItem, ParameterScopeFilter } from './test-data-modal-parameter.model'; import { CqaListItemConfig } from '../../item-list/item-list.model'; import * as i0 from "@angular/core"; export declare class TestDataModalComponent implements OnInit, OnChanges { private readonly fb; private readonly cdr; private ref; apply: EventEmitter<{ value: string; activeTab: TestDataModalTab; }>; cancel: EventEmitter; editInDepth: EventEmitter; parameterCreate: EventEmitter; parameterEdit: EventEmitter; environmentCreate: EventEmitter; environmentEdit: EventEmitter; readonly tabSegments: { label: string; value: string; }[]; readonly parameterFilterTabs: { label: string; value: ParameterScopeFilter; }[]; /** Parameter list from input, falls back to mock data if not provided. */ parameters: ParameterItem[]; /** Environment list from input, falls back to mock data if not provided. */ environmentItems: EnvironmentItem[]; /** Runtime tab: suggested variable chips. */ readonly runtimeSuggestedValues: readonly string[]; /** Form for all modal controls (same pattern as Loop Step editForm). */ editForm: FormGroup; /** Cached select configs (stable refs, same naming as Loop Step: xxxSelectConfig). */ activeTabSelectConfig: DynamicSelectFieldConfig; parameterScopeFilterSelectConfig: DynamicSelectFieldConfig; /** Local copy of form value for Cancel revert (same pattern as Loop Step editSnapshot). */ private editSnapshot; /** Preserve user-entered plain text independently from parameter/environment/runtime selections. */ private plainTextValue; /** State derived from config/editForm for template and getters (mirrors Loop Step inputs). */ activeTab: TestDataModalTab; value: string; helpUrl: string; helpTooltipText: string; showHelpTooltip: boolean; parameterScopeFilter: ParameterScopeFilter; parameterSearchQuery: string; selectedParameterId: string | null; environmentSearchQuery: string; selectedEnvironmentId: string | null; runtimeValue: string; constructor(fb: FormBuilder, cdr: ChangeDetectorRef, ref: TestDataModalRef, data?: TestDataModalData); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; /** Build form with all control values (same pattern as Loop Step buildEditForm). */ private buildEditForm; /** Build select configs once (same pattern as Loop Step buildSelectConfigs). */ private buildSelectConfigs; /** Update form control and sync component state (same pattern as Loop Step onEditFormFieldChange). */ onEditFormFieldChange(controlName: string, value: string | number | null): void; /** Sync component state from editForm so getters (e.g. filteredParameters) stay correct. */ private syncStateFromForm; /** Filtered parameters by scope and search (Parameter tab). */ get filteredParameters(): ParameterItem[]; /** Filtered environment items by search (Environment tab). */ get filteredEnvironments(): EnvironmentItem[]; /** Parameter tab: list config for cqa-item-list (search-friendly: bind filtered list). */ get parameterListConfig(): CqaListItemConfig[]; /** Environment tab: list config for cqa-item-list. */ get environmentListConfig(): CqaListItemConfig[]; onTabChange(tabValue: string): void; onParameterScopeFilterChange(filter: ParameterScopeFilter): void; onParameterSearchInput(value: string): void; onParameterSelect(paramId: string): void; /** Handle row click (select parameter). Edit button uses onParameterEditClick to avoid triggering this. */ onParameterRowClick(event: Event, item: { id: string; }): void; /** Handle Edit button click - stop propagation and emit so parent can navigate. */ onParameterEditClick(event: MouseEvent, paramId: string): void; onParameterEdit(paramId: string): void; onCreateNewVariable(event: Event): void; onEnvironmentSearchInput(value: string): void; onEnvironmentSelect(itemId: string): void; onEnvironmentEdit(itemId: string): void; onCreateNewEnvironment(event: Event): void; /** Runtime tab: replace the runtime input with the selected suggestion. */ onRuntimeChipInsert(snippet: string): void; onApply(): void; onCancel(): void; onClose(): void; onEditInDepth(event: Event): void; onHelp(event: Event): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }