import { AbstractControlOptions , ValidatorFn , AsyncValidatorFn , FormArray , FormControl , FormGroup } from "@angular/forms" ; import { ControlState } from "./control-state" ; import { ControlConfig } from './control-config' ; import { IFormGroup } from './i-form-group' ; import { IFormArray } from './i-form-array' ; import { IFormControl } from './i-form-control' ; export interface IFormBuilder { array < Item = any > ( controlsConfig , validatorOrOpts ? , asyncValidator ? ) : IFormArray < Item > ; control < T = any > ( formState , validatorOrOpts ? , asyncValidator ? ) : IFormControl < T > ; group ( controlsConfig , options ? ) : FormGroup ; group < T extends object = any > ( controlsConfig , options ? ) : IFormGroup < T > ; }