import type { Faker } from "@faker-js/faker"; import type { ArrayPaths, BuildOpts, Paths, Type } from "../interfaces"; import { Plain } from "../interfaces/plain"; declare class EntityBuilder { private readonly faker; private readonly entityType; private readonly relations; private readonly exclusions; private readonly overrides; private readonly globalAutoCounters; private readonly localAutoCounters; private currentRoot; private asPlain; constructor({ faker, entity, plain }: BuildOpts); with

>(path: P): this; with

>(amount: number, path: P): this; without

>(path: P): this; set

>(path: P, value: any): this; make(size?: M extends true ? number : never): M extends true ? T[] : T; plain(size?: M extends true ? number : never): M extends true ? Plain[] : Plain; private spawnRoot; private spawnChild; private hasRelation; private populate; private bindKeys; private readFieldMeta; private readRelationMeta; private generateAutoIncrement; } export declare class Factory { private readonly fake; constructor(faker: Faker); one(entity: Type): EntityBuilder; many(entity: Type): EntityBuilder; } export {};