import * as express from 'express'; import { auth, firestore } from 'firebase-admin'; import * as httpStatusCodes from 'http-status-codes'; import { Context } from './context'; export declare class Server { static statusCodes: typeof httpStatusCodes; private _app; constructor(options: Server.Options); registerMiddleWare(middleware: Server.Middleware): void; registerErrorHlandler(middleware: express.ErrorRequestHandler): void; registerRouter(path: string, router: express.Router): void; getNewRouter(): express.Router; get app(): express.Express; } export declare namespace Server { interface Options { firebaseAuth: auth.Auth; firestore: firestore.Firestore; publicPaths: string[]; factory: Context.Factory; } interface Request extends express.Request { context: Context; } type Response = express.Response; type NextFunction = express.NextFunction; interface Middleware { (request: Server.Request, response: Server.Response, next: Server.NextFunction): void; } }