import { ComponentRef, EventEmitter, SimpleChanges } from '@angular/core'; import { FormControl, FormGroup } from '@angular/forms'; import { Observable, Subject, Subscription } from 'rxjs'; import { EsFormFieldConfig } from '../model/es-config.interface'; import { EsFormConfigGroup } from '../model/es-form-config-group.interface'; import { EsFormField } from '../model/es-form-field.interface'; import { EsFormTranslates } from '../model/es-form.translates'; import { EsForm } from '../model/es-form.interface'; import { EsFormResponseMessage } from '../model/es-form-response-message'; interface DynamicFieldConfigList { [key: string]: EsFormField; } export interface IEsFormComponent { name: string; cols: number; formUrl: string; dynamicForm: EsForm; maxWidth: number; fontSize: number; simpleForm: boolean; postingData: boolean; form: FormGroup; formButtons: EsFormFieldConfig[]; tmpGroups: EsFormConfigGroup[]; tmpColGroups: EsFormConfigGroup[][]; tmpCols: { index: number; }[]; copyBtnAdd: Subject; copyBtnDel: Subject; formCreated: EventEmitter; formSuccess: EventEmitter; formError: EventEmitter; submit: EventEmitter; formSubmitEmit: EventEmitter; reloadForm: EventEmitter; formUrlChange: EventEmitter; isInitialized: boolean; destroy$: Subject; response: any; formWidth: number; subComponents: any[]; pauseSubmit: boolean; activeRequest: Subscription; translates: EsFormTranslates; firstRender: boolean; isMobile: boolean; emitOnSubmit: boolean; _postParams: FormData; fields: DynamicFieldConfigList; colGroups(col: any): EsFormConfigGroup[]; colsIndex(): void; getGroups(): EsFormConfigGroup[]; getButtons(): EsFormFieldConfig[]; get controls(): EsFormFieldConfig[]; get controlsToRender(): EsFormFieldConfig[]; get changes(): any; get valid(): boolean; get value(): any; onFormResized(event: any): void; ngOnChanges(changes: SimpleChanges): void; createGroups(): any; reload(showSpinner: boolean, params: any): void; setDynamicForm(dynamicForm: EsForm): any; initFocused(): void; createGroup(): void; createControl(config: EsFormFieldConfig): FormControl; fieldReady(e: ComponentRef): void; onFormCreated(): void; initDynamicFieldConfigList(): void; getSubComponent(name: string): any; formSubmit(event?: Event): void; handleSubmit(showSnackBar: boolean): void; onFormSubmitResponse(response: any, showSnackBar: boolean): void; getSnack(messages: EsFormResponseMessage[]): { message: string; panelClass: string; }; getPostData(update: boolean, withoutType: string): FormData; setDisabled(name: string, disable: boolean): void; setValue(controlName: string, value: any, options?: Object): void; getValue(controlName: string): any; getFieldConfig(controlName: string): EsFormFieldConfig; getResponseValue(controlName: string): any; getSubmitButtonName(): string; setActions(): void; actionReloadForm(): void; checkView(): void; setDeleteButtons(): void; copyButtonCheckView(): void; setVisibility(): void; onCopyBtnAddClick(controlName: string): Observable; onCopyBtnDelClick(controlName: string): Observable; getDOMElement(controlName: string): Promise; setDisplay(name: string, display: boolean): void; } export {};