import { Observable } from 'rxjs'; import { ChildService } from '../utils'; export declare const STRATEGY_LOCAL = "local"; export interface AccountCredentials { uid: string; accessToken: string; refreshToken: string; expiresAt: number; } export interface Account { uid: string; email: string; picURL?: string; sex: string; name: { prefix?: string; firstName: string; middleName?: string; lastName: string; } } export interface AccountInput { } export interface SigninPayload { email?: string; password?: string; accessToken?: string; totpToken?: number|string; } export interface MFAConfig { enabled: boolean; uid: string; dataURL?: string; secret?: string; } export interface MFASetupPayload { mobileNo?: string; } export declare class AuthService extends ChildService { currentUser$: Observable; register(account: AccountInput): Promise; signin(strategy: string, payload: SigninPayload, setCurrentUser?: boolean): Promise; checkUniqueIdentity(email: string): Promise; sendPasswordResetEmail(email: string): Promise; applyActionCode(code: string, payload?: any): Promise; currentUser(): Promise; signout(): Promise; deactivate(payload: SigninPayload): Promise; getAccessToken(): Promise; refreshAccessToken(): Promise; reloadCurrentUser(): Promise; sendVerificationEmail(): Promise; sendVerificationSms(): Promise; changePassword(payload: SigninPayload, newPassword: string): Promise; changeIdentity(payload: SigninPayload, identityKey: string, newIdentity: string): Promise; setupMFA(enable: boolean, payload?: MFASetupPayload): Promise; verifyMFASecret(token: string): Promise<{ verified: boolean }>; } declare const _default: AuthService; export default _default;