import { AbstractControl, FormArray, FormControl, FormControlState, FormGroup } from '@angular/forms'; import { ControlWrapperV2 } from '../internal/control-wrapper-v2'; import { ControlFactoryV2 } from './control-factory-v2.service'; import { ArrayBuilderDefinition, ControlBuilderDefinition, GroupBuilderDefinition } from '../question-definition'; import * as i0 from "@angular/core"; export declare class FastFormBuilder { private cf; constructor(cf: ControlFactoryV2); control(state: FormControlState | T, opts: ControlBuilderDefinition & { nonNullable: true; }): FormControl; control(state: FormControlState | T, opts: ControlBuilderDefinition): FormControl; controlGroup(state: T, opts: ControlBuilderDefinition): FormGroup<{ [K in keyof T]: AbstractControl; }>; dynamicControl(state: FormControlState | T, opts: ControlBuilderDefinition): AbstractControl; /** * Experimental */ group(question: GroupBuilderDefinition, groupControls?: { [key: string]: AbstractControl; }): FormGroup<{ [K in keyof T]: AbstractControl; }>; /** * Experimental */ array(question: ArrayBuilderDefinition, arrayQuestion?: AbstractControl): FormArray>; /** * Experimental */ newArrayEntry(array: FormArray): AbstractControl; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export declare const ControlWrapperKey = "aff_wrapper"; export type WrapperProvider = (AbstractControl | FormGroup | FormControl | FormArray) & { [ControlWrapperKey]: ControlWrapperV2; }; export declare function hasControlWrapper(control: object): control is WrapperProvider;