import { AbstractControl, AsyncValidatorFn, FormControl, FormControlStatus, ValidatorFn } from '@angular/forms'; import { Observable } from 'rxjs'; type ControlChangeStateFn = (value: TValue) => void; /** * A utility class for working with Angular forms. Provides static methods to handle form control states, * values, and validators. */ export declare class FormTools { static isDisabled(status: FormControlStatus): boolean; static isEnabled(status: FormControlStatus): boolean; static isValid(status: FormControlStatus): boolean; static isInvalid(status: FormControlStatus): boolean; static isPending(status: FormControlStatus): boolean; static getValue$(control: FormControl): Observable; static getValue$(control: AbstractControl): Observable; static getValue$(control: AbstractControl): Observable; static getIsEmpty$(...controls: FormControl[]): Observable; static getStatus$(control: AbstractControl): Observable; static getIsDisabled$(control: AbstractControl): Observable; static getIsEnabled$(control: AbstractControl): Observable; static getIsInvalid$(control: AbstractControl): Observable; static getIsValid$(control: AbstractControl): Observable; static getIsPending$(control: AbstractControl): Observable; static revalidate(control: AbstractControl, emitEvent?: boolean): void; static setValidators(control: AbstractControl, validators: ValidatorFn | (ValidatorFn | null | undefined)[] | null | undefined): void; static setAsyncValidators(control: AbstractControl, validators: AsyncValidatorFn | (AsyncValidatorFn | null | undefined)[] | null | undefined): void; static setEnabled(control: AbstractControl): ControlChangeStateFn; static setDisabled(control: AbstractControl): ControlChangeStateFn; static setTouched(control: AbstractControl): ControlChangeStateFn; static setUntouched(control: AbstractControl): ControlChangeStateFn; static setPristine(control: AbstractControl): ControlChangeStateFn; static setDirty(control: AbstractControl): ControlChangeStateFn; } export {};