import { EntityTarget } from '../entity-target.type'; import { ITransaction } from './transaction.interface'; import { ObjectLiteral } from '../object-literal.interface'; import { FindOptionsOrder } from './query-pagination-options.interface'; import { IRequestScopedBag } from '../../../../infrastructure/environment'; export interface IRepositoryOperationOptions { transaction?: ITransaction; entity?: ITransaction extends undefined ? never : EntityTarget; currentRequestScopedBad?: IRequestScopedBag; } export interface IRepositoryQueryCache { useCache: boolean; milliseconds: number; } export interface IRepositoryQueryOptions extends IRepositoryOperationOptions { cache?: IRepositoryQueryCache; order?: FindOptionsOrder; }