import { HttpClient } from '@angular/common/http';
import { BehaviorSubject, Observable } from 'rxjs';
import { AuthorizerService } from '@vcomply/authorizer';
import { Configurations } from '../configurations';
import { OrganizationCommonService } from '../workflow-services/common-workflow-services/organization-common.service';
import * as i0 from "@angular/core";
export declare class AuthService {
    private http;
    private authorizer;
    private organizationCommonService;
    subscriptionDetails: BehaviorSubject<any[]>;
    userDetails: BehaviorSubject<any>;
    env: any;
    permissions: any;
    roleBasedPermission: any;
    constructor(http: HttpClient, authorizer: AuthorizerService, organizationCommonService: OrganizationCommonService, config?: Configurations);
    setPermission(): void;
    /**
    * Returns weather the user data loaded or not
    * @returns
    */
    startApp(): Promise<unknown>;
    /**
    * Gets user details
    * @returns
    */
    getUser(): Observable<void>;
    getSubscriptionDetails(): import("rxjs").Subscription;
    getUserRole(): 'KEY_ADMIN' | 'ADMIN' | 'MANAGER' | 'EXECUTIVE';
    logout(): void;
    convertUtcToLocalDateTime(timestamp: string | number): string;
    getNotificationDetails(): Observable<number>;
    userId(): number | "";
    getBussinessCycle(): Observable<Object>;
    getOrgId(): number | null;
    resetBusinessCycle(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AuthService, [null, null, null, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AuthService>;
}
