// Copyright 2017 - 2026 will Farrell, Luciano Mammino, and Middy contributors. // SPDX-License-Identifier: MIT import type middy from "@middy/core"; import type { APIGatewayEvent, APIGatewayProxyEventMultiValueQueryStringParameters, APIGatewayProxyEventPathParameters, APIGatewayProxyEventQueryStringParameters, APIGatewayProxyEventV2, } from "aws-lambda"; // TODO: Import from 'aws-lambda' when @types/aws-lambda adds VPC Lattice types // https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/aws-lambda export interface VPCLatticeEvent { body: string | null; headers: { [name: string]: string | undefined }; is_base64_encoded: boolean; isBase64Encoded: boolean; method: string; path: string; pathParameters: APIGatewayProxyEventPathParameters; query_string_parameters: APIGatewayProxyEventQueryStringParameters | null; queryStringParameters: APIGatewayProxyEventQueryStringParameters; } export type RequestEvent = APIGatewayEvent | APIGatewayProxyEventV2; export type Event = T extends APIGatewayEvent ? APIGatewayEvent & { multiValueQueryStringParameters: APIGatewayProxyEventMultiValueQueryStringParameters; pathParameters: APIGatewayProxyEventPathParameters; queryStringParameters: APIGatewayProxyEventQueryStringParameters; } : T extends APIGatewayProxyEventV2 ? APIGatewayProxyEventV2 & { pathParameters: Record; queryStringParameters: Record; } : never; declare function httpEventNormalizer< EventType extends RequestEvent = RequestEvent, >(): middy.MiddlewareObj, unknown, Error>; export default httpEventNormalizer;