import { ActionType, ParameterType, MatcherDelegate } from './route-refletor'; import { IMiddleware } from "./interfaces"; export declare function route(actionType: ActionType, path: string, matcher: MatcherDelegate | null, ...middlewares: any[]): ClassDecorator; export declare function cacheControl(type: 'immutable', maxAge?: number): ClassDecorator; export declare function cacheControl(type: 'public', maxAge: number): ClassDecorator; export declare function cacheControl(type: 'private', maxAge: number): ClassDecorator; export declare function cacheControl(type: 'no-cache'): ClassDecorator; export declare function cacheControl(type: 'no-store'): ClassDecorator; export declare function httpAll(path: string, ...middlewares: Class[]): ClassDecorator; export declare function httpPost(path: string, ...middlewares: Class[]): ClassDecorator; export declare function httpPut(path: string, ...middlewares: Class[]): ClassDecorator; export declare function httpGet(path: string, ...middlewares: Class[]): ClassDecorator; export declare function httpDelete(path: string, ...middlewares: Class[]): ClassDecorator; export declare function httpHead(path: string, ...middlewares: Class[]): ClassDecorator; export declare function httpPatch(path: string, ...middlewares: Class[]): ClassDecorator; export declare function params(type: ParameterType, parameterName?: string, Model?: T | [T], nullable?: boolean): ParameterDecorator; type Class = new (...arg: any[]) => T; export declare function queryParam(name: string, model: T | [T], nullable?: true): ParameterDecorator; export declare function queryParam(name: string, nullable?: true): ParameterDecorator; export declare function bodyParam(name: string, model: T | [T], nullable?: true): ParameterDecorator; export declare function bodyParam(name: string, nullable?: true): ParameterDecorator; export declare function requestParam(name: string, model?: T | [T], nullable?: true): ParameterDecorator; export declare function requestParam(name: string, nullable?: true): ParameterDecorator; export declare function headerParam(name: string, model?: T | [T], nullable?: true): ParameterDecorator; export declare function headerParam(name: string, nullable?: true): ParameterDecorator; export declare function cookieParam(name: string, model?: T | [T], nullable?: true): ParameterDecorator; export declare function cookieParam(name: string, nullable?: true): ParameterDecorator; export declare function queryModel(model: T, nullable?: true): ParameterDecorator; export declare function queryModel(nullable?: true): ParameterDecorator; export declare function queryModel(target: Object, methodName: string | symbol, index: number): void; export declare function requestBody(model: T | [T], nullable?: true): ParameterDecorator; export declare function requestBody(nullable?: true): ParameterDecorator; export declare function requestBody(target: Object, methodName: string | symbol, index: number): void; export declare function middleware(priority: number, path?: string, actionType?: ActionType): ClassDecorator; export {};