import { BaseException } from './BaseException'; import { Logger } from '../logger'; import { Request, Response } from 'express'; import { HTTPResponder } from '../http/response/Responder'; import { HTTPResponse, ResponseBody } from '../http'; declare type ExceptionHandledResponse = ResponseBody | HTTPResponse | false | Promise | false>; export declare class ExceptionHandler extends HTTPResponder { protected readonly logger: Logger; protected readonly mode: 'production' | 'development' | string; constructor(logger: Logger, mode: 'production' | 'development' | string); handle(exception: BaseException, req: Request, res: Response): ExceptionHandledResponse; reportHandledException(exception: BaseException): void | Promise; reportUnhandledException(exception: BaseException): void | Promise; } export {};