import { Request, Response } from 'express'; export declare type Call = (req: Request, res: Response) => Promise; export declare type UserCall = (req: Request, res: Response, userId: string, payload: any) => Promise; export default class Router { private router; getAsGuest(path: string, call: Call): void; postAsGuest(path: string, call: Call): void; putAsGuest(path: string, call: Call): void; deleteAsGuest(path: string, call: Call): void; getAsUser(path: string, call: UserCall): void; postAsUser(path: string, call: UserCall): void; putAsUser(path: string, call: UserCall): void; deleteAsUser(path: string, call: UserCall): void; getAsRoot(path: string, call: Call): void; postAsRoot(path: string, call: Call): void; putAsRoot(path: string, call: Call): void; deleteAsRoot(path: string, call: Call): void; executeAsUserOrRoot(req: Request, res: Response, call: UserCall): Promise; executeAsRoot(req: Request, res: Response, call: Call): Promise; catch(res: Response, call: () => Promise): Promise; getExpressRouter(): import("express-serve-static-core").Router; }