import { AnyEntity, Dictionary, FilterQuery, PopulateOptions } from '../typings'; import { EntityManager } from '../EntityManager'; import { QueryOrderMap } from '../enums'; declare type Options> = { where?: FilterQuery; orderBy?: QueryOrderMap; refresh?: boolean; validate?: boolean; lookup?: boolean; convertCustomTypes?: boolean; filters?: Dictionary | string[] | boolean; }; export declare class EntityLoader { private readonly em; private readonly metadata; private readonly driver; constructor(em: EntityManager); populate>(entityName: string, entities: T[], populate: PopulateOptions[] | boolean, options: Options): Promise; normalizePopulate(entityName: string, populate: PopulateOptions[] | true, lookup?: boolean): PopulateOptions[]; /** * merge multiple populates for the same entity with different children */ private mergeNestedPopulate; /** * Expands `books.perex` like populate to use `children` array instead of the dot syntax */ private expandNestedPopulate; /** * preload everything in one call (this will update already existing references in IM) */ private populateMany; private initializeCollections; private initializeOneToMany; private initializeManyToMany; private findChildren; private populateField; private findChildrenFromPivotTable; private getChildReferences; private filterCollections; private filterReferences; private lookupAllRelationships; private lookupEagerLoadedRelationships; } export {};