import { OnDestroy, Injector } from '@angular/core'; import { Unboxed, KeyValue, FormArrayState, AbstractControlState, FormGroupState } from 'ngrx-forms'; import { Observable, Subscription } from 'rxjs'; import { AbstractFormDefinition } from './abstract-form-definition'; import { FormsSources } from './forms-sources'; import { Store, MemoizedSelector } from '@ngrx/store'; import { DxFormArray } from './form-array'; import { NGXLogger } from 'ngx-logger'; export interface OnFormArraySet { dxOnFormArraySet(): void; } export declare const dxOnFormArraySet = "dxOnFormArraySet"; export declare class AbstractFormArrayComponent = DxFormArray, FormDefinition extends AbstractFormDefinition = AbstractFormDefinition, Value extends Array> = Array>> implements OnDestroy { injector: Injector; formsSources: FormsSources; store$: Store; logger: NGXLogger; group: FormGroupState; private _group; private _controlPath; controlPath: string; dxFormArray: FormArray; ngrxFormArray: FormArrayState; readonly valid: boolean; readonly invalid: boolean; value: Value; value$: Observable; state$: Observable>; groups$: Observable>>; private _dxFormArray; formDefinition: FormDefinition; state: FormArrayState; protected _subscription: Subscription; private _onEventSubscriptions; readonly baseSelector: MemoizedSelector>; constructor(injector: Injector, formsSources: FormsSources, store$: Store, logger: NGXLogger, baseSelector: any); private applyControlPath; ngOnDestroy(): void; trackBy(index: number, item: AbstractControlState): string; onDropFormGroup($event: { previousIndex: number; currentIndex: number; }): void; onAddFormGroup(initial?: Partial>): void; onRemoveFormGroup(index: number): void; processUserDefinedProperties(userDefinedProperties: KeyValue): void; }