/// import { IncomingMessage, ServerResponse } from 'http'; import { SessionOptions } from 'express-session'; import { Request } from 'express'; import { CookieOptions } from 'csurf'; import { Logger } from '../logger'; interface ICsrfOptions { value?: (req: Request) => string; cookie?: CookieOptions | boolean; ignoreMethods?: string[]; sessionKey?: string; } declare type MiddlewareTest = string | RegExp; declare type MiddlwareOptions = false | Opt | [MiddlewareTest, Opt]; export interface IAppConfig { mode: 'production' | 'development' | string; basePath?: string; knexPath?: string; logMode?: 'production' | 'development' | string; logger?: Logger; port?: number; serviceName?: string; middleware?: { body?: MiddlwareOptions<{ extended?: boolean; inflate?: boolean; limit?: number | string; parameterLimit?: number; type?: string; verify?: (req: IncomingMessage, res: ServerResponse, buf: Buffer, encoding: string) => void; }>; cookieParser?: MiddlwareOptions<[ secret: string, opt?: { decode: Function; } ]>; csrf?: MiddlwareOptions; json?: MiddlwareOptions<{ inflate?: boolean; reviver?: (key: string, value: any) => any; limit?: number | string; strict?: boolean; type?: 'string'; verify?: (req: IncomingMessage, res: ServerResponse, buf: Buffer, encoding: string) => void; }>; session?: MiddlwareOptions; static?: MiddlwareOptions<{ path: string; }>; }; } export {};