import { NormalisedInputType as AuthRecipeNormalisedInputType, InputType as AuthRecipeInputType, } from "../authRecipe/types"; import { RecipePostAPIHookContext, RecipePreAPIHookContext, UserInput as RecipeModuleUserInput, RecipeFunctionOptions, } from "../recipeModule/types"; import OverrideableBuilder from "supertokens-js-override"; export declare type PreAndPostAPIHookAction = "GET_MFA_INFO"; export declare type PreAPIHookContext = RecipePreAPIHookContext; export declare type PostAPIHookContext = RecipePostAPIHookContext; export declare type UserInput = { override?: { functions?: ( originalImplementation: RecipeInterface, builder: OverrideableBuilder ) => RecipeInterface; }; } & RecipeModuleUserInput; export declare type InputType = AuthRecipeInputType & UserInput; export declare type NormalisedInputType = AuthRecipeNormalisedInputType & { override: { functions: ( originalImplementation: RecipeInterface, builder: OverrideableBuilder ) => RecipeInterface; }; }; export declare type MFAFactorInfo = { alreadySetup: string[]; allowedToSetup: string[]; next: string[]; }; export declare type RecipeInterface = { resyncSessionAndFetchMFAInfo: (input: { options?: RecipeFunctionOptions; userContext: any }) => Promise<{ status: "OK"; factors: MFAFactorInfo; emails: Record; phoneNumbers: Record; fetchResponse: Response; }>; }; export declare type MFARequirement = string; export declare type MFARequirementList = ( | { oneOf: MFARequirement[]; } | { allOfInAnyOrder: MFARequirement[]; } | MFARequirement )[]; export declare type MFAClaimValue = { c: Record; v: boolean; };