import { SocialAuthStrategy } from './strategy/social-auth-strategy'; import { NgxSocialAuthProviderType } from './social-auth-provider-type.enum'; import { NgxSocialAuthResponse } from './auth-response/social-auth-response'; import { Observable } from 'rxjs'; import { SignInOptionsMap } from './strategy/options-map/sign-in-options-map'; import { StateOptionsMap } from './strategy/options-map/state-options-map'; import { SignOutOptionsMap } from './strategy/options-map/sign-out-options-map'; /** * Allows to authenticate the user by using all configured providers in {@link NgxSocialAuthModule.forRoot} * * @author Dmytro Parfenov */ export declare class NgxSocialAuthService { private readonly socialAuthStrategies; constructor(socialAuthStrategies: SocialAuthStrategy[]); /** * Signs in the user * * @param providerType provider type to call with * @param options specific provider options * @returns specific provider auth response based on [providerType] */ signIn(providerType: K, options?: SignInOptionsMap[K]): Observable>; /** * Signs out the current account from the application * * @param providerType provider type to call with * @param options specific provider options */ signOut(providerType: K, options?: SignOutOptionsMap[K]): Observable; /** * Get current auth state * * @param providerType provider type to call with * @param options specific provider options * @returns specific provider auth response based on [providerType] if the user is authenticated, otherwise 'null' */ getState(providerType: K, options?: StateOptionsMap[K]): Observable>; private findStrategy; private throwUndefinedProviderError; }