import { Request, Response } from "express"; import Application from "../../Application.js"; import { QueryParamsRecord } from "../../common/Routing.js"; import Controller from "../../Controller.js"; import { QueryVariable } from "../../db/MysqlConnectionManager.js"; import MailTemplate from "../../mail/MailTemplate.js"; import { AuthError } from "../AuthGuard.js"; import MagicLink from "../models/MagicLink.js"; import User from "../models/User.js"; import MagicLinkWebSocketListener from "./MagicLinkWebSocketListener.js"; export default class MagicLinkController extends Controller { static sendMagicLink(app: Application, sessionId: string, actionType: string, original_url: string, email: string, mailTemplate: MailTemplate, data: QueryParamsRecord, magicLinkData?: Record): Promise; static checkAndAuth(req: Request, res: Response, magicLink: MagicLink): Promise; protected readonly magicLinkWebsocketPath: string; constructor(magicLinkWebsocketListener: MagicLinkWebSocketListener); getRoutesPrefix(): string; routes(): void; protected getLobby(req: Request, res: Response): Promise; protected getMagicLink(req: Request, res: Response): Promise; protected performAction(magicLink: MagicLink, req: Request, res: Response): Promise; } export declare class BadOwnerMagicLink extends AuthError { constructor(); } export declare class UnauthorizedMagicLink extends AuthError { constructor(); } export declare class InvalidMagicLink extends AuthError { constructor(); }