import { Configuration } from "../../config/configuration";
import { Type, Property, Method } from "reflect-helper";
import { Constructor } from "../../index";
import { MappingBuilder } from "./mappingBuilder";
import { MappingModel } from "../mappingModel";
export declare class MappingBuilderContext {
    config: Configuration;
    errors: string[];
    currentType: Type;
    currentProperty: Property;
    currentMethod: Method;
    currentAnnotation: any;
    private _builders;
    private _typesByName;
    private _reflect;
    constructor(config: Configuration);
    populateMappings(): MappingModel.ClassMapping[];
    addError(message: string): void;
    getType(type: Constructor<any> | string): Type;
    addBuilder(mappedType: MappingBuilder): void;
    getBuilder(type: Type): MappingBuilder;
    hasBuilder(type: Type): boolean;
    assertClassMapping(mapping: MappingModel.Mapping): boolean;
    assertEmbeddableMapping(mapping: MappingModel.Mapping): boolean;
    assertRootClassMapping(mapping: MappingModel.Mapping): boolean;
    assertRootEntityMapping(mapping: MappingModel.Mapping): boolean;
    assertEntityMapping(mapping: MappingModel.Mapping): boolean;
}
