import { TranslatedPropertyHelper } from './../utils/translated-property-helper';
import { I18N } from 'aurelia-i18n';
import * as breeze from 'breeze-client';
import { CustomLogger } from '../modules/custom-logger';
import { Datacontext } from './data-context';
export declare abstract class BreezeModel {
    i18N: I18N;
    logger: CustomLogger;
    datacontext: Datacontext;
    private translatedPropertyHelper;
    constructor(i18N: I18N, logger: CustomLogger, datacontext: Datacontext, translatedPropertyHelper: TranslatedPropertyHelper);
    private addValidationRules;
    createNullo(entityName: string, manager: breeze.EntityManager, values?: any): breeze.Entity;
    private forceMetaDataCustomProperties;
    private getCustomMetadataPropertyValue;
    configureMetadataStore(metadataStore: breeze.MetadataStore, manager: breeze.EntityManager): void;
    private addCustomValidationRules;
    abstract configureInitializerAndCtor(metadataStore: breeze.MetadataStore, manager: breeze.EntityManager): any;
    initializeCommonEntities(entityType: breeze.EntityType | breeze.ComplexType, entity: breeze.Entity): void;
    detectTranslatedProperties(entityType: breeze.EntityType | breeze.ComplexType, entity: breeze.Entity): any;
}
