import 'reflect-metadata';
import { StaticModelT, ModelT, PkType } from '../core/model';
import { OrmMetadata } from '../metadata/server/orm';
import { LoggerCore } from '../services/logger-core';
import { Logger } from '../services/logger';
import { Sequelize } from './sequelize';
import { OrmTransformService } from '../services/orm-transform.service';
import { TransactionService } from '../services/transaction.service';
export declare class OrmReflector {
    private logger;
    private loggerCore;
    private ormMeta;
    private transactionService;
    private ormTransform;
    private sql;
    constructor(logger: Logger, loggerCore: LoggerCore, ormMeta: OrmMetadata, transactionService: TransactionService, ormTransform: OrmTransformService, sql: Sequelize);
    private dbImplLogger;
    init(): Promise<void>;
    reflectModels(models: StaticModelT<ModelT<PkType>>[]): void;
    private models;
    private modelsByTableName;
    reflectModel(modelFn: StaticModelT<ModelT<PkType>>): void;
    private reflectAssociations(models);
    private reflectModelAssociations(modelFn);
    private createDbImpls(models);
    private isStaticModelT(test);
    private isTableNameRef(test);
    private isModelNameRef(test);
    private resolveForeignModelFn(meta);
}
