import { BordaServerAdditionalHeaders } from './Borda'; import { Session } from './types'; export interface SignOptions { /** * modify returned user object */ include?: string[]; exclude?: string[]; projection?: Record; /** * whether to validate the session with the server */ validateSession?: boolean; } export declare class Auth { #private; get sessionToken(): string | null; constructor({ name, serverKey, serverSecret, serverURL, serverHeaderPrefix, serverAdditionalHeaders, }: { name: string; serverKey: string; serverSecret: string; serverURL: string; serverHeaderPrefix: string; serverAdditionalHeaders?: BordaServerAdditionalHeaders; }); getHeaders({ method, token }: { method?: string; token?: string | null; }): any; removeToken(): void; signIn({ email, password }: { email: string; password: string; }, options?: Pick): Promise>; signUp(from: { name: string; email: string; password: string; [key: string]: any; }, options?: Pick): Promise>; signOut({ token }?: { token?: string | null; }): Promise>; become({ token, validateSession, }: Pick & { token: string; }): Promise | undefined>; updateEmail({ currentPassword, newEmail, }: { currentPassword: string; newEmail: string; }): Promise>; updatePassword({ currentPassword, newPassword, }: { currentPassword: string; newPassword: string; }): Promise>; forgotPassword({ email }: { email: string; }): Promise>; resetPassword({ token, newPassword, }: { token: string; newPassword: string; }): Promise>; }