import Router from "@koa/router"; import { Context } from "koa"; export abstract class Mountable { init(_path: string, _router: Router): void {} abstract mount(router: Router, path: string): void; abstract canAccess( ctx: Context ): Promise<{ canAccess: boolean; message: string }>; }