// @ts-nocheck import type { BaseRequest, BaseResponse } from "../../framework"; import NormalisedURLPath from "../../normalisedURLPath"; import RecipeModule from "../../recipeModule"; import STError from "../../error"; import { APIHandled, HTTPMethod, NormalisedAppinfo, RecipeListFunction, UserContext } from "../../types"; import { ProviderInput } from "../thirdparty/types"; import { APIInterface, RecipeInterface, TypeInput, TypeNormalisedInput } from "./types"; import type SuperTokens from "../../supertokens"; import { AllowedDomainsClaimClass } from "./allowedDomainsClaim"; export default class Recipe extends RecipeModule { private static instance; allowedDomainsClaim: AllowedDomainsClaimClass; static RECIPE_ID: "multitenancy"; config: TypeNormalisedInput; recipeInterfaceImpl: RecipeInterface; apiImpl: APIInterface; isInServerlessEnv: boolean; staticThirdPartyProviders: ProviderInput[]; allAvailableFirstFactors: string[]; staticFirstFactors: string[] | undefined; getAllowedDomainsForTenantId?: (tenantId: string, userContext: UserContext) => Promise; constructor(stInstance: SuperTokens, recipeId: string, appInfo: NormalisedAppinfo, isInServerlessEnv: boolean, config?: TypeInput); static getInstanceOrThrowError(): Recipe; static getInstance(): Recipe | undefined; static init(config?: TypeInput): RecipeListFunction; static reset(): void; getAPIsHandled: () => APIHandled[]; handleAPIRequest: (id: string, tenantId: string, req: BaseRequest, res: BaseResponse, _: NormalisedURLPath, __: HTTPMethod, userContext: UserContext) => Promise; handleError: (err: STError, _: BaseRequest, __: BaseResponse) => Promise; getAllCORSHeaders: () => string[]; isErrorFromThisRecipe: (err: any) => err is STError; }