///
import { Request, Response, NextFunction } from 'express';
import { ForgotDAO } from '../models/forgot-dao';
import { AppConfig } from '../config/app-config';
import { DAO } from '../models/dao';
import { IBaseUser } from '../interfaces';
import * as nodemailer from 'nodemailer';
export declare class ForgotController {
forgot: ForgotDAO;
appConfig: AppConfig;
constructor(appConfig: AppConfig, userDAO: DAO, transporter?: nodemailer.Transporter);
/**
* Envia um email para resetar a senha do usuário que a esqueceu
*
* @param {Request} req
* @param {Response} res
* @param {NextFunction} [next]
* @returns {Promise}
*
* @memberOf ForgotController
*/
sendMail(req: Request, res: Response, next?: NextFunction): Promise;
/**
* Valida o token do parâmetro
*
* @param {Request} req
* @param {Response} res
* @param {NextFunction} next
* @returns {Promise}
*
* @memberOf ForgotController
*/
validaToken(req: Request, res: Response, next: NextFunction): Promise;
/**
* Verifica o token e reseta a senha do usuário
*
* @param {Request} req
* @param {Response} res
* @param {NextFunction} next
* @returns {Promise}
*
* @memberOf ForgotController
*/
resetPassword(req: Request, res: Response, next: NextFunction): Promise;
}