import { Router } from 'aurelia-router';
import { HttpClient } from 'aurelia-fetch-client';
import * as msal from "@azure/msal-browser";
import { AuthService } from './auth-service';
import { Datacontext } from '../data/data-context';
import { Config } from '../config';
export declare class B2CAuthService extends AuthService {
    private dataContext;
    private httpClient;
    private router;
    msalConfig: msal.Configuration;
    tokenRequest: {
        scopes: string[];
        forceRefresh: boolean;
    };
    loginRequest: {
        scopes: string[];
        prompt: string;
    };
    msalInstance: msal.PublicClientApplication;
    token: any;
    constructor(dataContext: Datacontext, config: Config, httpClient: HttpClient, router: Router);
    get usernameType(): "email" | "username";
    addBearerTokenToHttpClient(): void;
    accessToken(): Promise<any>;
    getTokenRedirect(request: any): Promise<boolean>;
    navigateToSavedInstruction(): void;
    login(navInstruction: string): Promise<void>;
    logout(): Promise<void>;
    equalsIgnoreOrder(a: any, b: any): boolean;
    handleResponse(response: any): Promise<void>;
    handleAuthentication(): Promise<void>;
    isAuthenticated(): Promise<boolean>;
    checkAccess(resource: string, action: string): boolean;
    getProfile(): Promise<void>;
    onUserPermissionsChanged(): Promise<void>;
}
