import { ActionMetadata } from "./metadata/ActionMetadata"; import { ControllerMetadata } from "./metadata/ControllerMetadata"; import { ParamMetadata } from "./metadata/ParamMetadata"; import { ResponseHandlerMetadata } from "./metadata/ResponseHandleMetadata"; import { UseMetadata } from "./metadata/UseMetadata"; import { TypeStackFramework } from "./TypeStackFramework"; /** * Builds metadata from the given metadata arguments. */ export declare class MetadataBuilder { private framework; constructor(framework: TypeStackFramework); protected registerGraphQL(): void; /** * Registers default middlewares used by the framework. */ protected registerDefaultMiddlewares(): void; /** * Registers global middlewares defined in the options. */ protected registerMiddlewares(): void; /** * Builds controller metadata from a registered controller metadata args. */ protected buildControllerMetadata(): void; protected buildActionMiddlewares(actionMetadata: ActionMetadata): Function[]; /** * Creates interceptors from the given "use interceptors". */ protected prepareInterceptors(interceptors: Function[]): Function[]; /** * Creates middlewares from the given "use"-s. */ protected prepareMiddlewares(uses: UseMetadata[]): Function[]; /** * */ protected buildControllerClasses(): Function[]; /** * Imports resolvers from their directories. */ protected buildResolverClasses(): Function[]; /** * Creates action metadatas. */ protected createActions(controller: ControllerMetadata): ActionMetadata[]; /** * Creates param metadatas. */ protected createParams(action: ActionMetadata): ParamMetadata[]; /** * Decorate paramArgs with default settings */ private decorateDefaultParamOptions(paramArgs); /** * Creates response handler metadatas for action. */ protected createActionResponseHandlers(action: ActionMetadata): ResponseHandlerMetadata[]; /** * Creates response handler metadatas for controller. */ protected createControllerResponseHandlers(controller: ControllerMetadata): ResponseHandlerMetadata[]; /** * Creates use metadatas for actions. */ protected createActionUses(action: ActionMetadata): UseMetadata[]; /** * Creates use interceptors for actions. */ protected createActionInterceptorUses(action: ActionMetadata): Function[]; /** * Creates use metadatas for controllers. */ protected createControllerUses(controller: ControllerMetadata): UseMetadata[]; /** * Creates use interceptors for controllers. */ protected createControllerInterceptorUses(controller: ControllerMetadata): Function[]; }