import * as qs from 'qs';
import * as express_serve_static_core from 'express-serve-static-core';
import * as express from 'express';
import { b as Logger } from './_internal/types-Co7FibqF.js';
import { HttpLogLevels, HttpLoggerParams } from './http/index.js';

declare function createExpressLogger(
  params?: HttpLoggerParams<express.Request, express.Response>
): express.RequestHandler<
  express_serve_static_core.ParamsDictionary,
  any,
  any,
  qs.ParsedQs,
  Record<string, any>
> & {
  preserveErrorMiddleware(
    err: Error,
    req: express.Request,
    res: express.Response,
    next: express.NextFunction
  ): void;
};
declare module 'express' {
  interface Request {
    id: string | number;
    log: Logger<HttpLogLevels>;
  }
  interface Response {
    err?: Error;
  }
}

export { createExpressLogger };
