export interface IForm { email: string; username: string; password: string; } export interface ILoginForm { username: string; password: string; } export interface IActions { login(f: ILoginForm): Promise; register(f: IForm): Promise; getAuthenticatedUser(u: string): Promise<{ id: string; }>; checkUsernameAvailability(u: string): Promise; forgotPassword(u: string): Promise; forgotUsername(e: string): Promise; forgotEmail(e: string): Promise; updateUsername(u: string): Promise; updateEmail(e: string): Promise; resendEmail(uid: string): Promise; finish(): Promise; exit(): Promise; }