import * as _$routup from "routup"; import { CoreHandlerOptions, IApp, IAppEvent, Plugin } from "routup"; //#region src/parameter/constants.d.ts declare enum ParameterType { CONTEXT = "context", RESPONSE = "response", REQUEST = "request", NEXT = "next", PARAM = "param", HEADER = "header", COOKIE = "cookie", QUERY = "query", BODY = "body" } //#endregion //#region src/parameter/module.d.ts declare function createParameterDecorator(type: `${ParameterType}`, property?: string): ParameterDecorator; declare function DContext(): ParameterDecorator; declare function DRequest(): ParameterDecorator; declare function DResponse(): ParameterDecorator; declare function DNext(): ParameterDecorator; declare function DPaths(): ParameterDecorator; declare function DPath(property: string): ParameterDecorator; declare function DHeaders(): ParameterDecorator; declare function DHeader(property: string): ParameterDecorator; declare function DBody(property?: string): ParameterDecorator; declare function DQuery(property?: string): ParameterDecorator; declare function DCookies(): ParameterDecorator; declare function DCookie(property: string): ParameterDecorator; //#endregion //#region src/parameter/type.d.ts type DecoratorParameterOptions = { index: number; type: `${ParameterType}`; property?: string; }; //#endregion //#region src/method/arguments.d.ts declare function buildDecoratorMethodArguments(context: HandlerContext, parameters: DecoratorParameterOptions[]): Promise; //#endregion //#region src/method/module.d.ts declare function createMethodDecorator(method: string, url: string, handlers?: ClassType[]): MethodDecorator; declare function DDelete(url: string, handlers?: ClassType[]): MethodDecorator; declare function DGet(url: string, handlers?: ClassType[]): MethodDecorator; declare function DPost(url: string, handlers?: ClassType[]): MethodDecorator; declare function DPut(url: string, handlers?: ClassType[]): MethodDecorator; declare function DPatch(url: string, handlers?: ClassType[]): MethodDecorator; //#endregion //#region src/method/type.d.ts type DecoratorMethodOptions = { method: string; url: string; middlewares: ClassType[]; }; //#endregion //#region src/type.d.ts interface ClassType extends Function { new (...args: any[]): any; } type DecoratorMeta = { url: string | string[]; methods: { [key: string]: DecoratorMethodOptions; }; middlewares: ClassType[]; parameters: { [key: string]: DecoratorParameterOptions[]; }; }; interface HandlerInterface { run(event: IAppEvent): Promise | unknown; } type HandlerContext = { event: IAppEvent; }; type Options = { controllers: (ClassType | Record)[]; }; //#endregion //#region src/module.d.ts declare function decorators(options: Options): Plugin; //#endregion //#region src/class/module.d.ts declare function createClassDecorator(url: string | string[], middlewares?: ClassType[]): ClassDecorator; declare function DController(url: string | string[], middlewares?: ClassType[]): ClassDecorator; //#endregion //#region src/mixed/module.d.ts declare function DDeprecated(): any; declare function DDescription(name: string | number, description?: string, example?: T): any; declare function DHidden(): () => void; declare function DExample(example: any): (...args: any) => void; declare function DSecurity(roles?: string | string[], name?: string): (...args: any) => void; declare function DTags(...names: string[]): (...args: any) => void; //#endregion //#region src/mount.d.ts declare function mountController(router: IApp, input: (ClassType | Record)): void; declare function mountControllers(router: IApp, input: (ClassType | Record)[]): void; //#endregion //#region src/utils/handler.d.ts declare function isHandlerClassInstance(input: unknown): input is HandlerInterface; declare function createHandlerForClassType(item: ClassType, options: Partial): _$routup.Handler; //#endregion //#region src/utils/meta.d.ts declare function useDecoratorMeta(target: Record): DecoratorMeta; //#endregion //#region src/utils/object.d.ts declare function isObject(item: unknown): item is Record; //#endregion export { ClassType, DBody, DContext, DController, DCookie, DCookies, DDelete, DDeprecated, DDescription, DExample, DGet, DHeader, DHeaders, DHidden, DNext, DPatch, DPath, DPaths, DPost, DPut, DQuery, DRequest, DResponse, DSecurity, DTags, DecoratorMeta, DecoratorMethodOptions, DecoratorParameterOptions, HandlerContext, HandlerInterface, Options, ParameterType, buildDecoratorMethodArguments, createClassDecorator, createHandlerForClassType, createMethodDecorator, createParameterDecorator, decorators, decorators as default, isHandlerClassInstance, isObject, mountController, mountControllers, useDecoratorMeta }; //# sourceMappingURL=index.d.mts.map