import type { SignOutCallback, Clerk as ClerkClient, GetTokenOptions, SignOutOptions } from '@clerk/types'; import type { CurrentUser } from '@cedarjs/auth'; type AuthImplementationOptions = { defaultGetTokenOptions?: GetTokenOptions; }; export declare function createAuth(customProviderHooks?: { useCurrentUser?: () => Promise; useHasRole?: (currentUser: CurrentUser | null) => (rolesToCheck: string | string[]) => boolean; }, authImplementationOptions?: AuthImplementationOptions): { AuthContext: import("react").Context; } & { forceRedirectUrl?: string | null; fallbackRedirectUrl?: string | null; signInUrl?: string; signUpUrl?: string; appearance?: import("@clerk/types").SignInTheme; initialValues?: import("@clerk/types").SignInInitialValues & import("@clerk/types").SignUpInitialValues; __experimental?: Record & { newComponents?: boolean; }; waitlistUrl?: string; unsafeMetadata?: SignUpUnsafeMetadata; withSignUp?: boolean; oauthFlow?: "auto" | "redirect" | "popup"; oidcPrompt?: string; } & import("@clerk/types").TransferableOption & import("@clerk/types").SignUpForceRedirectUrl & import("@clerk/types").SignUpFallbackRedirectUrl & import("@clerk/types").LegacyRedirectProps & import("@clerk/types").AfterSignOutUrl) | ({ path?: never; routing?: Extract; } & { forceRedirectUrl?: string | null; fallbackRedirectUrl?: string | null; signInUrl?: string; signUpUrl?: string; appearance?: import("@clerk/types").SignInTheme; initialValues?: import("@clerk/types").SignInInitialValues & import("@clerk/types").SignUpInitialValues; __experimental?: Record & { newComponents?: boolean; }; waitlistUrl?: string; unsafeMetadata?: SignUpUnsafeMetadata; withSignUp?: boolean; oauthFlow?: "auto" | "redirect" | "popup"; oidcPrompt?: string; } & import("@clerk/types").TransferableOption & import("@clerk/types").SignUpForceRedirectUrl & import("@clerk/types").SignUpFallbackRedirectUrl & import("@clerk/types").LegacyRedirectProps & import("@clerk/types").AfterSignOutUrl), void, SignOutCallback | SignOutOptions, void | undefined, ({ path: string | undefined; routing?: Extract; } & { forceRedirectUrl?: string | null; fallbackRedirectUrl?: string | null; signInUrl?: string; appearance?: import("@clerk/types").SignUpTheme; unsafeMetadata?: SignUpUnsafeMetadata; initialValues?: import("@clerk/types").SignUpInitialValues; __experimental?: Record & { newComponents?: boolean; }; waitlistUrl?: string; oauthFlow?: "auto" | "redirect" | "popup"; oidcPrompt?: string; } & import("@clerk/types").SignInFallbackRedirectUrl & import("@clerk/types").SignInForceRedirectUrl & import("@clerk/types").LegacyRedirectProps & import("@clerk/types").AfterSignOutUrl) | ({ path?: never; routing?: Extract; } & { forceRedirectUrl?: string | null; fallbackRedirectUrl?: string | null; signInUrl?: string; appearance?: import("@clerk/types").SignUpTheme; unsafeMetadata?: SignUpUnsafeMetadata; initialValues?: import("@clerk/types").SignUpInitialValues; __experimental?: Record & { newComponents?: boolean; }; waitlistUrl?: string; oauthFlow?: "auto" | "redirect" | "popup"; oidcPrompt?: string; } & import("@clerk/types").SignInFallbackRedirectUrl & import("@clerk/types").SignInForceRedirectUrl & import("@clerk/types").LegacyRedirectProps & import("@clerk/types").AfterSignOutUrl), void, unknown, unknown, unknown, unknown, ClerkClient | null> | undefined>; AuthProvider: ({ children }: import("@cedarjs/auth").AuthProviderProps) => import("react").JSX.Element; useAuth: () => import("@cedarjs/auth").AuthContextInterface; } & { forceRedirectUrl?: string | null; fallbackRedirectUrl?: string | null; signInUrl?: string; signUpUrl?: string; appearance?: import("@clerk/types").SignInTheme; initialValues?: import("@clerk/types").SignInInitialValues & import("@clerk/types").SignUpInitialValues; __experimental?: Record & { newComponents?: boolean; }; waitlistUrl?: string; unsafeMetadata?: SignUpUnsafeMetadata; withSignUp?: boolean; oauthFlow?: "auto" | "redirect" | "popup"; oidcPrompt?: string; } & import("@clerk/types").TransferableOption & import("@clerk/types").SignUpForceRedirectUrl & import("@clerk/types").SignUpFallbackRedirectUrl & import("@clerk/types").LegacyRedirectProps & import("@clerk/types").AfterSignOutUrl) | ({ path?: never; routing?: Extract; } & { forceRedirectUrl?: string | null; fallbackRedirectUrl?: string | null; signInUrl?: string; signUpUrl?: string; appearance?: import("@clerk/types").SignInTheme; initialValues?: import("@clerk/types").SignInInitialValues & import("@clerk/types").SignUpInitialValues; __experimental?: Record & { newComponents?: boolean; }; waitlistUrl?: string; unsafeMetadata?: SignUpUnsafeMetadata; withSignUp?: boolean; oauthFlow?: "auto" | "redirect" | "popup"; oidcPrompt?: string; } & import("@clerk/types").TransferableOption & import("@clerk/types").SignUpForceRedirectUrl & import("@clerk/types").SignUpFallbackRedirectUrl & import("@clerk/types").LegacyRedirectProps & import("@clerk/types").AfterSignOutUrl), void, SignOutCallback | SignOutOptions, void | undefined, ({ path: string | undefined; routing?: Extract; } & { forceRedirectUrl?: string | null; fallbackRedirectUrl?: string | null; signInUrl?: string; appearance?: import("@clerk/types").SignUpTheme; unsafeMetadata?: SignUpUnsafeMetadata; initialValues?: import("@clerk/types").SignUpInitialValues; __experimental?: Record & { newComponents?: boolean; }; waitlistUrl?: string; oauthFlow?: "auto" | "redirect" | "popup"; oidcPrompt?: string; } & import("@clerk/types").SignInFallbackRedirectUrl & import("@clerk/types").SignInForceRedirectUrl & import("@clerk/types").LegacyRedirectProps & import("@clerk/types").AfterSignOutUrl) | ({ path?: never; routing?: Extract; } & { forceRedirectUrl?: string | null; fallbackRedirectUrl?: string | null; signInUrl?: string; appearance?: import("@clerk/types").SignUpTheme; unsafeMetadata?: SignUpUnsafeMetadata; initialValues?: import("@clerk/types").SignUpInitialValues; __experimental?: Record & { newComponents?: boolean; }; waitlistUrl?: string; oauthFlow?: "auto" | "redirect" | "popup"; oidcPrompt?: string; } & import("@clerk/types").SignInFallbackRedirectUrl & import("@clerk/types").SignInForceRedirectUrl & import("@clerk/types").LegacyRedirectProps & import("@clerk/types").AfterSignOutUrl), void, unknown, unknown, unknown, unknown, ClerkClient | null>; }; export {}; //# sourceMappingURL=clerk.d.ts.map