import { WebPlugin } from '@capacitor/core'; import type { SocialLoginPlugin, InitializeOptions, LoginOptions, AuthorizationCode, AuthorizationCodeOptions, isLoggedInOptions, ProviderResponseMap, ProviderSpecificCall, ProviderSpecificCallOptionsMap, ProviderSpecificCallResponseMap, LoginResult, OAuth2LoginResponse, OpenSecureWindowOptions, OpenSecureWindowResponse, RefreshTokenOptions } from './definitions'; export declare class SocialLoginWeb extends WebPlugin implements SocialLoginPlugin { private static readonly OAUTH_STATE_KEY; private googleProvider; private appleProvider; private facebookProvider; private twitterProvider; private telegramProvider; private oauth2Provider; constructor(); private parseRedirectResult; private finishOAuthRedirectInPopup; initialize(options: InitializeOptions): Promise; login(options: Extract): Promise<{ provider: T; result: ProviderResponseMap[T]; }>; logout(options: { provider: 'apple' | 'google' | 'facebook' | 'twitter' | 'telegram' | 'linkedin' | 'tiktok' | 'oauth2'; providerId?: string; }): Promise; isLoggedIn(options: isLoggedInOptions): Promise<{ isLoggedIn: boolean; }>; getAuthorizationCode(options: AuthorizationCodeOptions): Promise; refresh(options: LoginOptions): Promise; providerSpecificCall(options: { call: T; options: ProviderSpecificCallOptionsMap[T]; }): Promise; refreshToken(options: RefreshTokenOptions): Promise; handleRedirectCallback(): Promise; decodeIdToken(options: { idToken?: string; token?: string; }): Promise<{ claims: Record; }>; getAccessTokenExpirationDate(options: { accessTokenExpirationDate: number; }): Promise<{ date: string; }>; isAccessTokenAvailable(options: { accessToken: string | null; }): Promise<{ isAvailable: boolean; }>; isAccessTokenExpired(options: { accessTokenExpirationDate: number; }): Promise<{ isExpired: boolean; }>; isRefreshTokenAvailable(options: { refreshToken: string | null; }): Promise<{ isAvailable: boolean; }>; getPluginVersion(): Promise<{ version: string; }>; openSecureWindow(options: OpenSecureWindowOptions): Promise; }