import { Repository } from 'typeorm';
import { NestAuthUser } from '../../user/entities/user.entity';
import { NestAuthOTP } from '../../auth/entities/otp.entity';
import { JwtService } from '../../core/services/jwt.service';
import { EventEmitter2 } from '@nestjs/event-emitter';
import { SessionManagerService } from '../../session/services/session-manager.service';
import { AuthResponseDto } from '../dto/responses/auth.response.dto';
import { NestAuthForgotPasswordRequestDto } from '../dto/requests/forgot-password.request.dto';
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 { NestAuthVerifyForgotPasswordOtpRequestDto } from '../dto/requests/verify-forgot-password-otp-request-dto';
import { NestAuthResetPasswordWithTokenRequestDto } from '../dto/requests/reset-password-with-token.request.dto';
import { NestAuthChangePasswordRequestDto } from '../dto/requests/change-password.request.dto';
import { VerifyOtpResponseDto } from '../dto/responses/verify-otp.response.dto';
import { AuthConfigService } from '../../core/services/auth-config.service';
import { MfaService } from './mfa.service';
export declare class PasswordService {
    private readonly userRepository;
    private otpRepository;
    private readonly authProviderRegistry;
    private readonly mfaService;
    private readonly sessionManager;
    private readonly jwtService;
    private readonly eventEmitter;
    private readonly tenantService;
    private readonly debugLogger;
    private readonly authConfigService;
    constructor(userRepository: Repository<NestAuthUser>, otpRepository: Repository<NestAuthOTP>, authProviderRegistry: AuthProviderRegistryService, mfaService: MfaService, sessionManager: SessionManagerService, jwtService: JwtService, eventEmitter: EventEmitter2, tenantService: TenantService, debugLogger: DebugLoggerService, authConfigService: AuthConfigService);
    get mfaConfig(): import("../../core").MFAOptions;
    private handleError;
    private generateTokensPayload;
    private generateTokensFromSession;
    private generateAuthResponse;
    changePassword(input: NestAuthChangePasswordRequestDto): Promise<AuthResponseDto>;
    forgotPassword(input: NestAuthForgotPasswordRequestDto): Promise<true | {
        message: string;
    }>;
    verifyForgotPasswordOtp(input: NestAuthVerifyForgotPasswordOtpRequestDto): Promise<VerifyOtpResponseDto>;
    resetPasswordWithToken(input: NestAuthResetPasswordWithTokenRequestDto): Promise<boolean>;
}
//# sourceMappingURL=password.service.d.ts.map