import { type DeepPartial, type EntityManager, type EntityTarget, type FindOneOptions, type FindOptionsWhere, type ObjectLiteral, Repository, type UpsertOptions } from 'typeorm'; export declare class TypeOrmRepository extends Repository { constructor(entity: EntityTarget, manager: EntityManager); createAndInsert(entityLike: DeepPartial | T): Promise; createAndInsert(entityLike: Array | T>): Promise; /** * Upsert counterpart of {@link createAndInsert}. * * `upsert` takes `QueryDeepPartialEntity`, which recurses through every relation of `T`. On a * large, cyclic entity graph TypeScript exhausts its comparison budget and rejects a perfectly * valid entity. Taking `DeepPartial | T` here keeps that type off the call site. */ createAndUpsert(entityLike: DeepPartial | T, conflictPathsOrOptions: string[] | UpsertOptions): Promise; createAndUpsert(entityLike: Array | T>, conflictPathsOrOptions: string[] | UpsertOptions): Promise; findNextBatch(options: FindOneOptions, batchSize: number, lastEntity: Partial | undefined): Promise; findInBatches(options: FindOneOptions, batchSize: number): AsyncGenerator; findByInBatches(where: FindOptionsWhere | FindOptionsWhere[], batchSize: number): AsyncGenerator; private addBatchingToOrder; private addBatchingToSelect; private addBatchingToWhere; private addBatchConditionToWhereClause; private getLastEntityEntriesForOrder; private getKeyCondition; }