import type { HttpMiddleware } from "@egomobile/http-server"; import type { AnySchema } from "joi"; import type { Schema } from "../types/index.js"; import type { ClassMethodDecorator5 } from "../types/internal.js"; import type { HttpMethodDecoratorRoutePath, IHttpMethodDecoratorOptions } from "./index.js"; /** * Returns a decorator, that sets up an endpoint for a PATCH request. * * @example * ``` * import { Controller, PATCH, IHttp1Request, IHttp1Response } from "@egomobile/http-controllers"; * * @Controller() * export default class MyController { * @PATCH('/') * public async patchSomething(request: IHttp1Request, response: IHttp1Response) { * // ... * } * } * ``` * * @param {IHttpMethodDecoratorOptions} [options] The custom options. * @param {HttpMethodDecoratorRoutePath} [path] The custom path. * @param {AnySchema|Schema} [schema] The schema for the validation. * @param {HttpMiddleware[]} [use] Additional middlewares to use. * * @returns {MethodDecorator} The new decorator. */ export declare function PATCH(): ClassMethodDecorator5; export declare function PATCH(schema: AnySchema): ClassMethodDecorator5; export declare function PATCH(options: IHttpMethodDecoratorOptions): ClassMethodDecorator5; export declare function PATCH(use: HttpMiddleware[]): ClassMethodDecorator5; export declare function PATCH(path: HttpMethodDecoratorRoutePath): ClassMethodDecorator5; export declare function PATCH(path: HttpMethodDecoratorRoutePath, use: HttpMiddleware[]): ClassMethodDecorator5; export declare function PATCH(path: HttpMethodDecoratorRoutePath, schema: Schema): ClassMethodDecorator5;