import { NgZone, RendererFactory2 } from '@angular/core'; import { AuthConfiguration } from "./auth-configuration"; import { Observable } from "rxjs"; import { AuthResponse, AuthService } from "./auth.service"; import { ApiService } from "@adjai/ngx-library/src/lib/api"; import * as i0 from "@angular/core"; export declare enum Oauth2Providers { VK = "VK", Google = "Google", Ok = "Ok", MailRu = "MailRu" } interface OauthProviderOptions { requestAccessTokenUri: string; requestUserInfoUri: string; scope: string[]; } export interface OauthProviderSecretOptions { clientId: string; publicKey?: string; clientSecret?: string; } export declare class Oauth2Service { private configuration; private rendererFactory; private apiService; private authService; private ngZone; private renderer; static oauth2ProvidersOptions: { [key in Oauth2Providers]?: OauthProviderOptions; }; private openedAuthWindow; constructor(configuration: AuthConfiguration, rendererFactory: RendererFactory2, apiService: ApiService, authService: AuthService, ngZone: NgZone); waitForAccessCode$(): Observable; auth$(provider: Oauth2Providers, params?: { [key: string]: string; }, processSessionCallback?: (response: AuthResponse) => void): Observable; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export {};