import { TApplicationMiddleware } from './application.js'; type TControllerResponseData = object | number | string | boolean | null | undefined; export interface IControllerResponseNoDataDTO { status: 204; body: null; } export interface IControllerResponseDTO { status: Status; body: IControllerResponseBodyDTO; } export type IControllerResponseBodyDTO = { data: T; }; export type IControllerErrorResponseBodyDTO = { error: { code: Status; message: Message; details: object; }; }; export interface IControllerResponseErrorDTO { status: Status; body: IControllerErrorResponseBodyDTO; } export declare enum ERequestPayload { PATH = 0, QUERY = 1, BODY = 2 } export declare enum ERequestMethod { GET = "get", POST = "post", PUT = "put", DELETE = "delete", HEAD = "head", PATCH = "patch" } export type TControllerRequestHandler = (...args: Parameters>) => Promise; export type TControllerRequestHandlerGeneric = TControllerRequestHandler; export type TControllerRequestPayloadEmpty = Record; export {}; //# sourceMappingURL=controller.d.ts.map