import { Loggable } from "./Loggable"; import { IDataStore } from "../interfaces"; import { DataSource, Entity } from "typeorm"; import { ILogger } from "../interfaces/lib/ILogger"; import { IAlerts } from "../interfaces/lib/IAlerts"; import { IRepository } from "../interfaces/datastore/IRepository"; export declare class DataStore extends Loggable implements IDataStore { datasource?: DataSource; /** * @param {DataSource} datasource typeorm DataSource * @param {ILogger} logger property used for delegation of routing logs * @param {IAlerts} alerts property used for delegation of sending alerts */ constructor(datasource?: DataSource, logger?: ILogger, alerts?: IAlerts); /** * Gets repository from the data source * @param entity type of repository to return */ getRepository(entity: typeof Entity): IRepository | undefined; /** * Initializes datasource */ initialize(): Promise; }