import { BuildOptions, DbConfig, LoggerInstance, Model, Sequelize } from '../vendor';
declare type TempModel<T extends Attributes> = new (values?: object, options?: BuildOptions) => T;
export declare type TModel<T extends Attributes> = typeof Model & TempModel<T>;
declare global {
    export interface Attributes extends Model {
        id?: number;
    }
    interface Models {
        [modelName: string]: TModel<Attributes>;
    }
}
export declare class Repository {
    Dal: Sequelize;
    Models: Models;
    Logger: LoggerInstance;
    static get Instance(): Repository;
    static init(config: DbConfig, modelPatterns: string[], logger: LoggerInstance): Repository;
    private static singleton;
    private static getFiles;
    private constructor();
}
export {};
