import { HatsaLogger } from '@hatsa/log'; import { HatsaConfig } from '@hatsa/config'; import * as express from 'express'; declare namespace Hatsa.Express { export interface GenAppOpts { logger?: HatsaLogger; sd_mw?: boolean | Function; } export interface HatsaExpress extends express.Express { config?: HatsaConfig; } export interface HatsaExpressApp extends express.Application { logger?: HatsaLogger; } export interface Request extends express.Request { app: HatsaExpressApp; } export type Response = express.Response; export type NextFunction = express.NextFunction; export function genApp(opts: GenAppOpts): HatsaExpress; export function addApiServiceRoutes( app: express.Express, path: string, routes: express.Router, serviceName?: string, ): void; export function addErrorHandler(app: HatsaExpressApp, logger: HatsaLogger, debug?: boolean): void; export function handleError( err: Error, req: express.Request, res: express.Response, logger: HatsaLogger, debug?: boolean, ): void; export function Router(): express.Router; export type Router = express.Router; } export = Hatsa.Express;