import { MetadataStore } from "breeze-client";
import { ModelCtor, Sequelize } from "sequelize";
/** Map name to Sequelize Model type */
export interface NameModelMap {
    [modelName: string]: ModelCtor<any>;
}
/** Maps Breeze metadata to Sequelize Models */
export declare class MetadataMapper {
    readonly sequelize: Sequelize;
    readonly metadataStore: MetadataStore;
    /** Maps entity type name to Sequelize Model */
    entityTypeSqModelMap: NameModelMap;
    /** Maps resource name to Sequelize Model */
    resourceNameSqModelMap: NameModelMap;
    constructor(breezeMetadata: MetadataStore | string | Object, sequelize: Sequelize);
    /** creates entityTypeSqModelMap and resourceNameSqModelMap */
    private _createMaps;
    /** Adds relationships to the Models based on Breeze NavigationProperties */
    private createNavProps;
    /** Creates a set of Sequelize attributes based on DataProperties */
    private mapToSqModelConfig;
    /** Creates Sequelize column attributes based on a DataProperty  */
    private mapToSqPropConfig;
}
