import { HttpErrorResponse, HttpRequest } from '@angular/common/http';
import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { Observable } from 'rxjs';
import * as i0 from "@angular/core";
export declare class MonkeyEcxAuthenticationService {
    constructor();
    hadAtLeastOneLogin: () => Promise<null>;
    redirectApp: () => null;
    redirectLoginWelcomeBack: (route?: ActivatedRouteSnapshot | undefined, state?: RouterStateSnapshot | undefined) => null;
    isAuthorized: () => Promise<boolean>;
    isCompanyAuthorized: () => Promise<boolean>;
    isTokenMandatory: (url: string) => boolean;
    getRequestWithHeaders: (request: HttpRequest<any>) => HttpRequest<any> | any;
    getRequestWithHeadersOb: (request: HttpRequest<any>) => Observable<any> | any;
    getRequestWithHeadersAsync: (request: HttpRequest<any>) => Promise<null>;
    refreshShouldHappen: (response: HttpErrorResponse) => boolean;
    refreshToken: () => Promise<null>;
    getToken: () => Promise<null>;
    init(args: {
        hadAtLeastOneLogin?: any;
        redirectApp?: any;
        redirectLoginWelcomeBack?: any;
        isAuthorized?: any;
        isTokenMandatory?: any;
        isCompanyAuthorized?: any;
        getRequestWithHeaders?: any;
        getRequestWithHeadersAsync?: any;
        getRequestWithHeadersOb?: any;
        refreshShouldHappen?: any;
        refreshToken?: any;
        getToken?: any;
    }): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<MonkeyEcxAuthenticationService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<MonkeyEcxAuthenticationService>;
}
