import { Observable } from 'rxjs';
import { OpenIdConfiguration } from '../config/openid-configuration';
import { AuthResult } from '../flows/callback-context';
import { AuthenticatedResult } from './auth-result';
import { AuthStateResult } from './auth-state';
import * as i0 from "@angular/core";
export declare class AuthStateService {
    private readonly storagePersistenceService;
    private readonly loggerService;
    private readonly publicEventsService;
    private readonly tokenValidationService;
    private readonly authenticatedInternal$;
    get authenticated$(): Observable<AuthenticatedResult>;
    setAuthenticatedAndFireEvent(allConfigs: OpenIdConfiguration[]): void;
    setUnauthenticatedAndFireEvent(currentConfig: OpenIdConfiguration, allConfigs: OpenIdConfiguration[]): void;
    updateAndPublishAuthState(authenticationResult: AuthStateResult): void;
    setAuthorizationData(accessToken: string, authResult: AuthResult | null, currentConfig: OpenIdConfiguration, allConfigs: OpenIdConfiguration[]): void;
    getAccessToken(configuration: OpenIdConfiguration | null): string;
    getIdToken(configuration: OpenIdConfiguration | null): string;
    getRefreshToken(configuration: OpenIdConfiguration | null): string;
    getAuthenticationResult(configuration: OpenIdConfiguration | null): AuthResult | null;
    areAuthStorageTokensValid(configuration: OpenIdConfiguration | null): boolean;
    hasIdTokenExpiredAndRenewCheckIsEnabled(configuration: OpenIdConfiguration): boolean;
    hasAccessTokenExpiredIfExpiryExists(configuration: OpenIdConfiguration): boolean;
    isAuthenticated(configuration: OpenIdConfiguration | null): boolean;
    private decodeURIComponentSafely;
    private persistAccessTokenExpirationTime;
    private composeAuthenticatedResult;
    private composeUnAuthenticatedResult;
    private checkAllConfigsIfTheyAreAuthenticated;
    static ɵfac: i0.ɵɵFactoryDeclaration<AuthStateService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AuthStateService>;
}
