import { ComponentFactoryResolver, ComponentRef, EventEmitter, OnChanges, OnDestroy, QueryList, SimpleChanges, Type, ViewContainerRef } from "@angular/core"; import { FormControl, FormGroup } from "@angular/forms"; import { Subscription } from "rxjs"; import { DynamicFormControlCustomEvent, DynamicFormControlEvent } from "./dynamic-form-control.event"; import { DynamicFormControlModel } from "../model/dynamic-form-control.model"; import { DynamicFormArrayGroupModel } from "../model/form-array/dynamic-form-array.model"; import { DynamicFormControlLayoutContext, DynamicFormControlLayoutPlace } from "../model/misc/dynamic-form-control-layout.model"; import { DynamicFormControl } from "./dynamic-form-control.interface"; import { DynamicTemplateDirective } from "../directive/dynamic-template.directive"; import { DynamicFormLayout, DynamicFormLayoutService } from "../service/dynamic-form-layout.service"; import { DynamicFormValidationService } from "../service/dynamic-form-validation.service"; import { DynamicFormComponentService } from "../service/dynamic-form-component.service"; import { DynamicFormRelationService } from "../service/dynamic-form-relation.service"; export declare abstract class DynamicFormControlContainerComponent implements OnChanges, OnDestroy { protected componentFactoryResolver: ComponentFactoryResolver; protected layoutService: DynamicFormLayoutService; protected validationService: DynamicFormValidationService; protected componentService: DynamicFormComponentService; protected relationService: DynamicFormRelationService; context: DynamicFormArrayGroupModel | null; control: FormControl; group: FormGroup; hasFocus: boolean; layout: DynamicFormLayout; model: DynamicFormControlModel; contentTemplateList: QueryList | undefined; inputTemplateList: QueryList | undefined; blur: EventEmitter; change: EventEmitter; customEvent: EventEmitter | undefined; focus: EventEmitter; componentViewContainerRef: ViewContainerRef; protected componentRef: ComponentRef; protected componentSubscriptions: Subscription[]; protected subscriptions: Subscription[]; protected constructor(componentFactoryResolver: ComponentFactoryResolver, layoutService: DynamicFormLayoutService, validationService: DynamicFormValidationService, componentService: DynamicFormComponentService, relationService: DynamicFormRelationService); ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; abstract readonly componentType: Type | null; readonly errorMessages: string[]; readonly hasHint: boolean; readonly hint: string | null; readonly hasLabel: boolean; readonly isCheckbox: boolean; readonly elementId: string; readonly isInvalid: boolean; readonly isValid: boolean; readonly showErrorMessages: boolean; readonly templates: QueryList | undefined; readonly startTemplate: DynamicTemplateDirective | undefined; readonly endTemplate: DynamicTemplateDirective | undefined; getClass(context: DynamicFormControlLayoutContext, place: DynamicFormControlLayoutPlace, model?: DynamicFormControlModel): string; protected createFormControlComponent(): void; protected destroyFormControlComponent(): void; protected createDynamicFormControlEvent($event: any, type: string): DynamicFormControlEvent; unsubscribe(): void; onControlValueChanges(value: any): void; onModelValueUpdates(value: any): void; onModelDisabledUpdates(disabled: boolean): void; onChange($event: Event | DynamicFormControlEvent | any): void; onBlur($event: FocusEvent | DynamicFormControlEvent | any): void; onFocus($event: FocusEvent | DynamicFormControlEvent | any): void; onCustomEvent($event: DynamicFormControlEvent | DynamicFormControlCustomEvent): void; private registerComponentRef; private unregisterComponentRef; }