import { AbstractControl, AbstractControlOptions, AsyncValidatorFn, FormControl, FormControlOptions, FormGroup, ValidatorFn } from "@angular/forms";
import { Observable } from "rxjs";
export declare class FormGroupTypeSafe<T extends object> extends FormGroup {
    constructor(controls: Record<keyof T, AbstractControl>, validatorOrOpts?: ValidatorFn | AbstractControlOptions | ValidatorFn[], asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[]);
    controls: Record<keyof T, FormControlTypeSafe<T[keyof T]>>;
    valueChanges: Observable<T>;
    value: T;
}
export declare class FormControlTypeSafe<K> extends FormControl {
    constructor(formState?: any, validatorOrOpts?: ValidatorFn | ValidatorFn[] | FormControlOptions | null, asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null);
    valueChanges: Observable<K>;
    value: K;
}
