import { AsyncValidatorFn, ValidatorFn } from './directives/validators'; import { FormArray, FormControl, FormGroup } from './model'; /** * @whatItDoes Creates an {@link AbstractControl} from a user-specified configuration. * * It is essentially syntactic sugar that shortens the `new FormGroup()`, * `new FormControl()`, and `new FormArray()` boilerplate that can build up in larger * forms. * * @howToUse * * To use, inject `FormBuilder` into your component class. You can then call its methods * directly. * * {@example forms/ts/formBuilder/form_builder_example.ts region='Component'} * * * **npm package**: `@angular/forms` * * * **NgModule**: {@link ReactiveFormsModule} * * @stable */ export declare class FormBuilder { /** * Construct a new {@link FormGroup} with the given map of configuration. * Valid keys for the `extra` parameter map are `validator` and `asyncValidator`. * * See the {@link FormGroup} constructor for more details. */ group(controlsConfig: { [key: string]: any; }, extra?: { [key: string]: any; } | null): FormGroup; /** * Construct a new {@link FormControl} with the given `formState`,`validator`, and * `asyncValidator`. * * `formState` can either be a standalone value for the form control or an object * that contains both a value and a disabled status. * */ control(formState: Object, validator?: ValidatorFn | ValidatorFn[] | null, asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null): FormControl; /** * Construct a {@link FormArray} from the given `controlsConfig` array of * configuration, with the given optional `validator` and `asyncValidator`. */ array(controlsConfig: any[], validator?: ValidatorFn | null, asyncValidator?: AsyncValidatorFn | null): FormArray; }