import { NgZone } from '@angular/core'; import { Observable } from 'rxjs'; import { HttpClient } from '@angular/common/http'; import { OAuthService } from 'lacuna-oauth2-oidc'; import { Logger } from './logger.service'; import { Profile } from '../api/profile'; import { RootRoles, Permissions } from '../api/enums'; import { SubscriptionAccess } from '../api/authorization'; import { RequiredIdClaims } from '../classes/types'; import { CookieStorageService } from './cookie-storage.service'; import { SpaApiHeadersService } from './spa-api-headers.service'; import { RootAuthenticationResponse } from '../api/root-authentication'; import { MessageService } from './message.service'; import { TranslocoService } from '@ngneat/transloco'; import * as i0 from "@angular/core"; export declare class UserProfile { id: string; name: string; emailAddress: string; cpf: string; customClaims: object; subscriptions: SubscriptionAccess[]; adminRoles: RootRoles[]; permissionsOnRoot: Permissions[]; isLocked: boolean; constructor(id: string, name: string, emailAddress: string, cpf: string, customClaims: object, subscriptions: SubscriptionAccess[], adminRoles: RootRoles[], permissionsOnRoot: Permissions[], isLocked: boolean); } export interface SubscriptionPermissionsModel extends SubscriptionAccess { sub: string; permissions: Permissions[]; } export declare class SpaControlService { private http; private oauthService; private spaApiHeadersService; private logger; private cookieStorage; private ngZone; private messageService; private transloco; private listOfRoles; private listOfRootRoles; private requiredIdClaims; private listOfUnassignableRoles; private oidcRedirectPath; _initialized: boolean; initError: any; signInError: any; private initializedSubject; initialized: Observable; private subscriptionSubject; selectedSubscription: Observable; get selectedSubscriptionSnapshot(): SubscriptionPermissionsModel; allSubscriptionsSelected: Observable; private sessionCheckEventListener; private sessionCheckStartupTimeout; get userProfile(): UserProfile; private _userProfile; private pendingReturnUrl; private userPermissionsOnSubs; private _rootToken; private _rootTokenExpiresOn; constructor(http: HttpClient, oauthService: OAuthService, spaApiHeadersService: SpaApiHeadersService, logger: Logger, cookieStorage: CookieStorageService, ngZone: NgZone, messageService: MessageService, transloco: TranslocoService, listOfRoles: string[], listOfRootRoles: string[], requiredIdClaims: RequiredIdClaims, listOfUnassignableRoles: string[], oidcRedirectPath: string); init(): Promise; private initRootAuth; private checkSession; protected handleSessionChanged(): void; protected startCheckSession(): void; protected getSessionState(): string; private removeSessionCheckEventListener; private initOidcAuth; private registerAndFetchProfile; private refreshUserSubscriptions; startLogin(returnUrl?: string, params?: any): void; private getOAuthState; shouldAttemptLogin(): boolean; private get lastLoginAttempt(); private set lastLoginAttempt(value); private getAuthParams; private onOAuthEvent; private getHeaders; private setApiHeaders; private ensureInitialized; private isHttpUnauthorizedError; private isApiError; getHangfireAccessTicket(): Observable; getUserPermissionsOnSubscription(sub: string): Observable; userHasPermissionOnSubscription(sub: string, permission?: Permissions): Observable; userHasPermissionOnSelectedSubscription(permission?: Permissions): Observable; userHasAnyRootRole(): boolean; userHasAnyRoleOnSubscription(sub: string): boolean; userHasAnyRole(): boolean; trySetSubscription(sub: string): Observable; getSubscriptionRoles(sub: string, dontFilterUnassignableRoles?: boolean): string[]; guessSubscription(): string; saveSubInLocalStorage(sub: string): void; get lastSubscription(): string; signOut(noRedirectToLogoutUrl?: boolean): string; claimAccess(claimCode: string): Promise; tryPopReturnUrl(): string; rootLogin(rootPassword: string): Observable; rootLogout(): void; instantiateRootUserProfile(rootProfile: Profile): UserProfile; getRootToken(): string; hasRootToken(): boolean; hasValidOidcToken(): boolean; getOidcToken(): string; getUserAgent(): any; isSafari13(): any; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }