import { OnInit, OnDestroy, Injector, ComponentFactoryResolver } from '@angular/core'; import { Unboxed, SetValueAction, FormGroupState } from 'ngrx-forms'; import { Store, Action } from '@ngrx/store'; import { NGXLogger } from 'ngx-logger'; import { DxFormGroup } from './form-group'; import { IDxForm } from './form'; import { Observable, Subscription, Subject } from 'rxjs'; import { Actions } from '@ngrx/effects'; import { DocumentService } from '../documents/document.service'; export interface DxFormDefinition { formId: string | null; collectionPath: string | null; editComponent: any | null; title: string | null; load: string[]; } export declare type HandlerFunction = () => any; export interface OnSetValueHandler { handler: HandlerFunction; controlPaths: string[]; } export declare function isAction(action: any): action is Action; export declare function handelOnFunctionResults(results: any[]): Observable; export declare abstract class AbstractFormDefinition = DxFormGroup, Value = Unboxed> implements DxFormDefinition, OnInit, OnDestroy { readonly store$: Store; protected readonly _actions$: Actions; readonly logger: NGXLogger; readonly ds: DocumentService; readonly componentFactoryResolver: ComponentFactoryResolver; readonly injector: Injector; formId: string | null; collectionPath: string | null; editComponent: any | null; title: string | null; load: string[]; formState$: Observable>; group: FormGroup; /** * true - the document will only be added to the store * false - default behavior */ onlyLocal: boolean; readonly actions$: Observable; formActions$: Observable; controlActions$: Observable; setValueActions$: Observable>; asyncValidators$: Observable; onSetValue$: Observable; onSubmitValid$: Observable; onReset$: Observable; onSubmitInvalid$: Observable; onSubmitSuccessful$: Observable; onSubmitFailed$: Observable; onSubmit$: Observable; readonly initial: FormValue; readonly result: Partial>; private _onSubmitValid; private _onSubmitInvalid; private _onSubmit; private _onSubmitSuccessful; private _onSubmitFailed; private _onFormError; private _onValidationError; private _active; protected _subscriptions: Subscription; __onDestroy$: Subject; __onInit$: Subject; __onReset$: Subject; constructor(store$: Store, _actions$: Actions, logger: NGXLogger, ds: DocumentService, componentFactoryResolver: ComponentFactoryResolver, injector: Injector); box(value: Partial): FormValue; processesDecorates(): void; processOnSubmitValid(): void; processOnSubmitInvalid(): void; processOnSubmit(): void; processOnSubmitSuccessful(): void; processOnSubmitFailed(): void; processOnFormError(): void; processOnValidationError(): void; ngOnInit(): void; ngOnDestroy(): void; getValue(controlPath: string): V; getValue$(controlPath: string): Observable; getControl>(controlPath: string): D; }