import { Session } from './types'; export interface SignOptions { /** * modify returned user object */ include?: string[]; exclude?: string[]; projection?: Record; /** * whether to save the token to local storage */ saveToken?: boolean; /** * whether to validate the session with the server */ validateSession?: boolean; } export declare abstract class Auth { static signIn(email: string, password: string, options?: SignOptions): Promise; static signUp(from: { name: string; email: string; password: string; [key: string]: any; }, options?: SignOptions): Promise; static signOut(token?: string): Promise; static become(token: string, options?: Pick): Promise | Promise; static updateEmail(password: string, newEmail: string, options?: SignOptions): Promise; static updatePassword(currentPassword: string, newPassword: string, options?: SignOptions): Promise; static forgotPassword(email: string): Promise; static resetPassword(token: string, password: string): Promise; }