import { AfterViewInit, EventEmitter, OnDestroy } from '@angular/core'; import { FormGroup } from '@angular/forms'; import { Subject } from 'rxjs'; import { AnnotatableNumberMap } from '@mtna/annotations-ui'; import { Form, FormStatus, Section } from '../models/index'; import { MtnaWfManagerService, MtnaWfNgFormService, MtnaWfUIService } from './core/services/index'; import { FormStep } from './form-stepper/form-step.model'; export declare class MtnaFormComponent implements AfterViewInit, OnDestroy { private mtnaFormManager; private ngFormService; private uiService; annotations: AnnotatableNumberMap; mtnaForm: Form; private _mtnaForm; /** * @deprecated No longer used for initial status emission. To be removed in v3 */ formStatus: FormStatus; /** * The form can contain sections not included in the steps. * To avoid misalignment of steps-to-sections, we map each step to * its instanceId */ steps: Array; readonly: boolean; private readonly$; ngForm: FormGroup; componentIds: any[]; _steps: { [id: string]: FormStep; }; status: EventEmitter<{ id: string; status: string; }>; focusedSection: EventEmitter; mtnaFormChange: EventEmitter
; destroyObs$: Subject; private constructionDate; private _hasPreviousForm; private _ngFormStatusChangeSub; private _mtnaFormItemChangeSub; private _initialStatusEmitted; constructor(mtnaFormManager: MtnaWfManagerService, ngFormService: MtnaWfNgFormService, uiService: MtnaWfUIService); ngAfterViewInit(): void; ngOnDestroy(): void; _trackByInstanceId(index: any, section: Section): string; /** * @param emitInitialValues Whether to emit initial step values or just listen for future changes */ private _emitInitialStepsStatusAndSubscribeToChanges; /** * Observes input changes for readOnly, in order to handle internal change subscriptions. * When the form is not readonly, we subscribe to form status & form item changes, so we can emit them. * When the form is readonly, we do not want to emit any changes, so we unsubscribe. */ private _initializeReadonlyObserver; private _handleFormSerialization; /** * Adds or removes a FormItem whenever a new MtnaWfFormItemChange occurs, * and emits a new MtnaForm. */ private _subscribeToMtnaFormItemChanges; private _unsubscribeFromNgFormChanges; private _unsubscribeFromMtnaFormChanges; }