import { type ReactiveControllerHost } from 'lit'; import type { ValueAccessorProvider } from '../value-accessors/value-accessor-provider'; import type { FormGroupComponents } from '../common/types'; import type { FormControlOptions, FormControl } from '../component-model/form-control'; import type { ValidationErrorMessageWriter } from '../validation/validation-error-message-writer'; import type { FormGroup } from '../component-model/form-group'; import type { FormArray } from '../component-model/form-array'; import type { FormController } from '../controllers/form-controller'; export declare interface FormBuilderOptions { readonly providers?: readonly ValueAccessorProvider[]; readonly validationErrorMessageWriter?: ValidationErrorMessageWriter; readonly disableNativeValidation?: boolean; } export declare class FormBuilder { private readonly _valueAccessorFactory; private readonly _validationErrorMessageWriter; private readonly _disableNativeValidation; constructor(options?: FormBuilderOptions); form(host: ReactiveControllerHost, components: TComponents): FormController; group(components: TComponents): FormGroup; array(components: TComponents): FormArray; control(value?: TValue | null, options?: FormControlOptions): FormControl; }