import { SendMailInfo } from "../../common-types";
import { IUser } from "../../schema";
import { controllerResponse } from "../../utilities";
import { loginMethod } from "../../utilities/helpers/type.hepler";
type ILoginErrorLogger = {
    [key in keyof MLogin]: string;
};
declare class MLogin {
    custom_login_method?: loginMethod;
    user_username?: string;
    user_password?: string;
    mpin_pin?: string;
    constructor(init: MLogin);
    Validate(): Partial<ILoginErrorLogger>;
}
interface loginControllerResponse extends controllerResponse {
    data?: Partial<loginResponseData>;
    token?: string;
}
interface loginResponseData {
    user: Partial<IUser>;
}
interface LoginSendMailInfo extends SendMailInfo {
    data: Partial<loginResponseData>;
}
type IReLoginErrorLogger = {
    [key in keyof MReLogin]: string;
};
declare class MReLogin {
    custom_login_method?: loginMethod;
    user_password?: string;
    mpin_pin?: string;
    token?: string;
    constructor(init: MReLogin);
    Validate?(): Partial<IReLoginErrorLogger>;
}
interface reLoginControllerResponse extends controllerResponse {
    data?: Partial<loginResponseData>;
    token?: string;
}
export { ILoginErrorLogger, //interface,
IReLoginErrorLogger, MLogin, // model
MReLogin, // model
loginControllerResponse, reLoginControllerResponse, loginResponseData, LoginSendMailInfo };
