/// import { Express } from 'express'; import * as http from 'http'; import { GatewayRoute, IGatewayRoute } from './GatewayRoute'; interface IGatewayOpts { environment?: string; enableLogging?: boolean; onLoad?: Function; onLog?: (res: IGatewayOnLog) => Promise; onStart?: Function; onStop?: Function; routes?: ({ new (): GatewayRoute; } | IGatewayRoute)[]; tokenExpiresIn?: number; tokenSecret?: string; url?: string; } interface IGatewayOnLog { curl: string; duration: number; errorMessage?: string; httpVersion: string; method: string; path: string; port: number; query: string; requestBody: string; requestHeaders: string[]; responseBody: string; responseHeaders: string[]; statusCode: number; statusMessage: string; } export declare class Gateway { environment: string; express: Express; listener: http.Server; routes: ({ new (): GatewayRoute; } | IGatewayRoute)[]; tokenExpiresIn: number; tokenSecret: string; user: any; onLoad: Function; onLog: (res: IGatewayOnLog) => Promise; onStart: Function; onStop: Function; enableLogging: boolean; url: string; constructor(opts?: IGatewayOpts); load(cb?: Function): Promise; start(cb?: Function): Promise; stop(cb?: Function): Promise; } export {};