import type { Request } from "express";

declare global {
  namespace Express {
    interface Request {
      validatedBody?: unknown;
      validatedQuery?: unknown;
      validatedParams?: unknown;
    }
  }
}

export type ValidatedRequest<TBody = unknown, TQuery = unknown, TParams = unknown> = Request & {
  validatedBody?: TBody;
  validatedQuery?: TQuery;
  validatedParams?: TParams;
};
