import { NextFunction, Request, Response } from "express"; import { PrismaQueryOptions, ArkosRequest, ArkosRequestHandler, ArkosResponse, AuthPrismaQueryOptions } from "../../types"; import { ZodSchema } from "zod"; import { ClassConstructor } from "class-transformer"; import { ValidatorOptions } from "class-validator"; import { ArkosRouteConfig } from "../../utils/arkos-router/types"; export declare function callNext(_: Request, _1: Response, next: NextFunction): void; /** * Sends response with backward compatibility support * Compares current values against original values to detect middleware changes * If values were modified by subsequent middleware, use the modified version */ export declare function sendResponse(req: ArkosRequest, res: ArkosResponse): void; /** * Type representing all possible actions that can be performed on a controller * Combines both standard CRUD operations and auth-specific operations */ export type ControllerActions = keyof PrismaQueryOptions | keyof Omit, keyof PrismaQueryOptions>; /** * Middleware to add Prisma query options to the request's query parameters. * * @template T - The type of the Prisma model. * @param {PrismaQueryOptions | AuthPrismaQueryOptions} prismaQueryOptions - The Prisma query options to attach. * @param {ControllerActions} action - The controller action to apply. * @returns A middleware function that attaches the query options to the request. */ export declare function addPrismaQueryOptionsToRequest>(prismaQueryOptions: PrismaQueryOptions | AuthPrismaQueryOptions, action: ControllerActions): (req: ArkosRequest, _: ArkosResponse, next: NextFunction) => void; /** * Logs request events with colored text such as errors, requests responses. * */ export declare function handleRequestLogs(req: Request, res: Response, next: NextFunction): void; /** * @deprecated Will be removed in v2.0, please ArkosRouter instead. */ export declare function handleRequestBodyValidationAndTransformation(schemaOrDtoClass?: ClassConstructor, classValidatorValidationOptions?: ValidatorOptions): ArkosRequestHandler; export declare function handleRequestBodyValidationAndTransformation(schemaOrDtoClass?: ZodSchema): ArkosRequestHandler; export declare function validateRequestInputs(routeConfig: ArkosRouteConfig): any;