import { AuthenticationStatus } from "../enums/authenticationStatus"; import { AuthResult } from "../models/domain/authResult"; import { ApiLogInCredentials, PasswordLogInCredentials, SsoLogInCredentials, } from "../models/domain/logInCredentials"; import { SymmetricCryptoKey } from "../models/domain/symmetricCryptoKey"; import { TokenRequestTwoFactor } from "../models/request/identityToken/tokenRequestTwoFactor"; export abstract class AuthService { masterPasswordHash: string; email: string; logIn: ( credentials: ApiLogInCredentials | PasswordLogInCredentials | SsoLogInCredentials ) => Promise; logInTwoFactor: ( twoFactor: TokenRequestTwoFactor, captchaResponse: string ) => Promise; logOut: (callback: () => void) => void; makePreloginKey: (masterPassword: string, email: string) => Promise; authingWithApiKey: () => boolean; authingWithSso: () => boolean; authingWithPassword: () => boolean; getAuthStatus: (userId?: string) => Promise; }