import { IErrorMiddleware, IHttpRequest, IHttpResponse } from '.'; import { ErrorRequestHandler } from "express"; export interface IErrorResult { error: string; code: number; name: string; data?: T; } export interface GlobalErrorLogger { (err: Error, req: IHttpRequest, user?: any): void; } export interface GlobalErrorLoggerFactory { (url: string): GlobalErrorLogger; } export declare class ErrorHandlerMiddleware implements IErrorMiddleware { private readonly errorLogger?; constructor(errorLogger?: GlobalErrorLogger | undefined); handle(err: Error & { statusCode?: number; }, req: IHttpRequest & { user?: unknown; }, res: IHttpResponse): Promise; } export declare function errorHandlerFactory(globalErrorLoggerFactory?: GlobalErrorLoggerFactory): ErrorRequestHandler;