import { ComponentRef, EventEmitter } from '@angular/core'; import { LfFieldMetadataConnectorService } from './lf-field-metadata-connector.service'; import { AdhocFieldInfo } from './lf-field-adhoc-container/lf-field-adhoc-container-types'; import { LfFieldViewDirective } from './lf-field-view.directive'; import { LfFieldComponent } from './field-components/lf-field/lf-field.component'; import { LfFieldMultivalueComponent } from './field-components/lf-field-multivalue/lf-field-multivalue.component'; import { LfFieldGroupComponent } from './field-components/lf-field-group/lf-field-group.component'; import { FieldValue, FieldValues, LfFieldInfo, LfFieldValue, TemplateFieldInfo } from './field-components/utils/lf-field-types'; import * as i0 from "@angular/core"; export declare abstract class LfFieldContainerDirective { /** @internal */ metadataConnectorService: LfFieldMetadataConnectorService; fieldValuesChanged: EventEmitter; /** @internal */ lfFieldView: LfFieldViewDirective; /** @internal */ componentRefs: ComponentRef[]; /** @internal */ groupComponentRefs: ComponentRef[]; /** @internal */ allFieldInfos: (TemplateFieldInfo | LfFieldInfo | AdhocFieldInfo)[]; /** @internal */ allFieldValues: FieldValues; /** @internal */ private readonly VALUE_ACCESSOR; /** @internal */ constructor( /** @internal */ metadataConnectorService: LfFieldMetadataConnectorService); /** @internal */ abstract clearAsync(): Promise; /** @internal */ abstract onFieldValueChangedAsync(fieldValues: string[], lfFieldInfo: LfFieldInfo, indicesChanged?: number[]): Promise; /** @internal */ abstract renderFieldsAsync(fieldInfos: (TemplateFieldInfo | LfFieldInfo | AdhocFieldInfo)[]): Promise; /** @internal */ abstract multivalueComponentInitAsync(componentRef: ComponentRef, fieldInfo: LfFieldInfo, stringValues: LfFieldValue[]): Promise; /** @internal */ abstract fieldComponentInitAsync(componentRef: ComponentRef, fieldInfo: LfFieldInfo, stringValues: LfFieldValue): Promise; forceValidation: () => boolean; /** * @internal * Returns whether container is valid without forcing validation */ isValid(): boolean; /** @internal */ setFieldValue(fieldId: number, values: string[]): void; /** @internal */ getOrCreateFieldValue(fieldId: number): FieldValue; /** @internal */ protected initializeFieldComponentAsync(fieldComponentRef: ComponentRef, fieldInfo: LfFieldInfo, value: string): Promise; /** @internal */ protected initializeMultivalueComponentAsync(multivalueComponentRef: ComponentRef, fieldInfo: LfFieldInfo, stringValues: string[]): Promise; /** @internal */ protected getValuesById(fieldId: number): string[]; /** @internal */ private createDefaultFieldValue; /** @internal */ private createFieldValueFromFieldInfo; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }