import type { AuthorizationCode, AuthorizationCodeOptions, InitializeOptions, LoginOptions, OAuth2LoginOptions, ProviderSpecificCall, ProviderSpecificCallOptionsMap, ProviderSpecificCallResponseMap, ProviderResponseMap, SocialLoginPlugin } from './definitions'; type AuthConnectProviderId = 'auth0' | 'azure' | 'cognito' | 'okta' | 'onelogin'; type AuthConnectLoginOptions = LoginOptions | { provider: AuthConnectProviderId; options?: Omit; }; type AuthConnectProviderOptions = AuthorizationCodeOptions | { provider: AuthConnectProviderId; }; type AuthConnectInitializeOptions = InitializeOptions & { authConnect?: AuthConnectPresets; }; type AuthConnectPresetBase = { clientId: string; redirectUrl: string; scope?: string; responseType?: 'code' | 'token'; pkceEnabled?: boolean; additionalParameters?: Record; additionalResourceHeaders?: Record; resourceUrl?: string; authorizationBaseUrl?: string; accessTokenEndpoint?: string; logoutUrl?: string; logsEnabled?: boolean; }; type Auth0Preset = AuthConnectPresetBase & { domain: string; audience?: string; }; type AzurePreset = AuthConnectPresetBase & { tenantId?: string; authorityHost?: string; }; type CognitoPreset = AuthConnectPresetBase & { domain: string; }; type OktaPreset = AuthConnectPresetBase & { issuer: string; }; type OneLoginPreset = AuthConnectPresetBase & { issuer: string; }; type AuthConnectPresets = { auth0?: Auth0Preset; azure?: AzurePreset; cognito?: CognitoPreset; okta?: OktaPreset; onelogin?: OneLoginPreset; }; type AuthConnectProviderResponseMap = ProviderResponseMap & { auth0: ProviderResponseMap['oauth2']; azure: ProviderResponseMap['oauth2']; cognito: ProviderResponseMap['oauth2']; okta: ProviderResponseMap['oauth2']; onelogin: ProviderResponseMap['oauth2']; }; type AuthConnectClient = { initialize: (options: AuthConnectInitializeOptions) => Promise; login: (options: Extract) => Promise<{ provider: T; result: AuthConnectProviderResponseMap[T]; }>; logout: (options: AuthConnectProviderOptions) => Promise; isLoggedIn: (options: AuthConnectProviderOptions) => Promise<{ isLoggedIn: boolean; }>; getAuthorizationCode: (options: AuthConnectProviderOptions) => Promise; refresh: (options: AuthConnectLoginOptions) => Promise; providerSpecificCall: (options: { call: T; options: ProviderSpecificCallOptionsMap[T]; }) => Promise; getPluginVersion: () => Promise<{ version: string; }>; }; declare const createAuthConnectClient: (client: SocialLoginPlugin) => AuthConnectClient; declare const SocialLoginAuthConnect: AuthConnectClient; export type { AuthConnectInitializeOptions, AuthConnectLoginOptions, AuthConnectProviderId, AuthConnectProviderOptions, AuthConnectPresets, }; export { createAuthConnectClient, SocialLoginAuthConnect };