import { SendMailInfo } from "../../common-types";
import { IUser } from "../../schema";
import { controllerResponse } from "../../utilities";
type IResetPasswordErrorLogger = {
    [key in keyof MResetPassword]: string;
};
declare class MResetPassword {
    user_password: string;
    user_username: string;
    sylog_config_data: resetPasswordSylog;
    constructor(init: MResetPassword);
    Validate?(): Partial<IResetPasswordErrorLogger>;
}
interface resetPasswordJwtPayload {
    user_password?: string;
}
interface resetPasswordSylog {
    reset_password_link?: string;
    reset_password_secret?: string;
    request_timestamp?: Date;
}
interface ResetPasswordControllerResponse extends controllerResponse {
    data?: Partial<ResetPasswordResponseData>;
}
interface SignOutControllerResponse extends controllerResponse {
}
interface ResetPasswordResponseData {
    user: Partial<IUser>;
    reset_password_link: string;
}
interface ResetPasswordSendMailInfo extends SendMailInfo {
    data: Partial<ResetPasswordResponseData>;
}
export { IResetPasswordErrorLogger, //interface
MResetPassword, // model
resetPasswordJwtPayload, resetPasswordSylog, ResetPasswordControllerResponse, ResetPasswordResponseData, ResetPasswordSendMailInfo, SignOutControllerResponse };
