import LambdaModel from "./lambda-model"; export declare class ApiGateway { private event; private context; private queryParams; private pathParams; private method; private headers; private body; private stageVariables; private static pathConfig; static queryParamsAlias: any; static pathParamsAlias: any; static methodAlias: any; static headersAlias: any; static bodyAlias: any; static stageVariablesAlias: any; static addHttpVerbMethod(name: string, target: any, methodName: any): void; static addAnyMethod(target: any, method: any): void; static addHandlerMethod(target: any, method: any): void; static addPostConstructorMethod(target: any, method: any): void; static addPathMethod(pattern: string, target: any, method: any): void; static addPathParam(name: string, target: any, methodName: any, index: number): void; static addHeadersProperty(target: any, property: any): void; static addQueryParamsProperty(target: any, property: any): void; static addMethodProperty(target: any, property: any): void; static addBodyProperty(target: any, property: any): void; static addStageVariablesProperty(target: any, property: any): void; static addPathParamsProperty(target: any, property: any): void; private static getHttpVerbMethods(lambda, method); private static methodHasPath(lambda, methodName); static setPathConfig(config: any): void; executeHttpRequest(lambda: LambdaModel): void; private static executeAnyRequest(lambda); private getObjectValue(object, name); private getAliasValue(event, alias); private setQueryParams(); private setPathParams(); private setMethod(); private setHeaders(); private setBody(); private setStageVariables(); private resetHttpVariables(); prepareHttpRequestVariables(event: any, context: any): void; private static getHttpVerbsByMethodName(lambda, methodName); private static verbExists(verbs, verb); private static getArgs(keys, pathToRegEx, lambda, path); private getResourcePath(); private executePathLambdaMethod(pathToRegEx, lambda, path); executePath(lambda: LambdaModel): boolean; private getHeaders(lambda); private getQueryParams(lambda); private getPathParams(lambda); setLambdaProperties(lambda: LambdaModel): void; } export declare function Get(): (target: Object, methodName: string) => void; export declare function Post(): (target: Object, methodName: string) => void; export declare function Put(): (target: Object, methodName: string) => void; export declare function Patch(): (target: Object, methodName: string) => void; export declare function Options(): (target: Object, methodName: string) => void; export declare function Delete(): (target: Object, methodName: string) => void; export declare function Head(): (target: Object, methodName: string) => void; export declare function Any(): (target: Object, methodName: string) => void; /** * "alias" will be the alternative name defined in Body Mapping Templates */ export declare function Headers(alias?: any): (target: Object, propertyKey: string) => void; export declare function QueryParams(alias?: any): (target: Object, propertyKey: string) => void; export declare function PathParams(alias?: any): (target: Object, propertyKey: string) => void; export declare function Method(alias?: any): (target: Object, propertyKey: string) => void; export declare function Body(alias?: any): (target: Object, propertyKey: string) => void; export declare function StageVariables(alias?: any): (target: Object, propertyKey: string) => void; export declare function Path(pattern: string): (target: Object, propertyKey: string) => void; export declare function PathConfig(config: any): (target: any) => void; export declare function PathParam(name: string): (target: Object, propertyKey: string, index: number) => void;