import { User, UserRoleType } from '../interfaces'; type Omit = Pick>; /** * A lightweight utility class mimicking core functionalities of a library like Lodash, * primarily focused on generating random data for testing purposes. */ declare class TestDataGenerator { /** * Generates a random string of a specified length using the defined character set. * @param length The desired length of the random string. * @param chars The set of characters to use for generation. * @returns A random string. */ generateRandomString(length: number, chars: string): string; /** * Generates a random 10-digit phone number in a common format: (XXX) XXX-XXXX. * @returns A string representing a random phone number. */ getRandomPhoneNumber(): string; /** * Generates a random string suitable for a first name (6-12 characters). * @returns A random name string. */ getRandomFirstName(): string; /** * Generates a random string suitable for a last name (6-12 characters). * @returns A random name string. */ getRandomLastName(): string; /** * Generates a random 5-digit postal code (suitable for many regions). * @returns A number representing a random postal code. */ getRandomPostalCode(): string; /** * Generates a random email address using the provided username and a random domain. * @param userName The prefix to be used for the email address. * @returns A string representing a random email address. */ getRandomEmail(userName: string): string; /** * Generates a full random user object ready for insertion into the database. * The returned object omits the _id field, as it is generated by MongoDB. * @param userRole The specific role to assign to the generated user. * @returns An object of type Omit. */ getRandomUser(userRole: UserRoleType): Omit; } export declare const _: TestDataGenerator; export {};