import { EventEmitter, NgZone, OnDestroy, ComponentFactoryResolver, QueryList, ViewContainerRef, Injector, ChangeDetectorRef, AfterViewInit } from '@angular/core'; import { FormBuilder, FormGroup } from '@angular/forms'; import { ActivatedRoute } from '@angular/router'; import { TestLogger } from './../services/index'; import { ChangesCommit, IFieldDefinition, IEntityDataService, IEntityContainer, IEmptyConstruct, IDataStructure } from './../interfaces/index'; import { ControlDefinition } from './../models/index'; import { PlaceholderComponent, CustomizeableDetailComponent } from './index'; export declare class GenericFormComponent extends CustomizeableDetailComponent implements OnDestroy, IEntityContainer, AfterViewInit { private logger; private entityService; dynamicComponentLoader: ComponentFactoryResolver; injector: Injector; elementRef: ViewContainerRef; private fb; cd: ChangeDetectorRef; private zone; private router; entityEditing: IDataStructure; entityID: string; entity: IDataStructure; showSubmit: boolean; formTitle: string; formSubTitle: string; entityType: IEmptyConstruct; submitButtonName: string; closeButtonName: string; showCloseButton: boolean; showSubmitButton: boolean; comparedEntity: any; isHiddenView: boolean; controls: Array; entityForm: FormGroup; loaded: boolean; busy: boolean; placeHolders: QueryList; isRouteMappedComponent: boolean; entitySaved: EventEmitter; formSubmitted: EventEmitter; formCancelled: EventEmitter; constructor(logger: TestLogger, entityService: IEntityDataService, dynamicComponentLoader: ComponentFactoryResolver, injector: Injector, elementRef: ViewContainerRef, fb: FormBuilder, cd: ChangeDetectorRef, zone: NgZone, router: ActivatedRoute); private entityChangeSubscription; private subscription; private subscription_param; private errorSubscription; private errorDescription; ngOnDestroy(): void; ngAfterViewInit(): void; ngOnInit(): void; refreshItem(id: string): void; onSubmit(): void; onCancel(): void; setControlComponent(col: IFieldDefinition): any; isReferenceField(field: string): boolean; } export declare class EntityChangeService { static entityChange: EventEmitter; static entityTypeChange: EventEmitter>; static entiTyIDChange: EventEmitter; } export declare class EntityWithType { key: string; type: IEmptyConstruct; constructor(key: string, type: IEmptyConstruct); }