import { UntypedFormArray } from '@angular/forms'; import { AbstractControl, AsyncValidator, ControlEventOptions, ControlOptions, ControlPath, ControlState, EmitEvent, ExtractStrings, OnlySelf, Validator } from './types'; import { Observable, Subscription } from 'rxjs'; import { FormArrayOptions, FormDefinition, FormType } from './model'; export declare class RxapFormArray extends UntypedFormArray implements AbstractControl { controls: Array>; private _readonly; get readonly(): boolean; set readonly(value: boolean); /** * @internal */ get rxapFormDefinition(): (FormType & FormDefinition) | undefined; get controlPath(): string; readonly value: T[]; get fullControlPath(): string; readonly valueChanges: Observable; readonly value$: Observable; readonly status: ControlState; readonly disabled$: Observable; readonly statusChanges: Observable; readonly enabled$: Observable; readonly errors: E | null; readonly status$: Observable; readonly errors$: Observable; readonly controlId: string; private readonly touchChanges; readonly touch$: Observable; private readonly dirtyChanges; readonly dirty$: Observable; private readonly _builder; private readonly _controlInsertedFn; private readonly _controlRemovedFn; constructor(controls: Array>, options: FormArrayOptions); select(mapFn: (state: T[]) => R): Observable; at(index: number): AbstractControl; getRawValue(): T[]; insert(index: number, control: AbstractControl): void; /** * inserts a new control at the specified index. If the index is undefined * the new control will be added to the end. * * @param index (optional) the index where the control should be created * @param state (optional) the initial state of the new control * @param options (optional) ControlEventOptions */ insertAt(index?: number, state?: T, options?: ControlEventOptions): void; disabledWhile(observable: Observable, options?: ControlOptions): Subscription; enabledWhile(observable: Observable, options?: ControlOptions): Subscription; mergeValidators(validators: Validator): void; mergeAsyncValidators(validators: AsyncValidator): void; markAllAsDirty(): void; markAllAsPristine(): void; setValue(valueOrObservable: T[] | Observable, options?: ControlEventOptions): Subscription | void; markAllAsUntouched(): void; validateOn(observableValidation: Observable): Subscription; hasErrorAndTouched(errorCode: ExtractStrings, path?: ControlPath): boolean; private _patchValue; patchValue(valueOrObservable: any, options?: ControlEventOptions): Subscription | void; hasErrorAndDirty(errorCode: ExtractStrings, path?: ControlPath): boolean; removeAt(index: number, opts?: ControlEventOptions): void; setEnable(enable?: boolean, opts?: ControlEventOptions): void; push(control: AbstractControl, options?: ControlEventOptions): void; setDisable(disable?: boolean, opts?: ControlEventOptions): void; setControl(index: number, control: AbstractControl, options?: ControlEventOptions): void; markAsTouched(opts?: OnlySelf): void; markAsUntouched(opts?: OnlySelf): void; markAsPristine(opts?: OnlySelf): void; markAsDirty(opts?: OnlySelf): void; reset(value?: T[], options?: ControlEventOptions): void; setValidators(newValidator: Validator, updateValueAndValidity?: boolean): void; setAsyncValidators(newValidator: AsyncValidator, updateValueAndValidity?: boolean): void; hasError(errorCode: ExtractStrings, path?: ControlPath): boolean; setErrors(errors: Partial | null, opts?: EmitEvent): void; getError>(errorCode: K, path?: ControlPath): E[K] | null; }