import { Repository } from 'typeorm'; import { NestAuthUser } from '../../user/entities/user.entity'; import { MfaService } from './mfa.service'; import { JwtService } from '../../core/services/jwt.service'; import { EventEmitter2 } from '@nestjs/event-emitter'; import { SessionManagerService } from '../../session/services/session-manager.service'; import { NestAuthSignupRequestDto } from '../dto/requests/signup.request.dto'; import { AuthResponseDto } from '../dto/responses/auth.response.dto'; import { NestAuthLoginRequestDto } from '../dto/requests/login.request.dto'; import { NestAuthVerify2faRequestDto } from '../dto/requests/verify-2fa.request.dto'; import { NestAuthVerifyRecoveryCodeRequestDto } from '../dto/requests/verify-recovery-code.request.dto'; import { ISessionUserData, NestAuthMFAMethodEnum } from '@ackplus/nest-auth-contracts'; import { AuthProviderRegistryService } from '../../core/services/auth-provider-registry.service'; import { TenantService } from '../../tenant/services/tenant.service'; import { DebugLoggerService } from '../../core/services/debug-logger.service'; import { AuthConfigService } from '../../core/services/auth-config.service'; import { NestAuthSession } from '../../session/entities/session.entity'; import { AuthTokensResponseDto } from '../dto/responses/auth.response.dto'; import { UserService } from '../../user/services/user.service'; import { ITenantContextService } from '../../tenant/tenant-context/tenant-context.interface'; import { OtpFlowService } from './otp-flow.service'; import { LogoutService } from './logout.service'; import { SessionTokenService } from './session-token.service'; import { DisposableEmailService } from './disposable-email.service'; import { NestAuthUserAccess } from '../../user/entities/user-access.entity'; import { NestAuthPlatformAccess } from '../../user/entities/platform-access.entity'; export declare class AuthService { private readonly userRepository; private readonly authProviderRegistry; private readonly mfaService; private readonly sessionManager; private readonly jwtService; private readonly eventEmitter; private readonly tenantService; private readonly debugLogger; private readonly authConfigService; private readonly userService; private readonly otpFlow; private readonly logoutService; private readonly sessionTokenService; private readonly disposableEmail; private readonly tenantContext; private get authConfig(); constructor(userRepository: Repository, authProviderRegistry: AuthProviderRegistryService, mfaService: MfaService, sessionManager: SessionManagerService, jwtService: JwtService, eventEmitter: EventEmitter2, tenantService: TenantService, debugLogger: DebugLoggerService, authConfigService: AuthConfigService, userService: UserService, otpFlow: OtpFlowService, logoutService: LogoutService, sessionTokenService: SessionTokenService, disposableEmail: DisposableEmailService, tenantContext: ITenantContextService); getUserWithRoles(userId: string, relations?: string[]): Promise; getUserWithAccess(userId: string, tenantId: string, isPlatformAccess?: boolean): Promise<{ user: NestAuthUser; userAccess?: NestAuthUserAccess; platformAccess?: NestAuthPlatformAccess; }>; signup(input: NestAuthSignupRequestDto): Promise; login(input: NestAuthLoginRequestDto): Promise; private emitLoginFailed; private resolveOrCreateUserForSend; passwordlessSend(input: { identifier: string; channel: 'email' | 'sms'; tenantId?: string; }): Promise<{ message: string; }>; verify2fa(input: NestAuthVerify2faRequestDto): Promise; verifyRecoveryCode(input: NestAuthVerifyRecoveryCodeRequestDto): Promise; switchTenant(tenantId?: string | null): Promise; getSessionUserData(): Promise>; send2faCode(userId: string, method: NestAuthMFAMethodEnum): Promise; private handleSocialLogin; refreshToken(refreshToken: string): Promise; logout(logoutType?: 'user' | 'admin' | 'system', reason?: string): Promise; logoutAll(userId: string, logoutType?: 'user' | 'admin' | 'system', reason?: string): Promise; private ensureTenantAccess; private handleError; generateTokensFromSession(session: NestAuthSession): Promise; generateAuthResponse(user: NestAuthUser, session: any, tokens: { accessToken: string; refreshToken: string; }, isRequiresMfa: boolean, trustToken?: string): Promise; private applyProviderVerification; private assertTenantIdAllowed; private checkTrustedDevice; } //# sourceMappingURL=auth.service.d.ts.map