import { TSchema } from "@sinclair/typebox"; import { ParameterDefinition } from "../../parameter"; import { HttpMethod, Route, RouteSimplifiedOptions } from "../../route"; import { RoutingContext } from "../../routing-context"; import { Presenter } from "./presenter"; export type PresenterRouteHandler; }, U extends { [P in keyof U]: TSchema; }> = unknown extends Input ? never : (this: RoutingContext) => Promise; export declare class PresenterRouteFactory { static create; }, U extends { [P in keyof U]: TSchema; }>(path: string, method: HttpMethod, options: RouteSimplifiedOptions, params: T, presenter: Presenter, handler: PresenterRouteHandler): Route; static GET; }, U extends { [P in keyof U]: TSchema; }>(path: string, options: RouteSimplifiedOptions, params: T, presenter: Presenter, handler: PresenterRouteHandler): Route; static POST; }, U extends { [P in keyof U]: TSchema; }>(path: string, options: RouteSimplifiedOptions, params: T, presenter: Presenter, handler: PresenterRouteHandler): Route; static PUT; }, U extends { [P in keyof U]: TSchema; }>(path: string, options: RouteSimplifiedOptions, params: T, presenter: Presenter, handler: PresenterRouteHandler): Route; static PATCH; }, U extends { [P in keyof U]: TSchema; }>(path: string, options: RouteSimplifiedOptions, params: T, presenter: Presenter, handler: PresenterRouteHandler): Route; static DELETE; }, U extends { [P in keyof U]: TSchema; }>(path: string, options: RouteSimplifiedOptions, params: T, presenter: Presenter, handler: PresenterRouteHandler): Route; static OPTIONS; }, U extends { [P in keyof U]: TSchema; }>(path: string, options: RouteSimplifiedOptions, params: T, presenter: Presenter, handler: PresenterRouteHandler): Route; static HEAD; }, U extends { [P in keyof U]: TSchema; }>(path: string, options: RouteSimplifiedOptions, params: T, presenter: Presenter, handler: PresenterRouteHandler): Route; }