export = Wabs; interface MiddlewareFunction { (req?: Object, res?: Object, next?: Function) : void; } interface Middleware { authenticated(config?: { authenticate?: boolean }): MiddlewareFunction; clientGrantProxy(baseUrl: Function|string): MiddlewareFunction; init():MiddlewareFunction; index(config: { brownie?: boolean, ignore?: Array|Function, render: string|Function, sync?: boolean }): MiddlewareFunction; login(config?: { failure?: string, gateway?: boolean, success: string }): MiddlewareFunction; logout(config?: { cas?: boolean, cFramework?: boolean, redirect?: string, wso2?: boolean }): MiddlewareFunction; sync(): MiddlewareFunction; } interface Wabs { (config: object): Middleware; getOptions(config: string|WabsConfig): Promise; getOptionsSync(config: string|WabsConfig): WabsConfig; } interface WabsConfig { appName: string; awsParameterName; string; awsSsmConfig: object; casCallbackPath?: string; configFile?: string; consumerKey?: string; consumerSecret?: string; encryptSecret?: string; hardTimeout?: number; host?: string; reservedPath?: string; wso2CallbackPath?: string; }