import { IAuthTenantUser, ILogger, RevokedTokenRepository, SuccessResponse } from '@loopx/core'; import { AuthClient, AuthClientRepository, RoleRepository, TenantConfigRepository, User, UserCredentialsRepository, UserLevelPermissionRepository, UserRepository, UserTenantRepository } from '@loopx/user-core'; import { AuthCodeGeneratorFn } from '../../providers'; import { OtpCacheRepository, RefreshTokenRepository } from '../../repositories'; import { LoginHelperService, TokenService, UserAuthService } from '../../services'; import { CodeResponse, LoginRequest } from './'; import { AuthUser } from './models/auth-user.model'; import { ResetPassword } from './models/reset-password.dto'; import { TokenResponse } from './models/token-response.dto'; export declare class LoginController { private readonly client; private readonly user; authClientRepository: AuthClientRepository; userRepo: UserRepository; otpCacheRepo: OtpCacheRepository; roleRepo: RoleRepository; utPermsRepo: UserLevelPermissionRepository; userTenantRepo: UserTenantRepository; refreshTokenRepo: RefreshTokenRepository; revokedTokensRepo: RevokedTokenRepository; tenantConfigRepo: TenantConfigRepository; userCredsRepository: UserCredentialsRepository; private readonly loginHelperService; private readonly tokenService; private readonly userAuthService; private readonly getAuthCode; logger: ILogger; constructor(client: AuthClient | undefined, user: AuthUser | undefined, authClientRepository: AuthClientRepository, userRepo: UserRepository, otpCacheRepo: OtpCacheRepository, roleRepo: RoleRepository, utPermsRepo: UserLevelPermissionRepository, userTenantRepo: UserTenantRepository, refreshTokenRepo: RefreshTokenRepository, revokedTokensRepo: RevokedTokenRepository, tenantConfigRepo: TenantConfigRepository, userCredsRepository: UserCredentialsRepository, loginHelperService: LoginHelperService, tokenService: TokenService, userAuthService: UserAuthService, getAuthCode: AuthCodeGeneratorFn, logger: ILogger); login(req: LoginRequest, client: AuthClient | undefined, user: AuthUser | undefined): Promise; loginWithClientUser(req: LoginRequest): Promise; changePassword(req: ResetPassword, auth: string, currentUser: IAuthTenantUser): Promise; getPasswordResponse(userName: string, password: string, prevPassword?: string): Promise; }