import { TranslationController } from "./translation/translationHelpers"; import type RecipeModule from "./recipe/recipeModule"; import type { BaseRecipeModule } from "./recipe/recipeModule/baseRecipeModule"; import type { NormalisedConfig as NormalisedRecipeModuleConfig } from "./recipe/recipeModule/types"; import type { TranslationFunc, TranslationStore } from "./translation/translationHelpers"; import type { Navigate, GetRedirectionURLContext, NormalisedAppInfo, SuperTokensConfig, UserContext, NormalisedGetRedirectionURLContext, AllRecipeComponentOverrides, SuperTokensPlugin, PluginRouteHandler, SuperTokensPublicPlugin, } from "./types"; export default class SuperTokens { private static instance?; static usesDynamicLoginMethods: boolean; appInfo: NormalisedAppInfo; pluginList: SuperTokensPublicPlugin[]; languageTranslations: { defaultLanguage: string; userTranslationStore: TranslationStore; currentLanguageCookieScope: string | undefined; translationEventSource: TranslationController; userTranslationFunc?: TranslationFunc; }; recipeList: BaseRecipeModule[]; private userGetRedirectionURL; rootStyle: string; useShadowDom: boolean; privacyPolicyLink: string | undefined; termsOfServiceLink: string | undefined; defaultToSignUp: boolean; disableAuthRoute: boolean; componentOverrides: Partial; pluginRouteHandlers: PluginRouteHandler[]; constructor(config: SuperTokensConfig, plugins: SuperTokensPlugin[]); static init(config: SuperTokensConfig): void; static getInstance(): SuperTokens | undefined; static getInstanceOrThrow(): SuperTokens; getRecipeOrThrow>( recipeId: string ): RecipeModule; changeLanguage: (lang: string) => Promise; loadTranslation(store: TranslationStore): void; getRedirectUrl( context: NormalisedGetRedirectionURLContext, userContext: UserContext ): Promise; redirectToAuth: (options: { show?: "signin" | "signup" | undefined; navigate?: Navigate | undefined; queryParams?: any; redirectBack: boolean; userContext: UserContext; }) => Promise; redirectToUrl: (redirectUrl: string, navigate?: Navigate) => Promise; redirect: ( context: NormalisedGetRedirectionURLContext, navigate?: Navigate, queryParams?: Record, userContext?: UserContext ) => Promise; static reset(): void; } export declare function doRedirection(appInfo: NormalisedAppInfo, redirectUrl: string, navigate?: Navigate): void;