import { DataSource, EntityManager, FindManyOptions, FindOneOptions, Repository } from 'typeorm'; import { NestAuthUser } from '../entities/user.entity'; import { EventEmitter2 } from '@nestjs/event-emitter'; import { TenantService } from '../../tenant'; import { DebugLoggerService } from '../../core/services/debug-logger.service'; import { AuthConfigService } from '../../core/services/auth-config.service'; import { NestAuthUserAccess } from '../entities/user-access.entity'; import { NestAuthTenant } from '../../tenant/entities/tenant.entity'; export declare class UserService { private readonly userRepository; private readonly userAccessRepository; private readonly dataSource; private readonly tenantService; private readonly eventEmitter; private readonly authConfigService; private readonly debugLogger; constructor(userRepository: Repository, userAccessRepository: Repository, dataSource: DataSource, tenantService: TenantService, eventEmitter: EventEmitter2, authConfigService: AuthConfigService, debugLogger: DebugLoggerService); runInTransaction(fn: (manager: EntityManager) => Promise): Promise; private getUserRepo; private getUserAccessRepo; createUser(data: Partial, tenantId?: string, context?: any, manager?: EntityManager, platform?: boolean): Promise; private createUserCore; getUserById(id: string, options?: FindOneOptions, manager?: EntityManager): Promise; getUserByEmail(email: string, tenantId?: string, options?: FindOneOptions, manager?: EntityManager, platform?: boolean): Promise; getUserByPhone(phone: string, tenantId?: string, options?: FindOneOptions, manager?: EntityManager, platform?: boolean): Promise; getUsers(options?: FindManyOptions, manager?: EntityManager): Promise; createPlatformUser(data: Partial, context?: any, manager?: EntityManager): Promise; getPlatformUserByEmail(email: string, options?: FindOneOptions, manager?: EntityManager): Promise; updateUser(id: string, data: Partial, manager?: EntityManager): Promise; ensureUserAccess(userId: string, tenantId: string, manager?: EntityManager): Promise; isUserInTenant(userId: string, tenantId: string, manager?: EntityManager): Promise; setUserAccessRoles(userId: string, tenantId: string, roleIds: string[], manager?: EntityManager): Promise; getUserTenants(userId: string, manager?: EntityManager): Promise; getTenantsByEmail(email: string, manager?: EntityManager): Promise; getTenantsByPhone(phone: string, manager?: EntityManager): Promise; private findTenantsByUserField; deleteUserAccess(userId: string, tenantId: string, manager?: EntityManager): Promise; deleteUser(id: string, manager?: EntityManager): Promise; verifyUser(id: string, verificationType?: 'email' | 'phone' | 'none', manager?: EntityManager): Promise; unverifyUser(id: string, verificationType?: 'email' | 'phone' | 'none', manager?: EntityManager): Promise; updateUserStatus(id: string, isActive: boolean, manager?: EntityManager): Promise; updateUserMetadata(id: string, metadata: Record, manager?: EntityManager): Promise; countUsers(options?: FindManyOptions, manager?: EntityManager): Promise; getUsersAndCount(options?: FindManyOptions, manager?: EntityManager): Promise<[NestAuthUser[], number]>; getUsersByRole(roleName: string, guard: string, tenantId?: string, manager?: EntityManager): Promise; getPlatformUsers(options?: FindManyOptions, manager?: EntityManager): Promise; getPlatformUsersAndCount(options?: FindManyOptions, manager?: EntityManager): Promise<[NestAuthUser[], number]>; getPlatformUsersByRole(roleName: string, guard?: string, manager?: EntityManager): Promise; private withPlatformScope; private ensureRelation; } //# sourceMappingURL=user.service.d.ts.map