import { EventEmitter, OnDestroy, ComponentRef, AfterViewInit, NgZone, ChangeDetectorRef } from '@angular/core'; import { MatSelectChange } from '@angular/material/select'; import { Observable } from 'rxjs'; import { LfFieldMetadataConnectorService } from '../lf-field-metadata-connector.service'; import { LfFieldContainerDirective } from '../lf-field-container.directive'; import { LfFieldTemplateContainerService } from './lf-field-template-container.service'; import { LfFieldTemplateProviders } from './lf-field-template-container-types'; import { LfFieldInfo, TemplateFieldInfo, TemplateInfo, TemplateValue } from '../field-components/utils/lf-field-types'; import { LfFieldComponent } from '../field-components/lf-field/lf-field.component'; import { LfFieldMultivalueComponent } from '../field-components/lf-field-multivalue/lf-field-multivalue.component'; import { AppLocalizationService } from '@laserfiche/lf-ui-components/internal-shared'; import { DropDownState, TemplateState } from './lf-field-template-container-states'; import * as i0 from "@angular/core"; export declare class LfFieldTemplateContainerComponent extends LfFieldContainerDirective implements AfterViewInit, OnDestroy { /** @internal */ metadataConnectorService: LfFieldMetadataConnectorService; /** @internal */ private zone; /** @internal */ private localizationService; /** @internal */ private ref; templateSelectedChange: EventEmitter; /** @internal */ hideTemplate: boolean; /** @internal */ availableTemplates: TemplateInfo[]; /** @internal */ loadedTemplates: boolean; /** @internal */ templateFieldContainerService: LfFieldTemplateContainerService; /** @internal */ templateErrorMessage: Observable | undefined; /** @internal */ readonly emptyTemplateName: Observable; /** @internal */ templateSelected: TemplateInfo | undefined; /** @internal */ dynamicOptions: Map; /** @internal */ private adhocFieldsSub; /** @internal */ private adhocDialogOpenedSub; /** @internal */ readonly AN_ERROR_OCCURED: Observable; /** @internal */ dropdownState: DropDownState; /** @internal */ templateState: TemplateState; /** @internal */ private readonly TEMPLATE_HAS_FAILED_TO_LOAD; /** @internal */ constructor( /** @internal */ metadataConnectorService: LfFieldMetadataConnectorService, /** @internal */ zone: NgZone, /** @internal */ localizationService: AppLocalizationService, /** @internal */ ref: ChangeDetectorRef); /** @internal */ ngAfterViewInit(): void; /** @internal */ ngOnDestroy(): void; initAsync: (providers: LfFieldTemplateProviders, templateIdentifier?: number | string) => Promise; clearAsync: () => Promise; getTemplateValue: () => TemplateValue | undefined; /** @internal */ get isDropdownError(): boolean; /** @internal */ get isDropdownLoading(): boolean; /** @internal */ get isDropdownDefault(): boolean; /** @internal */ get isTemplateLoading(): boolean; /** @internal */ get isTemplateError(): boolean; /** @internal */ get isTemplateDisplay(): boolean; /** @internal */ private resetComponentValues; /** @internal */ renderFieldsAsync(fieldInfos: (TemplateFieldInfo | LfFieldInfo)[]): Promise; /** @internal */ private initializeFieldGroupAsync; /** @internal */ private addDefinitionToExistingGroup; /** @internal */ private createAndAddNewGroupRef; /** @internal */ private initializeFieldGroupComponentAsync; /** @internal */ fieldComponentInitAsync(fieldComponentRef: ComponentRef, fieldInfo: LfFieldInfo, value: string): Promise; /** @internal */ multivalueComponentInitAsync(multivalueFieldComponentRef: ComponentRef, fieldInfo: LfFieldInfo, values: string[]): Promise; /** @internal */ compareTemplateInfoFunc(object1: TemplateInfo, object2: TemplateInfo): boolean; /** @internal */ onToggleDropdownAsync(open: boolean): Promise; /** @internal */ onTemplateChangedAsync(event: MatSelectChange): Promise; /** @internal */ private selectTemplateAsync; /** @internal */ private updateTemplateFieldsAsync; /** @internal */ private updateTemplateFieldInfoAsync; /** @internal */ private getValueIfSingleOption; /** @internal */ private updateAllFieldInfosFromServiceAsync; /** @internal */ private getOrCreateDynamicOptions; /** @internal */ onFieldValueChangedAsync(fieldValues: string[], lfFieldInfo: TemplateFieldInfo, indicesChanged?: number[]): Promise; /** @internal */ private addFieldOptionsForIndexAsync; /** @internal */ private showLoader; /** @internal */ private updateDynamicFieldsAsync; /** @internal */ private getUpdatedChildValue; /** @internal */ private getDynamicFieldValueOptionsAsync; /** @internal */ private getRelevantValuesForIndex; /** @internal */ private getDynamicFieldChildren; /** @internal */ private getDynamicFieldValues; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }