import { Action } from "./Action"; import { ParamMetadata } from "./metadata/ParamMetadata"; import { TypeStackFramework } from "./TypeStackFramework"; /** * Handles action parameter. */ export declare class ActionParameterHandler { private framework; constructor(framework: TypeStackFramework); /** * Handles each parameter in the given action. * Since parameter handling can return promises we return array of mixed values which can include promises, * and a flag which indicates if there is at least one promise in the handled values. */ handle(action: Action): { values: (Promise | any)[]; hasPromises: boolean; }; /** * Handles a single action parameter. */ protected handleParameter(action: Action, param: ParamMetadata): Promise | any; /** * Gets parameter from the request. */ protected getParamFromRequest(action: Action, param: ParamMetadata): any; /** * Handles non-promise value. */ protected handleValue(value: any, action: Action, param: ParamMetadata): Promise | any; /** * Normalizes parameter value. */ protected normalizeParamValue(value: any, param: ParamMetadata): Promise | any; /** * Parses string value into a JSON object. */ protected parseValue(value: any, paramMetadata: ParamMetadata): any; /** * Perform class-transformation if enabled. */ protected transformValue(value: any, paramMetadata: ParamMetadata): any; /** * Perform class-validation if enabled. */ protected validateValue(value: any, paramMetadata: ParamMetadata): Promise | any; }