import type { ObjectGenerator, IObjectBuilder } from "../types"; export declare class ObjectBuilder implements IObjectBuilder { #private; /** * Default constructor. * @param generator Function generator responsible for creating objects. */ constructor(generator: ObjectGenerator); /** * Sets the seed or generates a new one. * It's used in case you need consistent results in a test. * @param seed The seed to use to generate the data. * @returns The builder instance. */ seed: (seed?: number | undefined) => ObjectBuilder; /** * Assigns own string keyed properties of source object to the destination object. * In practice you can define properties that will persist between every object created. * @param source The source object. * @returns A new builder instance with the persisted source object. */ assign: (source: Partial) => ObjectBuilder; /** * Creates one new object based on the previously provided factory generator. * @returns A new object. */ create: () => T; /** * Creates one or more objects based on the previously provided factory generator. * @param quantity Number of objects to be created. * @returns List constaining _quantity_ number of objects. */ createMany: (quantity: number) => T[]; /** * Creates one object containing only the provided paths. * @param paths List of properties to be returned on the object. * @returns A new object. */ createAndPick: (paths: Array) => Partial; /** * Creates one or more objects containing only the provided paths. * @param quantity Number of objects to be created. * @param paths List of properties to be returned on the object. * @returns List constaining _quantity_ number of objects. */ createManyAndPick: (quantity: number, paths: Array) => Partial[]; }