import { RouteDescriptor } from "../../route.mjs"; import { Session } from "../../types.mjs"; import { ClientPlugin } from "../../define-plugin.mjs"; import { DisableTwoFactorInput, FinalizeSetupInput, InitiateSetupInput, SendOTPInput, TwoFactorConfig, TwoFactorMethod, TwoFactorSetupURI, VerifyInput } from "./types.mjs"; //#region src/plugins/two-factor/index.d.ts declare function twoFactorPlugin(config: TwoFactorConfig): ClientPlugin<"two-factor", "/two-factor", [RouteDescriptor, RouteDescriptor, { readonly method: "POST"; readonly path: "/finalize-setup"; readonly parseSession: true; }>, RouteDescriptor, { readonly method: "POST"; readonly path: "/disable"; readonly parseSession: true; }>, RouteDescriptor, { readonly method: "POST"; readonly path: "/verify"; readonly parseSession: true; }>, RouteDescriptor, RouteDescriptor, RouteDescriptor, RouteDescriptor], { twoFactor: { isTwoFactorEnabled: () => boolean | undefined; }; }, { user: { twoFactorEnabled: boolean; }; }, Record>; //#endregion export { type DisableTwoFactorInput, type FinalizeSetupInput, type InitiateSetupInput, type SendOTPInput, type TwoFactorConfig, type TwoFactorMethod, type TwoFactorSetupURI, type VerifyInput, twoFactorPlugin };