import { Theme, Ui } from '@clerk/ui/internal'; import * as _clerk_shared_types from '@clerk/shared/types'; import { Without, APIKeysProps, CreateOrganizationProps, OrganizationListProps, OrganizationProfileProps, OrganizationSwitcherProps, SignInProps, SignUpProps, TaskChooseOrganizationProps, TaskResetPasswordProps, TaskSetupMFAProps, UserAvatarProps, UserButtonProps, UserProfileProps, WaitlistProps, SignInButtonProps, SignOutOptions, SignUpButtonProps, SetActiveNavigate, SignInResource, CreateEmailLinkFlowReturn, SignInStartEmailLinkFlowParams, SignUpResource, StartEmailLinkFlowParams, EmailAddressResource, SignInSignalValue, SignUpSignalValue, WaitlistSignalValue } from '@clerk/shared/types'; export { BrowserClerk, BrowserClerkConstructor, ClerkProp, HeadlessBrowserClerk, HeadlessBrowserClerkConstructor, IsomorphicClerkOptions } from '@clerk/shared/types'; import React, { ReactNode, PropsWithChildren } from 'react'; import { WithClerkProp, OrganizationProfilePageProps, OrganizationProfileLinkProps, UserProfilePageProps, UserProfileLinkProps, UserButtonActionProps, UserButtonLinkProps, SignInWithMetamaskButtonProps, ClerkProviderProps } from './types.js'; export { A as AuthenticateWithRedirectCallback, C as ClerkDegraded, a as ClerkFailed, b as ClerkLoaded, c as ClerkLoading, R as RedirectToCreateOrganization, d as RedirectToOrganizationProfile, e as RedirectToSignIn, f as RedirectToSignUp, g as RedirectToTasks, h as RedirectToUserProfile, S as Show, i as ShowProps, j as useAuth } from './useAuth-DcwU7ADV.js'; export { UNSAFE_PortalProvider, __experimental_CheckoutProvider, __experimental_PaymentElement, __experimental_PaymentElementProvider, __experimental_useCheckout, __experimental_usePaymentElement, useClerk, useOrganization, useOrganizationCreationDefaults, useOrganizationList, useReverification, useSession, useSessionList, useUser } from '@clerk/shared/react'; export { getToken } from '@clerk/shared/getToken'; import '@clerk/shared/ui'; /** * Augments the global ClerkAppearanceRegistry with the Theme type from @clerk/ui. * This provides full type safety for appearance props in @clerk/react without creating circular dependencies. */ declare global { interface ClerkAppearanceRegistry { theme: Theme; } } type FallbackProp = { /** * An optional element to render while the component is mounting. */ fallback?: ReactNode; }; type UserProfileExportType = typeof _UserProfile & { Page: typeof UserProfilePage; Link: typeof UserProfileLink; }; type UserButtonExportType = typeof _UserButton & { UserProfilePage: typeof UserProfilePage; UserProfileLink: typeof UserProfileLink; MenuItems: typeof MenuItems; Action: typeof MenuAction; Link: typeof MenuLink; /** * The `` component can be used in conjunction with `asProvider` in order to control rendering * of the `` without affecting its configuration or any custom pages that could be mounted * @experimental This API is experimental and may change at any moment. */ __experimental_Outlet: typeof UserButtonOutlet; }; type UserButtonPropsWithoutCustomPages = Without & { userProfileProps?: Pick; /** * Adding `asProvider` will defer rendering until the `` component is mounted. * * @experimental This API is experimental and may change at any moment. * @default undefined */ __experimental_asProvider?: boolean; }; type OrganizationProfileExportType = typeof _OrganizationProfile & { Page: typeof OrganizationProfilePage; Link: typeof OrganizationProfileLink; }; type OrganizationSwitcherExportType = typeof _OrganizationSwitcher & { OrganizationProfilePage: typeof OrganizationProfilePage; OrganizationProfileLink: typeof OrganizationProfileLink; /** * The `` component can be used in conjunction with `asProvider` in order to control rendering * of the `` without affecting its configuration or any custom pages that could be mounted * * @experimental This API is experimental and may change at any moment. */ __experimental_Outlet: typeof OrganizationSwitcherOutlet; }; type OrganizationSwitcherPropsWithoutCustomPages = Without & { organizationProfileProps?: Pick; /** * Adding `asProvider` will defer rendering until the `` component is mounted. * * @experimental This API is experimental and may change at any moment. * @default undefined */ __experimental_asProvider?: boolean; }; declare const SignIn: { (props: Without, "clerk">): React.JSX.Element | null; displayName: string; }; declare const SignUp: { (props: Without, "clerk">): React.JSX.Element | null; displayName: string; }; declare function UserProfilePage({ children }: PropsWithChildren): React.JSX.Element; declare function UserProfileLink({ children }: PropsWithChildren): React.JSX.Element; declare const _UserProfile: { (props: Without> & FallbackProp>, "clerk">): React.JSX.Element | null; displayName: string; }; declare const UserProfile: UserProfileExportType; declare const _UserButton: { (props: Without & FallbackProp>, "clerk">): React.JSX.Element | null; displayName: string; }; declare function MenuItems({ children }: PropsWithChildren): React.JSX.Element; declare function MenuAction({ children }: PropsWithChildren): React.JSX.Element; declare function MenuLink({ children }: PropsWithChildren): React.JSX.Element; declare function UserButtonOutlet(outletProps: Without): React.JSX.Element; declare const UserButton: UserButtonExportType; declare function OrganizationProfilePage({ children }: PropsWithChildren): React.JSX.Element; declare function OrganizationProfileLink({ children }: PropsWithChildren): React.JSX.Element; declare const _OrganizationProfile: { (props: Without> & FallbackProp>, "clerk">): React.JSX.Element | null; displayName: string; }; declare const OrganizationProfile: OrganizationProfileExportType; declare const CreateOrganization: { (props: Without, "clerk">): React.JSX.Element | null; displayName: string; }; declare const _OrganizationSwitcher: { (props: Without & FallbackProp>, "clerk">): React.JSX.Element | null; displayName: string; }; declare function OrganizationSwitcherOutlet(outletProps: Without): React.JSX.Element; declare const OrganizationSwitcher: OrganizationSwitcherExportType; declare const OrganizationList: { (props: Without, "clerk">): React.JSX.Element | null; displayName: string; }; declare const GoogleOneTap: { (props: Without, "clerk">): React.JSX.Element | null; displayName: string; }; declare const Waitlist: { (props: Without, "clerk">): React.JSX.Element | null; displayName: string; }; declare const PricingTable: { (props: Without; } & { ctaPosition?: "top" | "bottom"; collapseFeatures?: boolean; newSubscriptionRedirectUrl?: string; } & FallbackProp>, "clerk">): React.JSX.Element | null; displayName: string; }; /** * @experimental This component is in early access and may change in future releases. */ declare const APIKeys: { (props: Without, "clerk">): React.JSX.Element | null; displayName: string; }; declare const UserAvatar: { (props: Without, "clerk">): React.JSX.Element | null; displayName: string; }; declare const TaskChooseOrganization: { (props: Without, "clerk">): React.JSX.Element | null; displayName: string; }; declare const TaskResetPassword: { (props: Without, "clerk">): React.JSX.Element | null; displayName: string; }; declare const TaskSetupMFA: { (props: Without, "clerk">): React.JSX.Element | null; displayName: string; }; declare const SignInButton: { (props: _clerk_shared_types.Without>, "clerk">): React.JSX.Element | null; displayName: string; }; declare const SignInWithMetamaskButton: { (props: _clerk_shared_types.Without, "clerk">): React.JSX.Element | null; displayName: string; }; type SignOutButtonProps = { redirectUrl?: string; signOutOptions?: SignOutOptions; children?: React.ReactNode; }; declare const SignOutButton: { (props: _clerk_shared_types.Without>, "clerk">): React.JSX.Element | null; displayName: string; }; declare const SignUpButton: { (props: _clerk_shared_types.Without>, "clerk">): React.JSX.Element | null; displayName: string; }; interface HandleSSOCallbackProps { /** * Called when the SSO callback is complete and a session has been created. */ navigateToApp: (...params: Parameters) => void; /** * Called when a sign-in requires additional verification, or a sign-up is transfered to a sign-in that requires * additional verification. */ navigateToSignIn: () => void; /** * Called when a sign-in is transfered to a sign-up that requires additional verification. */ navigateToSignUp: () => void; } /** * Use this component when building custom UI to handle the SSO callback and navigate to the appropriate page based on * the status of the sign-in or sign-up. By default, this component might render a captcha element to handle captchas * when required by the Clerk API. * * @example * ```tsx * import { HandleSSOCallback } from '@clerk/react'; * import { useNavigate } from 'react-router'; * * export default function Page() { * const navigate = useNavigate(); * * return ( * { * if (session?.currentTask) { * const destination = decorateUrl(`/onboarding/${session?.currentTask.key}`); * if (destination.startsWith('http')) { * window.location.href = destination; * return; * } * navigate(destination); * return; * } * * const destination = decorateUrl('/dashboard'); * if (destination.startsWith('http')) { * window.location.href = destination; * return; * } * navigate(destination); * }} * navigateToSignIn={() => { * navigate('/sign-in'); * }} * navigateToSignUp={() => { * navigate('/sign-up'); * }} * /> * ); * } * ``` */ declare function HandleSSOCallback(props: HandleSSOCallbackProps): ReactNode; declare function ClerkProviderBase(props: ClerkProviderProps): React.JSX.Element; declare const ClerkProvider: typeof ClerkProviderBase & { displayName: string; }; type UseEmailLinkSignInReturn = CreateEmailLinkFlowReturn; type UseEmailLinkSignUpReturn = CreateEmailLinkFlowReturn; type UseEmailLinkEmailAddressReturn = CreateEmailLinkFlowReturn; declare function useEmailLink(resource: SignInResource): UseEmailLinkSignInReturn; declare function useEmailLink(resource: SignUpResource): UseEmailLinkSignUpReturn; declare function useEmailLink(resource: EmailAddressResource): UseEmailLinkEmailAddressReturn; /** * This hook allows you to access the Signal-based `SignIn` resource. * * @example * import { useSignIn } from "@clerk/react"; * * function SignInForm() { * const { signIn, errors, fetchStatus } = useSignInSignal(); * // * } */ declare function useSignIn(): SignInSignalValue; /** * This hook allows you to access the Signal-based `SignUp` resource. * * @example * import { useSignUp } from "@clerk/react"; * * function SignUpForm() { * const { signUp, errors, fetchStatus } = useSignUpSignal(); * // * } */ declare function useSignUp(): SignUpSignalValue; /** * This hook allows you to access the Signal-based `Waitlist` resource. * * @example * import { useWaitlist } from "@clerk/react"; * * function WaitlistForm() { * const { waitlist, errors, fetchStatus } = useWaitlist(); * // * } */ declare function useWaitlist(): WaitlistSignalValue; export { APIKeys, ClerkProvider, ClerkProviderProps, CreateOrganization, GoogleOneTap, HandleSSOCallback, OrganizationList, OrganizationProfile, OrganizationSwitcher, PricingTable, SignIn, SignInButton, SignInWithMetamaskButton, SignOutButton, SignUp, SignUpButton, TaskChooseOrganization, TaskResetPassword, TaskSetupMFA, UserAvatar, UserButton, UserProfile, Waitlist, useEmailLink, useSignIn, useSignUp, useWaitlist };