import { HttpMethod, HttpMiddleware, IHttpServer } from "@egomobile/http-server"; import type { HttpMethodDecoratorArg1, HttpMethodDecoratorArg2, HttpMethodDecoratorArg3, HttpMethodDecoratorWithBodyArg1, HttpMethodDecoratorWithBodyArg2, HttpMethodDecoratorWithBodyArg3 } from "../decorators/index.js"; import { ControllerBase, ImportValues } from "../index.js"; import type { ClassMethodDecorator5, Nilable } from "../types/internal.js"; interface ICreateHttpMethodDecoratorOptions { arg1: Nilable; arg2: Nilable; arg3?: Nilable; httpMethod: HttpMethod; } export interface IInitImportContext { controller: ControllerBase; imports: ImportValues; } export interface IInitMethodContext { controller: ControllerBase; fullPath: string; middlewares: HttpMiddleware[]; noAutoEnd: Nilable; noAutoParams: Nilable; noAutoQuery: Nilable; relativePath: string; server: IHttpServer; } export type InitImportAction = (context: IInitImportContext) => Promise; export type InitMethodAction = (context: IInitMethodContext) => Promise; export declare function createHttpMethodDecorator({ arg1, arg2, httpMethod }: ICreateHttpMethodDecoratorOptions): ClassMethodDecorator5; export {};