import { APIKeysTheme, AlphaColorScale, Appearance, BaseTheme, CaptchaAppearanceOptions, CheckoutTheme, ColorScale, ColorScaleWithRequiredBase, CreateOrganizationTheme, CssColorOrAlphaScale, CssColorOrScale, ElementObjectKey, ElementState, Elements, ElementsConfig, FontFamily, IdSelectors, OAuthConsentTheme, OAuthDeviceVerificationTheme, Options, OrganizationListTheme, OrganizationProfileTheme, OrganizationSwitcherTheme, PlanDetailTheme, PricingTableTheme, SignInTheme, SignUpTheme, StateSelectors, SubscriptionDetailsTheme, TaskChooseOrganizationTheme, Theme, UserAvatarTheme, UserButtonTheme, UserProfileTheme, UserVerificationTheme, Variables, WaitlistTheme } from "./appearance.js"; import { ComponentControls, MountComponentRenderer } from "../Components.js"; import { WithInternalRouting } from "./routing.js"; import { ClerkUIConstructor } from "@clerk/shared/ui"; //#region src/internal/index.d.ts /** * Extracts the appearance type from a Ui object. We got 3 cases: * - If the Ui type has __appearanceType with a specific type, extract it * - If __appearanceType is 'any', fallback to base Appearance type * - Otherwise, fallback to the base Appearance type */ type ExtractAppearanceType = T extends { __appearanceType?: infer A; } ? 0 extends 1 & A ? Default : A : Default; declare const Tags: unique symbol; type Tagged = BaseType & { [Tags]: { [K in Tag]: void }; }; /** * Runtime brand value to identify valid UI objects */ declare const UI_BRAND: "__clerkUI"; /** * Ui type that carries appearance type information via phantom property * Tagged to ensure only official ui objects from @clerk/ui can be used * * ClerkUI is optional to support server-safe marker exports (react-server condition). * When ClerkUI is absent, the SDK will dynamically import it. */ type Ui = Tagged<{ /** * Runtime brand to identify valid UI objects */ __brand: typeof UI_BRAND; /** * ClerkUI constructor. Optional to support server-safe marker exports. * When absent (e.g., in React Server Components), the SDK resolves it via dynamic import. */ ClerkUI?: ClerkUIConstructor; /** * Version of the UI package (for potential future use) */ version?: string; /** * Phantom property for type-level appearance inference * This property never exists at runtime */ __appearanceType?: A; }, 'ClerkUI'>; //#endregion export { type APIKeysTheme, type AlphaColorScale, type Appearance, type BaseTheme, type CaptchaAppearanceOptions, type CheckoutTheme, type ColorScale, type ColorScaleWithRequiredBase, type ComponentControls, type CreateOrganizationTheme, type CssColorOrAlphaScale, type CssColorOrScale, type ElementObjectKey, type ElementState, type Elements, type ElementsConfig, ExtractAppearanceType, type FontFamily, type IdSelectors, type MountComponentRenderer, type OAuthConsentTheme, type OAuthDeviceVerificationTheme, type Options, type OrganizationListTheme, type OrganizationProfileTheme, type OrganizationSwitcherTheme, type PlanDetailTheme, type PricingTableTheme, type SignInTheme, type SignUpTheme, type StateSelectors, type SubscriptionDetailsTheme, type TaskChooseOrganizationTheme, type Theme, UI_BRAND, Ui, type UserAvatarTheme, type UserButtonTheme, type UserProfileTheme, type UserVerificationTheme, type Variables, type WaitlistTheme, type WithInternalRouting }; //# sourceMappingURL=index.d.ts.map