import { Observable } from 'rxjs';
import { XrmService } from './xrm.service';
import { XrmConfigService } from './xrmconfig.service';
import * as i0 from "@angular/core";
export interface AuthUserProfile {
    name: string;
}
export interface AuthUser {
    profile: AuthUserProfile;
}
export interface AuthContext {
    isCallback(hash: string): boolean;
    handleWindowCallback(): void;
    getLoginError(): string;
    getCachedUser(): AuthUser;
    login(): void;
    logOut(): void;
    acquireToken(url: string, callback: any): void;
}
export interface AuthConfigEndpoint {
    orgUri: string;
}
export interface AuthConfig {
    tenant: string;
    clientId: string;
    postLogoutRedirectUri: string;
    endpoints: AuthConfigEndpoint;
    cacheLocation: string;
    version: string;
}
export declare class XrmAuthService {
    private xrmConfigService;
    private xrmService;
    authConfig: AuthConfig;
    obs: any;
    constructor(xrmConfigService: XrmConfigService, xrmService: XrmService);
    authenticate(): Observable<boolean>;
    private getToken;
    static ɵfac: i0.ɵɵFactoryDeclaration<XrmAuthService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<XrmAuthService>;
}
