/// import { ExchangeKeyEnum, ProviderEnum, TokenScope } from '@dynamic-labs/sdk-api-core'; import { SocialOAuthError, SocialOAuthErrorCode } from '@dynamic-labs/types'; import { PayWithDynamicProps } from '../usePayWithDynamic/usePayWithDynamic'; export type SocialAuthMode = 'link' | 'signin' | 'stepup' | 'unlink'; type UseSocialAuthProps = { onSettled?: () => void; onError?: (error: unknown) => void; onFarcasterUrl?: (url: string) => void; }; export type ConnectSocialAccountProps = { authMode: SocialAuthMode; provider: ProviderEnum; validator?: (provider: ProviderEnum) => boolean; captchaToken?: string; redirectUrl?: string; telegramAuthToken?: string; showWidgetAfterConnection?: boolean; forcePopup?: boolean; triggerFundFromExchangeOnSuccess?: ExchangeKeyEnum; payingWithDynamic?: PayWithDynamicProps; /** marks the flow as initiated by headless sign-in API */ isHeadlessSocialSignIn?: boolean; /** SSO provider ID for social authentication */ ssoProviderId?: string; /** OAuth scopes to request; only used when authMode is 'stepup' */ requestedScopes?: TokenScope[]; }; export declare const useSocialAuth: ({ onSettled, onError, onFarcasterUrl, }: UseSocialAuthProps) => { readonly checkValidProvider: (provider: ProviderEnum, authMode: SocialAuthMode) => boolean; readonly completeConnection: ({ authMode, provider, state, authCode, captchaToken, verifier, telegramAuthToken, forceCreateUser, ssoProviderId, requestedScopes, }: { authMode: SocialAuthMode; provider: ProviderEnum; state: string; captchaToken?: string | undefined; authCode?: string | undefined; verifier?: string | undefined; telegramAuthToken?: string | undefined; forceCreateUser?: boolean | undefined; ssoProviderId?: string | undefined; requestedScopes?: TokenScope[] | undefined; }) => Promise; readonly connectSocialAccount: (props: ConnectSocialAccountProps) => Promise; readonly error: SocialOAuthError | undefined; readonly handleError: (provider: ProviderEnum | undefined, code: SocialOAuthErrorCode, message: string, options?: { raiseAuthFailure?: boolean | undefined; } | undefined) => void; readonly isProcessing: boolean; readonly setError: import("react").Dispatch>; readonly setIsProcessing: import("react").Dispatch>; }; export {};