import { EventEmitter } from '@angular/core';
import { LoginProvider } from './login-provider';
import { TokenClient } from '@laserfiche/lf-api-client-core';
import { LfLoginService } from './lf-login.service';
import { AuthorizationCredentials } from './lf-login-types';
import { RedirectUriQueryParams } from './lf-login-internal-types';
import { LoginState } from '@laserfiche/lf-ui-components/shared';
import * as i0 from "@angular/core";
/** @internal */
export declare class CloudLoginProvider implements LoginProvider {
    private lfLoginService;
    readonly CLOUDDEV = "clouddev";
    readonly CLOUDTEST = "cloudtest";
    constructor(lfLoginService: LfLoginService);
    getTokenClient(tokenClientUrl: string): TokenClient;
    getBaseAuthorizeUrl(): string;
    storeInLocalStorage(accessTokenCredentials: AuthorizationCredentials, accountId: string, regionalDomain: string): void;
    exchangeRedirectUriQueryParams(url: URL): RedirectUriQueryParams | undefined;
    determineCurrentState(callBackURIParams: RedirectUriQueryParams | undefined, loginCompleted: EventEmitter<void>, logoutCompleted: EventEmitter<void>): LoginState;
    logoutInitiatedViaUrl(url: string | undefined, logoutInitiated: {
        emit: (url?: string) => void;
    }): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<CloudLoginProvider, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<CloudLoginProvider>;
}
