interface UserConfig { rootRefCode?: string; password: string; } interface User { parentRefCode: string; refCode: string; password: string; email: string; children: User[]; } interface NormalizedUser { parentRefCode: string; refCode: string; password: string; email: string; } interface ReferralTreeConfig { noOfLevels: number; minChildPerNode: number; maxChildPerNode: number; mustHaveChildPerNode: number; userConfig: UserConfig; passwordHasher?: (password: string) => Promise; refCodeGenerator?: () => string; addAdditionalData?: () => Promise>; } export declare const generateReferralTree: (data: ReferralTreeConfig) => Promise<{ rootUser: User; totalUsersCount: number; totalUsersToInsert: NormalizedUser[]; }>; export {};