import { Container } from "inversify"; import { ApiApp } from "./ApiApp"; import { AppConfig } from "./model/AppConfig"; import { LambdaApiHandler, LambdaApiRequest } from "./model/ApiRequest"; /** * Impementation of the `ApiApp` class that handles native * AWS Lambda requests and can be used to provide a Lambda * function handler. * * The `run` method is the function handler entrypoint. */ export declare class ApiLambdaApp extends ApiApp { /** * Create a new lambda app. * * @param controllersPath (Optional) Paths to the directories that contain controller `js` files. * Required if the default `Container` is used, or the provided * `Container` instance has its `autobind` flag enabled. * Ignored if the provided `Container` instance has its `autobind` flag enabled. * @param appConfig (Optional) Application config to pass to `lambda-api`. * @param autoInjectionEnabled (Optional) Enable auto injection in IOC container, defaults to new `true`. * @param appContainer (Optional) `InversifyJS` IOC `Container` instance which can * build controllers and error interceptors, defaults to new `Container` using * `autobind` flag set to `true` if `autoInjectionEnabled` is `true`. */ constructor(controllersPath?: string[], appConfig?: AppConfig, autoInjectionEnabled?: boolean, appContainer?: Container); /** * Process the passed lambda event and context as a synchronous HTTP request. * * @param event API Gateway or ALB request. * @param context Request context. * @returns The response. */ run(event: LambdaApiRequest, context: any): Promise; /** * Create a native AWS Lambda handler that passes the raw * HTTP event directly through to `lambda-api`. * * @returns Lambda function handler. */ createHandler(): LambdaApiHandler; }