import { ChangeDetectorRef, EventEmitter, OnChanges, OnDestroy, SimpleChanges, AfterViewInit } from '@angular/core'; import { Observable } from 'rxjs'; import { RedirectUriQueryParams } from './login-utils/lf-login-internal-types'; import { AbortedLoginError, AccountEndpoints, AuthorizationCredentials, LfHttpRequestHandler } from './login-utils/lf-login-types'; import { LoginMode, LoginState, RedirectBehavior } from '@laserfiche/lf-ui-components/shared'; import { AppLocalizationService } from '@laserfiche/lf-ui-components/internal-shared'; import { LfLoginService } from './login-utils/lf-login.service'; import * as i0 from "@angular/core"; export declare class LfLoginComponent implements OnChanges, OnDestroy, AfterViewInit { /** @internal */ private ref; /** @internal */ private loginService; /** @internal */ private localizationService; /** @internal */ private readonly CLOUDDEV; /** @internal */ private readonly CLOUDTEST; mode: LoginMode; /** * @return {LfHttpRequestHandler} * Returns the LfHttpRequestHandler that can be used * to instantiate a repository API client. */ get authorizationRequestHandler(): LfHttpRequestHandler; /** @internal */ get isMenuMode(): boolean; /** @internal */ _sign_in_text: Observable; /** @internal */ _sign_out_text: Observable; /** @internal */ _signing_in_text: Observable; /** @internal */ _signing_out_text: Observable; set sign_in_text(text: string); set sign_out_text(text: string); set signing_in_text(text: string); set signing_out_text(text: string); /** @internal */ buttonText: Observable; set client_id(val: string); get client_id(): string; set redirect_uri(val: string); get redirect_uri(): string; set scope(val: string); get scope(): string; set redirect_behavior(val: RedirectBehavior); get redirect_behavior(): RedirectBehavior; set authorize_url_host_name(val: string); get authorize_url_host_name(): string; get authorization_credentials(): AuthorizationCredentials | undefined; get account_endpoints(): AccountEndpoints | undefined; get account_id(): string | undefined; get trustee_id(): string | undefined; get state(): LoginState; private set _state(value); loginInitiated: EventEmitter; logoutInitiated: EventEmitter; loginCompleted: EventEmitter; logoutCompleted: EventEmitter; /** * Refreshes and returns the access token * @param initiateLoginFlowOnRefreshFailure * Indicates whether an attempt should be made to login using OAuth flow upon encountering an inability to refresh the access token. * @returns {Promise} */ refreshTokenAsync: (initiateLoginFlowOnRefreshFailure: boolean) => Promise; initLoginFlowAsync: () => Promise; handleRedirectURICallbackAsync: (url: string) => Promise; /** @internal */ private logoutCompleteSub?; /** @internal */ private loginCompleteSub?; /** @internal */ private code_challenge?; /** @internal */ private hasLoginError; /** @internal */ private initialized; /** @internal */ constructor( /** @internal */ ref: ChangeDetectorRef, /** @internal */ loginService: LfLoginService, /** @internal */ localizationService: AppLocalizationService); private setButtonText; private onStorageChanged; private onAccessTokenLocalStorageChange; /** @internal */ get isLoggedIn(): boolean; /** @internal */ get isIntermediateState(): boolean; /** @internal */ ngAfterViewInit(): Promise; /** @internal */ ngOnChanges(changes: SimpleChanges): Promise; /** @internal */ ngOnDestroy(): void; /** @internal */ private initializeLoginAsync; /** @internal */ parseCallbackURI(urlString: string): RedirectUriQueryParams | undefined; /** @internal */ extractErrorFromUrl(url: URL): { name: string; description: string; } | undefined; /** @internal */ extractCodeFromUrl(url: URL): string | undefined; /** @internal */ extractDomainFromUrl(url: URL): string | undefined; /** @internal */ extractCustomerIdFromUrl(url: URL): string | undefined; /** @internal */ determineCurrentState(callBackURIParams: RedirectUriQueryParams | undefined): LoginState; /** @internal */ createRefreshTokenRequest(): RequestInit; /** @internal */ onLoginButtonClickAsync(): Promise; /** @internal */ startLoginAsync(): Promise; /** @internal */ private startOAuthLoginFlowAsync; /** @internal */ getAuthorizeUrl(): string; /** @internal */ private getAuthorizeUrlWithConfiguredHostName; /** @internal */ startLogout(): void; /** @internal */ getFullLogoutUrl(): string | undefined; /** @internal */ private handleRedirectBehavior; /** @internal */ concatStrings(firstString: string | undefined, secondString: string): string; /** @internal */ private beforeFetchRequestAsync; /** @internal */ private afterFetchResponseAsync; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }