import { AbstractControl } from '@angular/forms';
import { ControlVisitor, CustomControlMetadata, FormArrayMetadata, FormControlMetadata, FormGroupMetadata, FormMetadata } from '../metadata';
import { CustomMapperResolver } from './custom-mapper-resolver';
import { ValidatorResolver } from './validator-resolver';
export declare class FormWriter implements ControlVisitor<AbstractControl> {
    private readonly value;
    private readonly customMapperResolver;
    private readonly validatorResolver;
    constructor(value: any, customMapperResolver: CustomMapperResolver, validatorResolver: ValidatorResolver);
    visitCustomControlMetadata(customControlMetadata: CustomControlMetadata): AbstractControl;
    visitFormArrayMetadata(formArrayMetadata: FormArrayMetadata): AbstractControl;
    visitFormControlMetadata(formControlMetadata: FormControlMetadata): AbstractControl;
    visitFormGroupMetadata(formGroupMetadata: FormGroupMetadata): AbstractControl;
    visitFormMetadata(formMetadata: FormMetadata): AbstractControl;
    private buildAbstractControlOptions;
    private copyPrototype;
}
