import { Response } from 'express';
import { AuthService } from '../auth/auth.service';
import { PasswordUtility } from '../services/password.utility';
import { UserManagementMailer } from '../UserManagement/email';
import { PasswordResetRequest } from '../requests';
import { UserService } from '../services/user.service';
import { License } from '../License';
import { MfaService } from '../Mfa/mfa.service';
import { Logger } from '../Logger';
import { ExternalHooks } from '../ExternalHooks';
import { InternalHooks } from '../InternalHooks';
import { UrlService } from '../services/url.service';
import { UserRepository } from '../databases/repositories/user.repository';
export declare class PasswordResetController {
    private readonly logger;
    private readonly externalHooks;
    private readonly internalHooks;
    private readonly mailer;
    private readonly authService;
    private readonly userService;
    private readonly mfaService;
    private readonly urlService;
    private readonly license;
    private readonly passwordUtility;
    private readonly userRepository;
    constructor(logger: Logger, externalHooks: ExternalHooks, internalHooks: InternalHooks, mailer: UserManagementMailer, authService: AuthService, userService: UserService, mfaService: MfaService, urlService: UrlService, license: License, passwordUtility: PasswordUtility, userRepository: UserRepository);
    forgotPassword(req: PasswordResetRequest.Email): Promise<void>;
    resolvePasswordToken(req: PasswordResetRequest.Credentials): Promise<void>;
    changePassword(req: PasswordResetRequest.NewPassword, res: Response): Promise<void>;
}
