///
import { Request, Response, NextFunction } from 'express';
import { SignUpDAO } from '../models/signup-dao';
import { AppConfig } from '../config/app-config';
import { IBaseUser } from '../interfaces';
import { DAO } from '../models/dao';
import * as nodemailer from 'nodemailer';
export declare class SignupController {
signUpDAO: SignUpDAO;
config: AppConfig;
constructor(appConfig: AppConfig, userDAO: DAO, transporter?: nodemailer.Transporter);
/**
* Envia um email para criar o primeiro login
*
* @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 SignupController
*/
validaToken(req: Request, res: Response, next: NextFunction): Promise;
/**
* Verifica o token e cadastra a senha para o usuário
*
* @param {Request} req
* @param {Response} res
* @param {NextFunction} next
* @returns {Promise}
*
* @memberOf SignupController
*/
registerPassword(req: Request, res: Response, next: NextFunction): Promise;
}