import 'reflect-metadata'; import { CoreEntity, ObjectLike } from '@grandlinex/core'; import { SSchemaEl, SwaggerRPathConf } from '../Meta/SwaggerTypes.js'; import { HttpStatusTypes } from '../Meta/SwaggerTypesStatic.js'; export declare enum ActionMode { 'DEFAULT' = 0, 'DMZ' = 1, 'DMZ_WITH_USER' = 2 } export type ActionTypes = 'POST' | 'GET' | 'USE' | 'PATCH' | 'DELETE'; /** * LIST - Response is an array of items * SINGLE - Response is a single item (default) */ export type ResponseRequestTypes = 'LIST' | 'SINGLE'; export type RouteMeta = { pathOverride?: string; mode?: ActionMode; requestSchema?: SSchemaEl | CoreEntity | string; responseSchema?: SSchemaEl | CoreEntity | string; requestType?: ResponseRequestTypes; responseType?: ResponseRequestTypes; responseCodes?: HttpStatusTypes[]; } & SwaggerRPathConf; export type RouteData = { type: ActionTypes; path: string; meta?: RouteMeta; }; export declare const Route: (type: RouteData["type"], path: RouteData["path"], meta?: RouteMeta) => ClassDecorator; export declare function getRouteMeta(target: T): RouteData | undefined;