import { ControllerMetadata, ListMetadata, RouteMetadata, ParameterMetadata, MiddlewareMetadata, MiddlewarePosition, Class, ModelMetadata } from './interfaces/index.js'; /** * Metadata Manager save metadata of controllers and routes */ export declare class MetadataManager { static meta: ListMetadata; /** * Set metadata of the controller * @param controllerName name of the controller * @param controllerMetadata the metadata of the controller */ static setControllerMetadata(controllerName: string, controllerMetadata: ControllerMetadata): void; /** * Get metadata of the controller * @param controllerName name of the controller * @returns the metadata of the controller */ static getControllerMetadata(controllerName: string): ControllerMetadata; /** * Set metadata of the route of the controller * @param controllerName name of the controller * @param routeName name of the route * @param routeMetadata the metadata of the route */ static setRouteMetadata(controllerName: string, routeName: string, routeMetadata: RouteMetadata): void; /** * Get metadata of the route of the controller * @param controllerName name of the controller * @param routeName name of the route * @returns The metadata of the route */ static getRouteMetadata(controllerName: string, routeName: string): RouteMetadata; /** * Get metadata of all routes of the controller * @param controllerName name of the controller * @returns The metadata of all routes */ static getRoutesMetadata(controllerName: string): undefined; /** * Set the parameters according to the route of the controller * @param controllerName name of the controller * @param routeName name of the route * @param index index of the parameter * @param value the value of the parameter */ static setParameterMetadata(controllerName: string, routeName: string, index: number, value: ParameterMetadata): void; /** * Get the parameters according to the route of the controller * @param controllerName name of the controller * @param routeName name of the route * @returns List of parameters */ static getParametersMetadata(controllerName: string, routeName: string): ParameterMetadata[]; /** * Set middlewares according to the route of the controller * @param controllerName name of the controller * @param routeName name of the route * @param position before or after the method handler * @param value the middleware to register */ static setMiddlewareMetadata(controllerName: string, routeName: string, position: MiddlewarePosition, value: MiddlewareMetadata): void; /** * Set validator of the route of the controller * @param controllerName name of the controller * @param routeName name of the route * @param position before or after the method handler * @param value the middleware to register */ static setRouteValidatorMetadata(controllerName: string, routeName: string, value: any): void; /** * Get validator of the route of the controller * @param controllerName name of the controller * @param routeName name of the route * @param position before or after the method handler * @returns List of middlewares */ static getRouteValidatorMetadata(controllerName: string, routeName: string): any; /** * Get middlewares according to the route of the controller * @param controllerName name of the controller * @param routeName name of the route * @param position before or after the method handler * @returns List of middlewares */ static getMiddlewaresMetadata(controllerName: string, routeName: string, position: MiddlewarePosition): MiddlewareMetadata[]; /** * Set metadata of the service * @param serviceName name of the service * @param serviceMetadata the metadata of the service */ static setServiceMetadata(serviceName: string, serviceMetadata: any): void; /** * Get metadata of the service * @param serviceName name of the service * @returns the metadata of the service */ static getServiceMetadata(serviceName: string | Class): T; /** * Set one link between the parent class and service which need to be injected * @param parentName name of the parent which contains injection * @param serviceName the service name */ static setInjectionMetadata(parentName: string, serviceName: string, className: string): void; /** * get link between the parent class and service wich need to be injected * @param parentName name of the parent wich contains injection * @param serviceName the service name */ static getInjectionMetadata(parentName: string, serviceName: string): any; /** * Get all injections metadata * @returns the metadata of the service */ static getInjectionMetadatas(): any; /** * set model metadata * @param modelName model name * @param modelMetadata model metadata */ static setModelMetadata(modelName: string, modelMetadata: ModelMetadata): void; /** * get model metadata * @param modelName model name */ static getModelMetadata(modelName: string): ModelMetadata; /** * get all model metadata */ static getModelMetadatas(): { [id: string]: ModelMetadata; }; } //# sourceMappingURL=MetadataManager.d.ts.map