import { Repository , SelectQueryBuilder } from "typeorm" ; import { IQuery } from "../../query/interfaces/IQuery" ; import { EntityBase } from "../../types/EntityBase" ; /**
 * Base repository operations for TypeORM entities.
 */ export interface ILinqRepository < T extends EntityBase > { /**
     * The underlying TypeORM repository.
     */ typeormRepository : Repository < T > ; param entities create < E extends T | T [ ] > ( entities ) : Promise < E > ; /**
     * Gets an instance of a QueryBuilder (useful if the Query returned by this repository does not meet your needs yet).
     */ createQueryBuilder ( alias ) : SelectQueryBuilder < T > ; param entities delete ( entities ) : Promise < boolean > ; /**
     * Returns a Query returning a set of results.
     */ getAll ( ) : IQuery < T , T [ ] > ; param id getById ( id ) : IQuery < T , T > ; /**
     * Returns a Query returning one entity.
     */ getOne ( ) : IQuery < T , T > ; param entities update < E extends T | T [ ] > ( entities ) : Promise < E > ; param entities upsert < E extends T | T [ ] > ( entities ) : Promise < E > ; }