import { NextFunction, Response } from "express"; import { Request } from "../global/types/express"; export declare enum RouteParamtypes { REQUEST = "REQUEST", BODY = "BODY", QUERY = "QUERY", PARAMS = "PARAMS", REQUEST_AUTH = "REQUEST_AUTH", UPLOAD = "UPLOAD" } export interface ParameterConfiguration { /** * Indicates whether argument is a body, query, param, or custom parameter */ readonly type: RouteParamtypes; /** * Underlying base type (e.g., `String`) of the parameter, based on the type * definition in the route handler. */ readonly index: number; readonly optionUpload?: { type?: string; destination?: string; }; } export declare type ParamData = object | string | number | null; export declare function extractParameters(req: Request, res: Response, next: NextFunction, params: ParameterConfiguration[]): any[]; export declare const Body: () => ParameterDecorator; export declare const Req: () => ParameterDecorator; export declare const Params: () => ParameterDecorator; export declare const Query: () => ParameterDecorator; export declare const ReqAuth: () => ParameterDecorator; export declare const Upload: () => ParameterDecorator; export declare const UploadFile: (optionUpload: { type?: string; destination?: string; }) => (target: any, key: string, index: number) => void;