import { NextFunction, Request, Response } from 'express'; import { Auth, User } from "../graphql/__generated__/types"; export type MapInfo = { auth_lv: Auth; name: string; }; export type UserAuthData = { maps: { [mapId: string]: MapInfo; }; }; export declare abstract class AuthManagementInterface { abstract initialize(): Promise; abstract checkJwt(req: Request, res: Response, next: NextFunction): void; abstract getUserMapList(userId: string): Promise; abstract getUserInfo(userId: string, mapId: string): Promise; abstract requestForEnterMap(param: { userId: string; mapId: string; name: string; newUserAuthLevel: Auth; }): Promise; abstract getUserList(mapId: string): Promise; abstract updateUserAuth(param: { mapId: string; userId: string; authLv: Auth; }): Promise; }