import { BehaviorSubject, Observable } from 'rxjs';
import { OtpAuthModel } from '../../models/OtpAuthModel';
import { UserDetailsModel } from '../../models/UserDetailsModel';
import { UserModel } from '../../models/UserModel';
import { UtilService } from '../util/util.service';
import { Storage } from '@ionic/storage-angular';
import { MenuItem } from 'primeng/api';
import { ClaimantContextService } from '../../services/claimant-context/claimant-context.service';
import * as i0 from "@angular/core";
export declare class LoginService {
    util: UtilService;
    private storage;
    private claimantContextService;
    options: {};
    private userBs;
    private userIdInUnitBs;
    private menuBs;
    private user;
    private authCode;
    setAuthCode(authcode: string): void;
    getAuthcode(): string;
    getUser(): UserModel;
    getUserBs(): BehaviorSubject<UserModel>;
    getMenuBs(): BehaviorSubject<MenuItem[]>;
    setUser(res: UserModel): Promise<void>;
    getFullName(): string;
    getIsUserProfileComplete(): boolean;
    constructor(util: UtilService, storage: Storage, claimantContextService: ClaimantContextService);
    getUserPersonalDetails(): Observable<UserDetailsModel>;
    generateOtp(userId: string, type: string): Observable<unknown>;
    login(auth: OtpAuthModel): Observable<UserModel>;
    loginAndCheckForMFA(auth: OtpAuthModel): Observable<UserModel>;
    refreshToken(refreshToken: any): Promise<UserModel>;
    refreshTokenWings(refreshToken: any): Promise<UserModel>;
    createTokenPostSsoValidation(): Promise<UserModel>;
    loadUserInfo(): Promise<UserModel>;
    getStoredAccessTopen(): Promise<any>;
    generateOtpUnregistered(mobileNo: string): Observable<unknown>;
    signUp(userModel: UserModel): Observable<unknown>;
    updatePersonalDetails(usrDtls: UserDetailsModel): Observable<unknown>;
    reset(): void;
    removeCookies(): void;
    deleteCookie(cookieName: any): void;
    createCookie(cookieName: any, value: any, expiration: any): void;
    logout(): void;
    isLoggedIn(): boolean;
    is2FARequired(): boolean;
    updateProfile(user: UserModel): Observable<unknown>;
    updatePassword(oldPassword: any, newPassword: any, confirmPassword: any): Observable<unknown>;
    initiateForgotPassword(userId: string): Observable<unknown>;
    initiateForgotPasswordV2(userId: string): Observable<unknown>;
    hasRole(roleName: string): boolean;
    hasFunction(functionName: string): boolean;
    hasRoles(...roles: string[]): boolean;
    hasFunctions(...functions: string[]): boolean;
    checkRoles(roles: string[]): boolean;
    checkFunctions(functions: string[]): boolean;
    isCsr(): boolean;
    isTaxAuditSupervisor(): boolean;
    isTaxAuditAuditor(): boolean;
    isTaxAuditDirector(): boolean;
    isEmployer(): boolean;
    isTpa(): boolean;
    isClaimant(): boolean;
    hasSsnAssociated(): boolean;
    getUserMenus(): Observable<MenuItem[]>;
    markFav(menuId: string): Observable<MenuItem[]>;
    removeFav(menuId: string): Observable<MenuItem[]>;
    getFavouriteMenu(): Observable<MenuItem[]>;
    getTrendingMenu(): Observable<MenuItem[]>;
    verifyEmail(code: string): Observable<unknown>;
    getNewCode(): Observable<unknown>;
    updateEmailAndGetNewCode(email: string): Observable<unknown>;
    getNewAuthCode(type: string): Observable<unknown>;
    associateSsnToUserId(ssn: string): Observable<unknown>;
    getUserIdInUnitBs(): BehaviorSubject<UserModel[]>;
    loadUserIdsFromUnitOfLoggedInUser(unitId: string): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<LoginService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<LoginService>;
}
//# sourceMappingURL=login.service.d.ts.map