import 'reflect-metadata'; import { IController, IAwsRequestEvent } from '../types/index'; /** * Generate the metakey for the reflection * The Resource Path * @param httpMethod * The http method (GET, POST ...) * @param path * @returns {string} * return metakey to set the reflection id */ export declare const generateMetaKey: (httpMethod: string, path?: string) => string; /** * Generate the metakey for the reflection * The Resource Path * @param httpMethod * The http method (GET, POST ...) * @param path * The path * @param resource * The resource * @returns {string} * return metakey to set the reflection id */ export declare const generateResourceMetaKey: (httpMethod: string, resource: string, path?: string) => string; /** * Get the method as function * @param controller * The Controller which will contain the method * @param toCallenMethodName * The Method name which selected * @return Function * The method as Function */ export declare const getMethod: (controller: IController, toCallenMethodName: string) => Function; /** * Get the method name * @param requestEvent * The AWS Request Event * @param controller * The Controller which will contain the Method. * @return {any} * The method name */ export declare const getMethodName: (requestEvent: IAwsRequestEvent, controller: IController) => string; /** * Get the method meta data * @param toCallMethod * The method that contains the MetaData * @param toCallController * The Controller which contains the method * @return {any} * The metadata as arraz */ export declare const getMethodMetadata: (toCallMethod: string, toCallController: IController) => any[]; /** * Check if execution method exist in the Controller * @param requestEvent * The Request Event * @param controller * The controller * @return {boolean} * true if method exist, otherwise false */ export declare const isMethodExistInController: (requestEvent: IAwsRequestEvent, controller: IController) => boolean; /** * Get the method metadata for example for the params and query parameter * @param controller * The controller for the target * @return {any} * Metadata as array; can be empty */ export declare const getControllerMetadata: (controller: IController) => Object[]; /** * Get the method metadata for example for the params and query parameter * @param controller * The controller for the target * @return {any} * Metadata as array; can be empty */ export declare const getModelForController: (controller: IController) => any; /** * Get the arguments for the callen method from requestEvent * @param awsRequestEvent * The request Event * @param toCallMethodName * the method from getting the arguments * @param toCallController * The controller which contains the execution method * @returns {string} * return arguments for the method */ export declare const parseArguments: (awsRequestEvent: IAwsRequestEvent, toCallMethodName: string, toCallController: IController) => String[];