import { ChangeDetectorRef, EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core'; import { ElementPopupData, ElementPopupDataElements } from './element-popup-data'; import { ElementCreatePayload, ElementUpdatePayload, ScreenNameOption } from './element-popup-form-data'; import { ElementPopupRef } from './../element-popup/element-popup-ref'; import { ElementFormComponent } from './element-form/element-form.component'; import * as i0 from "@angular/core"; export declare class ElementPopupComponent implements OnInit, OnChanges { private ref?; private readonly cdr?; value: string; helpUrl: string; labels: string[]; element: ElementPopupDataElements; elements: ElementPopupDataElements[]; enableForm: boolean; isOnRecord: boolean; hasMoreElements: boolean; /** Element ID when editing existing element */ elementId?: number; /** Screen name options for autocomplete (from API) */ screenNameOptions: ScreenNameOption[]; /** Whether more screen names are available for infinite scroll */ hasMoreScreenNames: boolean; /** True while parent is loading screen names (search or load more) */ isLoadingScreenNames: boolean; /** True while parent is loading elements (search or load more) */ isLoadingElements: boolean; /** Suggested tags from API for labels field */ suggestedTags: string[]; /** True while parent is fetching latest element data for edit (shows loading state) */ isElementLoading: boolean; /** Recent searched items to display in Recent section */ recentSearchedItems: string[]; apply: EventEmitter; cancel: EventEmitter; editInDepth: EventEmitter; searchElement: EventEmitter; /** Emitted when user clicks on a recent searched item */ recentItemClick: EventEmitter; loadMoreElements: EventEmitter; /** Emitted when user creates a new element (parent should call API) */ createElement: EventEmitter; /** Emitted when user updates an element (parent should call API) */ updateElement: EventEmitter; /** Emitted when user requests to create a new screen name */ createScreenNameRequest: EventEmitter; /** Emitted when user searches screen names (server search) */ searchScreenName: EventEmitter; /** Emitted when user scrolls to load more screen names (passes current search query) */ loadMoreScreenNames: EventEmitter; /** Emitted when user selects a screen so parent can fetch elements filtered by that screen */ searchElementsByScreenName: EventEmitter<{ screenNameId: number; searchTerm?: string; }>; /** Emitted when Create or Edit form is opened - parent should fetch screen names and (for edit) latest element */ formOpenRequest: EventEmitter<{ mode: 'create' | 'edit'; elementId?: number; }>; /** Emitted when user selects an element from the list - parent should set element and editingElementId for Edit flow */ elementSelect: EventEmitter; /** Emitted when user clicks Record - parent should check extension and call installPlugin or openSidePanelAndListSteps */ toggleRecord: EventEmitter; elementFormComponent?: ElementFormComponent; helpTooltipText: string; showHelpTooltip: boolean; isEditMode: boolean; /** Whether we're in create mode (no elementId) */ isCreateMode: boolean; /** Current search input value (bound to search bar) */ searchValue: string; private injectedData?; constructor(ref?: ElementPopupRef, data?: ElementPopupData, cdr?: ChangeDetectorRef); ngOnChanges(changes: SimpleChanges): void; ngOnInit(): void; private resetForm; onElementFormCreate(payload: ElementCreatePayload): void; onElementFormUpdate(payload: ElementUpdatePayload): void; onElementFormCancel(): void; onCreateOrUpdateSuccess(): void; onCreateOrUpdateError(): void; toggleForm(): void; openCreateForm(): void; onToggleRecordClick(): void; onCancel(): void; onClose(): void; onEditInDepth(): void; search(event: string): void; onHelp(event: Event): void; onElementClick(element: ElementPopupDataElements): void; onLoadMoreElements(): void; onRecentItemClick(item: string): void; /** Called by parent when a new screen name was created (so we can set the selected value) */ setCreatedScreenName(opt: { id: number; name: string; }): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }