import { OnInit, OnDestroy } from '@angular/core'; import { KeyValue, FormGroupState, AbstractControlState, FormState, Unboxed, SetValueAction, SetAsyncErrorAction, ClearAsyncErrorAction, StartAsyncValidationAction } from 'ngrx-forms'; import { FormRegisterBuilder } from './form-register-builder'; import { IDxForm } from './form'; import { AbstractForm } from './abstract-form'; import { DxFormArray } from './form-array'; import { DxFormArrayDefinition } from './decorators/interfaces'; import { AbstractFormDefinition } from './abstract-form-definition'; import { Observable } from 'rxjs'; import { StepControl } from './step-control'; import { Action } from '@ngrx/store'; export declare class DxFormGroup extends AbstractForm implements IDxForm, OnInit, OnDestroy { readonly __result: Partial>; __definition: AbstractFormDefinition | null; __controls: { [ControlId in keyof FormValue]: IDxForm; }; __state$: Observable>; __state: FormGroupState; __steps: StepControl[]; processControlDecorator(builder: FormRegisterBuilder): void; processSteps(): void; processGroupDecorator(builder: FormRegisterBuilder): void; processArrayDecorator(builder: FormRegisterBuilder): void; private defineControlProperty; processGroupValidatorDecorator(builder: FormRegisterBuilder, groupValidator: { [controlId: string]: (state: AbstractControlState) => FormState; }): void; processArrayValidatorDecorator(builder: FormRegisterBuilder, groupValidator: { [controlId: string]: (state: AbstractControlState) => FormState; }): void; processValidatorDecorator(builder: FormRegisterBuilder): void; processControlValidatorDecorator(builder: FormRegisterBuilder, groupValidator: { [controlId: string]: (state: AbstractControlState) => FormState; }): void; buildFormArray(definition: DxFormArrayDefinition): DxFormArray; init(): void; processOnSetValue(action: SetValueAction): Observable; processAsyncValidators(action: SetValueAction): Observable; ngOnInit(): void; forEachControl(callback: (controlId: string, control: IDxForm) => any): void; getControlByControlId(controlId: string): IDxForm; box(value: Partial>): FormValue; setValue(value: Unboxed): void; }