import { ProviderEnum } from '@dynamic-labs/sdk-api-core'; import { SocialAccountInformation } from '@dynamic-labs/types'; export type SocialProvider = 'apple' | 'coinbaseSocial' | 'discord' | 'epicgames' | 'facebook' | 'farcaster' | 'github' | 'google' | 'kraken' | 'line' | 'telegram' | 'tiktok' | 'twitch' | 'twitter' | 'shopify' | 'spotify'; type ConnectWithSocialOnHostArgs = { clientId?: string; oauthLoginUrl: string; provider: ProviderEnum; state: string; }; export type SocialAuthModuleMessages = { connectWithSocial: (args: { /** * Provider with which to connect */ provider: SocialProvider; /** * When using expo-router, which pathname to redirect back to after social connection. * * The router will create another stack when redirecting back to a different pathname than your * app was at originally, which in iOS devices will cause visual flickering. To avoid this, pass * `usePathname()` to this property. */ redirectPathname?: string; }) => Promise; /** * Trigger a social auth connection on the host/native side */ connectWithSocialOnHost: (args: ConnectWithSocialOnHostArgs) => Promise; /** * Retrieves all linked social accounts for a specific provider */ getLinkedAccounts: (provider: ProviderEnum) => Promise; /** * Unlinks a social account from the user's profile */ unlinkSocialAccount: (provider: ProviderEnum, verifiedCredentialId?: string) => Promise; /** * Checks if a user has any linked accounts for a specific provider */ isLinked: (provider: ProviderEnum) => Promise; /** * Retrieves all linked social accounts across all providers */ getAllLinkedAccounts: () => Promise; }; export {};