import { Request, Response } from "express"; import { Session } from "express-session"; import Application from "../../Application.js"; import MailTemplate from "../../mail/MailTemplate.js"; import AuthMethod from "../AuthMethod.js"; import MagicLink from "../models/MagicLink.js"; import User from "../models/User.js"; export default class MagicLinkAuthMethod implements AuthMethod { protected readonly app: Application; protected readonly magicLinkMailTemplate: MailTemplate; constructor(app: Application, magicLinkMailTemplate: MailTemplate); getName(): string; getWeightForRequest(req: Request): number; findUserByIdentifier(identifier: string): Promise; getProofsForSession(session: Session): Promise; interruptAuth(req: Request, res: Response): Promise; attemptLogin(req: Request, res: Response, user: User): Promise; attemptRegister(req: Request, res: Response, identifier: string): Promise; private auth; }