import { AbstractControl as AngularAbstractControl } from '@angular/forms' ; import { Observable } from 'rxjs' ; import { AsyncValidatorFn , ValidatorFn } from './validation' ; /**
 * A type-safe AbstractControl class which accepts a generic type T.
 */ export interface AbstractControl < T > extends AngularAbstractControl { value : T ; valueChanges : Observable < T > ; validator : ValidatorFn < T > | null ; asyncValidator : AsyncValidatorFn < T > | null ; setValue ( value , options ? ) : void ; patchValue ( value , options ? ) : void ; setValidators ( newValidator ) : void ; setAsyncValidators ( newValidator ) : void ; }