import { AuthenticationMethod } from '../../ctx.js'; import { ModelTypes } from '../../cache/dbs/index.generated.js'; import { GDplugin } from '../GDplugin.js'; import { InferTypeRead, InferTypeWrite } from '../../lib/good-cop/index-backend.js'; import { PluginUserConfig } from './config.js'; export type Name = 'GDdoubleAuthentication'; /** This handles 2FA, pinCode authentication or biometric authentication. Request headers must contain at least one of those fields to work: `biometricAuthToken`, `pincode`, `2FA`. */ export declare class GDdoubleAuthentication extends GDplugin { name: "GDdoubleAuthentication"; config: PluginUserConfig; constructor(config: PluginUserConfig); compareAndAddAttempt(ctx: Ctx, type: AuthenticationMethod, token: string, userOrId: ModelTypes['user'] | string): Promise; addUserAdditionalFields(): { pinCode: import("../../lib/good-cop/definitionTypes.js").GoodCopNextDefinition, import("../../lib/good-cop/definitionTypes.js").GoodCopStringMethods>; pinCodeRetrialNb: import("../../lib/good-cop/definitionTypes.js").GoodCopNextDefinition, "gt" | "lt" | "lte" | "gte" | "round2" | "between" | "greaterThan" | "lessThan" | "max" | "min" | "positive">; lastPincodeCompareTime: import("../../lib/good-cop/definitionTypes.js").GoodCopNextDefinition, never>; biometricAuthToken: import("../../lib/good-cop/definitionTypes.js").GoodCopNextDefinition, import("../../lib/good-cop/definitionTypes.js").GoodCopStringMethods>; biometricAuthRetrialNb: import("../../lib/good-cop/definitionTypes.js").GoodCopNextDefinition, "gt" | "lt" | "lte" | "gte" | "round2" | "between" | "greaterThan" | "lessThan" | "max" | "min" | "positive">; lastBiometricCompareTime: import("../../lib/good-cop/definitionTypes.js").GoodCopNextDefinition, never>; _2FAcode: import("../../lib/good-cop/definitionTypes.js").GoodCopNextDefinition, import("../../lib/good-cop/definitionTypes.js").GoodCopStringMethods>; _2FAretrialNb: import("../../lib/good-cop/definitionTypes.js").GoodCopNextDefinition, "gt" | "lt" | "lte" | "gte" | "round2" | "between" | "greaterThan" | "lessThan" | "max" | "min" | "positive">; last2FACompareTime: import("../../lib/good-cop/definitionTypes.js").GoodCopNextDefinition, never>; }; } declare module '../../security/userAndConnexion/userAdditionalFields.js' { interface UserAdditionalFieldsRead extends InferTypeRead> { } interface UserAdditionalFieldsWrite extends InferTypeWrite> { } } declare const _default: import("../newPlugin.js").NewPluginConfig<"GDdoubleAuthentication", PluginUserConfig, typeof GDdoubleAuthentication>; export default _default;