import { SchemaValidatorFactory } from '../schemavalidatorfactory';
import { ValidatorRegistry } from '../model/validatorregistry';
import { Schema } from '../schema';
import { FormProperty } from './form-property';
import { ArrayProperty } from './array-property';
import { ObjectProperty } from './object-property';
export declare type PropertyParent = ObjectProperty | ArrayProperty;
export declare class FormPropertyFactory {
    private schemaValidatorFactory;
    private validatorRegistry;
    constructor(schemaValidatorFactory: SchemaValidatorFactory, validatorRegistry: ValidatorRegistry);
    createProperty(schema: Schema, propertyParent?: PropertyParent, propertyKey?: string): FormProperty;
    private initializeFormProperty(property, propertyParent?);
    private bindSchemaValidator(property);
    private bindCustomValidator(property);
    private generatePath(propertyParent?, propertyKey?);
}
