import { AccountStatus, Credentials, UserProfile, Account } from '../../standard-user-workflow/api'; export interface UserRepository { exists(credentials: Credentials): Promise; addUser(credentials: Credentials, userProfile: UserProfile, accountStatus: AccountStatus, accountId?: string): Promise; getProfile(accountId: string): Promise; updateStatus(accountId: string, newStatus: AccountStatus): Promise; getAccountFromLogin(login: string): Promise; getAccountFromAccountId(accountId: string): Promise; getLoginFromAccountId(accountId: string): Promise; getUserKey(accountId: string): Promise; } export declare abstract class UserRepositoryInjectable implements UserRepository { abstract exists(credentials: Credentials): Promise; abstract addUser(credentials: Credentials, userProfile: UserProfile, accountStatus: AccountStatus, accountId?: string): Promise; abstract getProfile(accountId: string): Promise; abstract updateStatus(accountId: string, newStatus: AccountStatus): Promise; abstract getAccountFromLogin(login: string): Promise; abstract getAccountFromAccountId(accountId: string): Promise; abstract getLoginFromAccountId(accountId: string): Promise; abstract getUserKey(accountId: string): Promise; }