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