import { Observable, Subscription } from 'rxjs'; import { AbstractControl, ControlOptions, ControlPath, ControlState, ValidatorFn } from './types'; import { RxapFormArray } from './form-array'; import { RxapFormGroup } from './form-group'; import { RxapFormControl } from './form-control'; export declare function controlValueChanges$(control: AbstractControl): Observable; export declare function controlDisabled$(control: AbstractControl): Observable; export declare function controlEnabled$(control: AbstractControl): Observable; export declare function controlReadonly$(control: AbstractControl): Observable; export declare function controlStatusChanges$(control: AbstractControl): Observable; export declare function controlErrorChanges$(control: AbstractControl): Observable; export declare function enableControl(control: AbstractControl, enabled: boolean, opts?: ControlOptions): void; export declare function disableControl(control: AbstractControl, disabled: boolean, opts?: ControlOptions): void; export declare function controlDisabledWhile(control: AbstractControl, observable: Observable, opts?: ControlOptions): Subscription; export declare function controlEnabledWhile(control: AbstractControl, observable: Observable, opts?: ControlOptions): Subscription; export declare function mergeControlValidators>(control: Control, validators: ValidatorFn | ValidatorFn[]): void; export declare function validateControlOn(control: AbstractControl, validation: Observable): Subscription; export declare function hasErrorAndTouched(control: AbstractControl, error: string, path?: ControlPath): boolean; export declare function hasErrorAndDirty(control: AbstractControl, error: string, path?: ControlPath): boolean; export declare function markAllDirty(control: RxapFormArray | RxapFormGroup): void; export declare function markAllPristine(control: RxapFormArray | RxapFormGroup): void; export declare function markAllUntouched(control: RxapFormArray | RxapFormGroup): void; export declare function selectControlValue$(control: RxapFormGroup | RxapFormArray | RxapFormControl, mapFn: (state: T) => R): Observable;